Как автоматически установить самозаверяющий сертификат в хранилище доверенных корневых центров сертификации IE - PullRequest
2 голосов
/ 10 марта 2011

Я создал самозаверяющий сертификат, но браузер сообщает мне: «Этот корневой сертификат CA не является доверенным. Чтобы включить доверие, установите этот сертификат в хранилище доверенных корневых центров сертификации».

Я сделал, зайдя вIE -> Свойства обозревателя -> Содержимое -> Сертификаты -> и т. Д. Мне фактически пришлось экспортировать самозаверяющий сертификат, а затем импортировать его в сертификат доверенного корня.Только после того, как сертификат был помещен в хранилище ROOT на компьютере пользователя, IE не отображал никаких ПРЕДУПРЕЖДЕНИЙ.

Это будет развернуто в производственной среде, поэтому недопустимо, чтобы пользователи вручную выполняли вышеуказанные действия.

Как я могу автоматически сделать это?Я просто хочу, чтобы они приняли и у меня не было этой «ошибки сертификата», а строка URL-адреса стала красной в IE.

Я использую Tomcat 5.5.Я также выполнил те же действия, что и в руководстве Tomcat SSL How To Tutorial http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html

Заранее спасибо.

Ответы [ 3 ]

4 голосов
/ 13 марта 2011

Java 6 предоставляет поставщика криптографии SunMSCAPI для доступа к API библиотек криптографии Windows.Этот провайдер реализует хранилище ключей «Windows-Root», содержащее все сертификаты доверенных якорей.

В этот склад ключей можно вставить сертификат.

KeyStore root = KeyStore.getInstance("Windows-ROOT");
root.load(null);
/* certificate must be DER-encoded */
FileInputStream in = new FileInputStream("C:/path/to/root/cert/root.der");
X509Certificate cacert = (X509Certificate)CertificateFactory.getInstance("X.509").generateCertificate(in);
root.setCertificateEntry("CACert Root CA", cacert);

Пользователь получит запрос на подтверждение,Если операция отменяется пользователем, генерируется KeyStoreException.

Некоторые технические замечания о провайдере можно найти здесь: http://download.oracle.com/javase/6/docs/technotes/guides/security/SunProviders.html#SunMSCAPI

1 голос
/ 10 марта 2011

Прежде всего, возможность сделать это поставит под угрозу безопасность пользователя, поэтому это будет дыра в безопасности, поэтому нет, простого способа сделать это нет.

Далее, у разных программ разные хранилища сертификатов.Браузеры Microsoft и Chrome используют хранилища CryptoAPI, Firefox имеет свой собственный магазин (Chrome также может использовать FireAx один AFAIK).У программного обеспечения Adobe есть собственный магазин (в дополнение к CryptoAPI).

1 голос
/ 10 марта 2011

Подумай об этом. Если бы это было возможно, что помешало бы любому мошенническому сайту сделать то же самое и сделать так, чтобы его сайту доверяли? Все дело в том, что пользователь ДОЛЖЕН одобрить установку сертификата.

...