2012-01-17 75 views
4

我使用的是位於Netty的示例代碼文件夾中的SSL例如:加載認證的SSL證書到Netty的發動機

在/ usr/JAVA/jdk1:

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()); 

我使用生成我自己的密鑰庫.6.0_25 /斌/密鑰工具-genkey -keystore SrvKeystore -keyalg RSA

而且一切是偉大的工作!

不過,我現在想用(https://secure.comodo.com/)由科摩多提供給我一個正式的證書

他們顯然提供了3個文件類型:.csr文件,.CRT和.KEY

請告知哪些文件應該指向keystore.file.path和keystore.file.password

也許我需要做點別的?

回答

2

將溶液在此 link

提供
5

Comodo以最適合網絡服務器(如Apache和nginx)的格式向您提供證書和私鑰。

有解決這個問題的方法有兩種:

(1)導入證書鏈(.CRT)和私鑰(.KEY)到JKS或PKCS 12密鑰存儲(使用密鑰工具或OpenSSL的)。 (2)使用java CertificateFactory讀取證書和bouncycastle PEMReader以讀取私鑰,然後將其包裝在您自己的密鑰管理器中(您可以將其傳遞給SSLContext)。

0

導入一個CA的授權證書所需的基本信息可以在這裏找到http://docs.oracle.com/javase/1.5.0/docs/tooldocs/solaris/keytool.html

導入證書

從文件導入證書,使用-import命令,如

keytool -import -alias joe -file jcertfile.cer 

此示例命令在文件jcertfile.cer中導入證書並將其存儲在由別名joe標識的密鑰存儲庫條目中。

您導入證書的原因有兩個:

  1. 將其添加到受信任的證書列表,
  2. 或 導入從CA收到的證書回覆爲提交證書籤名的結果向該CA請求(請參閱-certreq命令)。