Проста відповідь на це полягає в тому, що майже кожен додаток обробляє це по-різному.
Також 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подібний трюк не сортуватиме його саме для цієї програми.