2013-11-26 3 views
1

У меня есть апплет, который подписывается с помощью следующей цепочки сертификатов:Что такое JCE Code Signing CA?

Softkey-Kazakhstan (JCE Code Signing CA) 
    Subject: CN=Softkey-Kazakhstan,OU=Java Software Code Signing,O=Sun Microsystems Inc 
    Issuer: CN=JCE Code Signing CA,OU=Java Software Code Signing,O=Sun Microsystems Inc,L=Palo Alto,ST=CA,C=US 

JCE Code Signing CA (JCE Code Signing CA) 
    Subject: CN=JCE Code Signing CA,OU=Java Software Code Signing,O=Sun Microsystems Inc,L=Palo Alto,ST=CA,C=US 
    Issuer: CN=JCE Code Signing CA,OU=Java Software Code Signing,O=Sun Microsystems Inc,L=Palo Alto,ST=CA,C=US 

Этот апплет содержит реализацию пользовательских CryptoProvider и некоторые дополнительные вспомогательные банки. Он должен иметь возможность работать с локальными файлами и USB-устройствами.

Java жалуется, что этот сертификат не знает. Корневой сертификат, кажется, является законным сертификатом от Sun, используемого для подписи кода, и Java должен знать об этом, но это не по какой-то причине.

Что мне делать, поэтому java не будет жаловаться на этот апплет? Должен ли я извлечь этот корневой сертификат JCE Code Signing CA и установить его в $ JRE/lib/security/cacerts?

ответ

1

Хороший вопрос. Этот сертификат самонастраивается и не является официальным в Java tursted CA (cacerts). Я обнаружил, что криптографические расширения работают, даже если срок действия этого сертификата истек (не работает без подписания). Поэтому я полагаю, что JCE требует, чтобы криптозащитники подписывались с CA JCE Code Signing CA, но не заботятся о действительности этого сертификата (возможно, он проверяется внутри JCE без cacerts). Я также понимаю, что это не так. Проблема заключается в javaws (JNLP distribution), который требует, чтобы банки были подписаны с доверенной цепочкой. Также подчеркивается, что Oracle о сертификации JCE Code Signing подтверждает, что «сертификат не будет работать для целей развертывания» (см.: here). Но что, если он должен существовать в распределении? Как я сказал: хороший вопрос.

РЕДАКТИРОВАТЬ: Выводы: 1. Криптозащитники должны быть подписаны с «JCE Code Signing CA» не обязательно. 2. Если вы распространяете банку, подписанную с «ЦСД ЦС», сертификат должен быть действительным. Знак JCE недостаточно для распространения, но если он существует, он должен быть действительным.

Смежные вопросы