Проста відповідь на це полягає в тому, що майже кожен додаток обробляє це по-різному.
Також OpenSSL та GNUTLS (найбільш широко використовувані бібліотеки обробки сертифікатів, що використовуються для обробки підписаних сертифікатів) поводяться по-різному в їх обробці certs, що також ускладнює проблему. Також операційні системи використовують різні механізми для використання «кореневого ЦЗ», що використовується більшістю веб-сайтів.
Це вбік, подаючи Debian як приклад. Встановіть ca-certificates
пакет:
apt-get install ca-certificates
Потім ви копіюєте загальнодоступну половину свого непідтвердженого сертифіката ЦС (той, який ви використовуєте для підписання вашої КСВ) в каталог сертифікатів ЦС (як корінь):
cp cacert.pem /usr/share/ca-certificates
І отримайте його для відновлення каталогу із включеним сертифікатом, запустіть як root:
dpkg-reconfigure ca-certificates
і виберіть ask
опцію, перейдіть до свого сертифіката, позначте його для включення та виберіть Добре.
Більшість браузерів використовують власну базу даних CA, тому такі інструменти, як, наприклад certutil
, потрібно використовувати для зміни свого вмісту (на Debian, який надається libnss3-tools
пакетом). Наприклад, із Chrome ви запускаєте щось за рядками:
certutil -d sql:$HOME/.pki/nssdb -A -t "C,," -n "My Homemade CA" -i /path/to/CA/cert.file
Firefox дозволить вам переглядати сертифікат на диску, розпізнавати його файл сертифіката, а потім дозволяє імпортувати його до списку Root CA.
Більшість інших команд, таких як curl
приймати перемикачі командного рядка, які можна використовувати для вказівки на ваш CA,
curl --cacert /path/to/CA/cert.file https://...
або взагалі скасувати перевірку SSL
curl --insecure https://...
Решті знадобиться індивідуальне дослідження, якщо ca-certificates
подібний трюк не сортуватиме його саме для цієї програми.