2012-01-17 21 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命令)。