1、SSL双向认证证书制作流程 ——含单向SSL 一、 证书制作: 1、 生成服务器密钥(库): keytool -genkey -alias server -keyalg RSA -keysize 2048 -validity 3650 -dname "CN=localhost,OU=DTY,O=BMC,L=Beijing,ST=Beijing,C=CN" -keypass 123456 -keystore server.jks -storepass 123456 CN:要签名[域名]或[IP](阐明:此处为要配备SSL服务器IP或域名) OU:组织单位名称,如:[公司注册简
2、称] O:组织名称,如:[公司英文全称] L:都市或地区名称,如:[Beijing] ST:州或省份名称,如:[Beijing] C:单位两字母国家代码,如:[CN] 2、 验证生成服务器密钥(库): keytool -list -v -keystore server.jks -storepass 123456 3、 为环节1生成服务器密钥(库)创立自签名证书: keytool -selfcert -alias server -keystore server.jks -storepass 123456 4、 验证生成服务器密钥(库): keytool -
3、list -v -keystore server.jks -storepass 123456 5、 导出自签名证书: keytool -export -alias server -keystore server.jks -file server.cer -storepass 123456 阐明:此证书为后续要导入到浏览器中受信任根证书颁发机构。 6、 生成客户端密钥(库): 阐明:keytool –genkey命令默认生成是keystore文献,但为了能顺利导入到IE或其她浏览器中,文献格式应为PKCS12。 稍后,此P12文献将导入到IE或其她浏览器中。 key
4、tool -genkey -alias client -keyalg RSA -keysize 2048 -validity 3650 -dname "CN=localhost,OU=DTY,O=BMC,L=Beijing,ST=Beijing,C=CN" -storetype PKCS12 -keypass 123456 -keystore client.p12 -storepass 123456 CN:要签名[域名]或[IP](特别阐明:这里是客户端机构域名或IP) OU:组织单位名称,如:[公司注册简称] O:组织名称,如:[公司英文全称] L:都市或地区名称,如:[Beij
5、ing] ST:州或省份名称,如:[Beijing] C:单位两字母国家代码,如:[CN] 7、 提取客户端密钥公钥: 只有客户端密钥库文献还不行,还需要一种证书文献。毕竟证书文献才是直接提供应外界公钥凭证,因而需要将客户端密钥库文献中公钥导入到某个证书文献中。 keytool -export -alias client -keystore client.p12 -storetype PKCS12 -rfc -file client.cer -storepass 123456 8、 将客户端密钥库公钥导入到服务端密钥库中: keytool -import -v -fi
6、le client.cer -keystore server.jks -storepass 123456 9、 验证生成服务器密钥(库): keytool -list -v -keystore server.jks -storepass 123456 阐明:验证环节8公钥与否导出成功。 二、 证书导入: 1、 导入客户端密钥(库): a) 对于IE浏览器,选取Internet选项,则显示如下: b) 点击证书按钮,显示如下: c) 点击导入,显示如下: d) 点击下一步,显示如下: 注意:选取文献时,必要确认文献格式为: e) 点击下一步,
7、并在密码处键入,创立[客户端密钥(库)]时所键入密码,这里是123456: f) 选取下一步,显示如下: 选取[将所有证书放入下列存储(P)]为:个人,然后点击下一步,显示如下: g) 单击完毕,显示如下: 单击拟定,自此[客户端密钥(库)]导入浏览器操作完毕。 2、 导入服务器密钥(库)受信任根证书: a) 对于IE浏览器,选取Internet选项,则显示如下: b) 点击证书按钮,显示如下: c) 点击导入,显示如下: d) 点击下一步,显示如下: e) 选取要导入文献,这里咱们选取环节5导出server.cer证书,单击下一步显示如
8、下: f) 选取奖所有证书放入下列存储:收信人根证书颁发机构,点击下一步,显示如下: g) 单击完毕,显示如下: h) 由于咱们是一种自签名证书,因此windows会给出上面安全提示,选取“是”,显示如下: 单击拟定,自此[服务器密钥(库)受信任根证书]导入浏览器操作完毕。 三、 服务器配备SSL: 阐明,服务器配备SSL因应用服务器不同,其配备办法也不同样,这里仅以tomcat6为例: 1、 配备双向SSL: a) 将服务器密钥(库)文献放置在[%TOMCATE_HOME%/onf]下: b) 修改配备文献[%TOMCATE_HOME%/onf/serv
9、er.xml]详细配备如下:
11、store,加入该属性。有效值是JKS和PKCS12。 sslProtocol socket使用加密/解密合同。如果使用是SunJVM,则不建议变化这个值。据说IBM1.4.1版TLS合同实现和某些流行浏览器不兼容。这种状况下,使用SSL。 ciphers 此socket容许使用被逗号分隔密码列表。缺省状况下,可以使用任何可用密码。 algorithm 使用X509算法。缺省为Sun实现(SunX509)。对于IBM JVMS应当使用ibmX509。对于其他JVM,参照JVM文档取对的值。 truststoreFile 用来验证客户证书trustStore文献。 trusts
12、torePass
访问trustStore使用密码。缺省值是keystorePass。
truststoreType
如果使用一种不同于正在使用KeyStoreTrustStore格式,加入该属性。有效值是JKS和PKCS12。
2、 配备单向SSL:
a) 修改配备文献[%TOMCATE_HOME%/onf/server.xml]详细配备如下:
13、Enabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="conf/server.jks" keystorePass="123456" keystoreType="JKS" />
b) 单向证书制作过程描述:
一、 证书制作——环节[1、2、3、4、5]
二、 证书导入——环节[2]
四、 补充:
对于证书安装,在实际使用中普通可以提供一种连接容许顾客下载证书。如下图红框所示:






