У веб-переглядачах є список надійних сертифікатів "сертифікаційного органу" (CA). Якщо сертифікат сервера підписаний одним із цих сертифікатів CA та належним чином сформований, ви не отримаєте попередження SSL.
Багато браузерів постачаються з багатьма поширеними сертифікатами ЦС, такими як Verisign, Thawte і т.д.
Як і створити власний сертифікат сервера з власним підписом, ви можете створити власний сертифікат сертифіката CA. Потім ви можете використовувати це для підписання вашого сертифіката сервера. Якщо ваш КА не надається відомою компанією, чого б не було, якщо це той, який ви створили, його доведеться явно імпортувати на стороні сервера.
Я раніше xca
це робив. Він має шаблони для ЦО та HTTP-серверів. Процедура така:
- Створіть приватний ключ для вашого ЦА
- Створіть CA, який підписався самостійно, використовуючи цей ключ, використовуючи шаблон "CA"
- Створіть приватний ключ для вашого проксі-сервера
- Створіть "запит на підписання сертифіката" (CSR) за допомогою другого ключа, посилаючись на CA, який ви тільки що зробили.
- "Підпишіть" CSR, і у вас буде сертифікат проксі-сервера, який посилається на ваш власний CA.
Потім вам потрібно буде експортувати (як файл, якщо використовується xca
) сертифікат CA (але, звичайно, не включати приватний ключ). A .pem
буде створено, але ви можете змінити розширення на .crt
. Коли користувач натисне на це, йому буде запропоновано встановити Firefox та Internet Explorer, а можливо й інші основні браузери. Що стосується автоматичної установки цього .crt, ви можете:
- використовувати групову політику на IE
- направити користувачів на сторінку вступу з проханням завантажити / встановити .crt, якщо вони хочуть уникнути попереджень.
Потім ви можете використовувати функції експорту на сертифікаті сервера HTTP (експортувати як приватний ключ, так і сертифікат на стороні сервера) для розміщення вашого проксі-сервера.
/etc/ssl/certs/ssl-cert-snakeoil.pem
(це те, що пакет Debianssl-cert
створює для вас). Ми копіюємо його на хост A і називаємо його/etc/ssl/certs/host-B.pem
(оскільки у цього хоста, можливо, вже єssl-cert-snakeoil.pem
). Тоді ми біжимоln -s /etc/ssl/certs/host-B.pem $(openssl x509 -noout -hash -in /etc/ssl/certs/host-B.pem)
.