2012-01-17 1 views
4

Я использую пример SSL, расположенный в папке Пример кода Нетти:Загрузка удостоверять сертификат SSL в двигатель Нетти

String keyStoreFilePath = System.getProperty("keystore.file.path"); 
String keyStoreFilePassword = System.getProperty("keystore.file.password"); 

KeyStore ks = KeyStore.getInstance("JKS"); 
FileInputStream fin = new FileInputStream(keyStoreFilePath); 
ks.load(fin, keyStoreFilePassword.toCharArray()); 

// Set up key manager factory to use our key store 
// Assume key password is the same as the key store file 
// password 
KeyManagerFactory kmf = KeyManagerFactory.getInstance(algorithm); 
kmf.init(ks, keyStoreFilePassword.toCharArray()); 

Я создал свой собственный хранилище ключей с помощью:

/USR/Java/JDK1 .6.0_25/бен/Keytool -genkey -keystore SrvKeystore -keyalg RSA

И все работает здорово !!

Однако теперь я хочу использовать официальную справку, предоставленную мне Comodo (https://secure.comodo.com/)

Они, очевидно, предоставить 3 файлы типа: .csr, .crt и .key

Просьба сообщить, какой файл должен указывать к keystore.file.path и к keystore.file.password

Может, мне нужно что-то сделать?

ответ

5

Comodo предоставляет вам сертификат и закрытый ключ в формате, наиболее удобном для веб-серверов (например, Apache и nginx).

Есть два пути решения этой проблемы:

(1) Импорт цепочки сертификатов (.crt) и закрытый ключ (.key) в JKS или PKCS 12 хранения ключей (с использованием Keytool или OpenSSL).

(2) Используйте java CertificateFactory, чтобы прочитать сертификат и bouncycastle PEMReader, чтобы прочитать закрытый ключ, а затем обернуть его в свой собственный менеджер ключей (который вы можете передать в SSLContext).

0

Основная информация, необходимая для импорта CA авторизованного сертификата доступен здесь http://docs.oracle.com/javase/1.5.0/docs/tooldocs/solaris/keytool.html

Импорта сертификатов

Чтобы импортировать сертификат из файла, используйте -Ввозную команду, как в

keytool -import -alias joe -file jcertfile.cer 

Эта команда образца импортирует сертификат (ы) в файл jcertfile.cer и сохраняет его в записи хранилища ключей, идентифицируемой псевдонимом joe.

Вы импортировать сертификат по двум причинам:

  1. , чтобы добавить его в список доверенных сертификатов,
  2. или импортировать сертификат ответ, полученный из ЦС в результате подачи на подпись сертификата Запрос (см. Команду -certreq) к этому ЦС.