Tomcat更换SSL证书方法-key和crt文件转换为jks

PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。 常用的有:  
1. PKCS#7 Cryptographic Message Syntax Standard 
2. PKCS#10 Certification Request Standard  
3. PKCS#12 Personal Information Exchange Syntax Standard  
X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。  
1. PKCS#7 常用的后缀是: .P7B .P7C .SPC 
2. PKCS#12 常用的后缀有: .P12 .PFX
3. PKCS#10: .p10是证书请求




.DER = 扩展名DER用于二进制DER编码的证书。这些证书也可以用CER或者CRT作为扩展名。比较合适的说法是“我有一个DER编码的证书”,而不是“我有一个DER证书”。
.PEM = 扩展名PEM用于ASCII(Base64)编码的各种X.509 v3 证书。文件开始由一行"—– BEGIN …“开始。
.CRT = 扩展名CRT用于证书。证书可以是DER编码,也可以是PEM编码。扩展名CER和CRT几乎是同义词。这种情况在各种unix/linux系统中很常见。
CER = CRT证书的微软型式。可以用微软的工具把CRT文件转换为CER文件(CRT和CER必须是相同编码的,DER或者PEM)。扩展名为CER的文件可以被IE识别并作为命令调用微软的cryptoAPI(具体点就是rudll32.exe cryptext.dll, CyrptExtOpenCER),进而弹出一个对话框来导入并/或查看证书内容。
.KEY = 扩展名KEY用于PCSK#8的公钥和私钥。这些公钥和私钥可以是DER编码或者PEM编码。
CRT文件和CER文件只有在使用相同编码的时候才可以安全地相互替代。


X.509 PAM 编码(Base64)的后缀是: .PEM .CER .CRT
pfx/p12用于存放个人证书/私钥,他通常包含保护密码,2进制方式 
.csr 证书请求文件


jks(java key store):  java用的存储密钥的容器。可以同时容纳n个公钥或私钥,后缀一般是.jks或者.keystore或.truststore等,千奇百怪。  不管什么后缀,它就是一个容器,各个公司或机构叫法不同而已。比如把只包含"受信任的公钥"的容器存成.truststore文件等。  用jdk\bin目录下的keytool.exe对其进行查看,导入,导出,删除,修改密码等各种操作。 可以对jks容器加密码,输入正确才可以操作此容器中密钥。 


pfx:  和jks功能相同但文件格式不同,pfx是Windows和浏览器常用的。  可以用一些工具程序把pfx转化成jks格式供java程序使用(如银行只提供了pfx,但是我们想用httpclient模拟浏览器自动访问时)。 据说IE导出的pfx格式不标准,转化jks时往往报错,可以尝试用Netscape Navigator导入再导出,然后再转化。碰到过这样的情况。




PKCS#12是公钥加密标准,它规定了可包含所有私钥、公钥和证书。其以二进制格式存储,也称为 PFX 文件,在windows中可以直接导入到密钥区,注意,PKCS#12的密钥库保护密码同时也用于保护Key。


key and crt -> jks:  http://baike.soso.com/h481267.htm?sp=l521305
1. openssl pkcs12 -export -export -chain -CAfile gd_bundle.crt  -in server.crt -inkey server.key -out server.p12 -name "server" 
2. keytool -rfc -list -keystore server.p12 -storetype pkcs12 
3. keytool -importkeystore -v -srckeystore  server.p12 -srcstoretype pkcs12 -srcstorepass changeit -destkeystore server.keystore -deststoretype jks -deststorepass changeit

4. keytool -list -keystore server.keystore



在Jboss中添加Godaddy的SSL域名证书的方法: http://heylinux.com/archives/1334.html



你可能感兴趣的:(Java,网络/通信,测试运维)