前言
Resin目前最新的版本还是4.0 (4.0.49),使用Java EE6,在Resin上部署证书,一般有两种方式,首先我们推荐采用Openssl方式,不仅因为Openssl模式下的速度更快,而且Openssl对TLS的支持更好,安全性高;另外一种JSSE方式,不仅速度慢,而且JSSE6仅支持TLS1.0。
我们在下面会分别介绍这2种模式。
查找中间证书
如果采用Openssl模式部署证书,为了确保兼容到所有浏览器,我们必须部署中间证书,如果不这么做,虽然安装过程并不会报错,但可能导致Android系统,Chrome 和 Firefox等浏览器无法识别。请到 ,输入您的Server.cer,然后下载中间证书,请将中间证书保存为Chain.cer。
制作JKS文件
JKS(Java Keystroe)文件是我们后面用来部署JSSE模式下所需要的文件。 请将收到的Server.cer和Server.key文件,到 合成一个新的JKS文件。在这里需要设置2个参数:
- 别名:导入到JKS中的密钥对的索引名称,可以设置为“ssl”。
- 密码:访问JKS的密码。
部署SSL证书
Openssl模式
打开Resin.xml,增加下面配置:
... keys/server.cer keys/server.key my-password keys/chain.cer ALL:!ADH:+HIGH:+MEDIUM:!NULL:!DH:!RC4:!DES" tlsv1 tls1.1 tls1.2
说明:
- <certificate-file>:服务器证书文件。
- <certificate-key-file>:服务器证书的私钥文件。
- <password>:服务器证书私钥文件的密码,如果原私钥文件没有密码,可以运行如下openssl命令:
openssl rsa -in server.key -des -out serverpass.key -passout pass:123456
- <certificate-chain-file>:中间证书文件。
- <cipher-suite>:加密套件设定。
- <protocol>:协议说明,一般只打开TLS 1 , TLS 1.1, TLS 1.2协议。
JSSE模式
打开resin.xml,增加以下参数:
... jks keys/server.keystore changeit -sslv3
说明:
- <key-store-type>:设定Keystore文件的类型,这里一般都设为jks。
- <key-store-file>:JKS文件名。
- <password>:JKS文件的密码。
- <protocol>:支持的协议。