1、O:组织名称,如:公司英文全称L:城市或地区名称,如:BeijingST:州或省份名称,如:C:单位的两字母国家代码,如:CN2、 验证生成的服务器密钥(库):keytool -list -v -keystore server.jks -storepass 1234563、 为步骤1生成的服务器密钥(库)创建自签名的证书:keytool -selfcert -alias server -keystore server.jks -storepass 1234564、 验证生成的服务器密钥(库):5、 导出自签名证书:keytool -export -alias server -keystore
2、server.jks -file server.cer -storepass 123456说明:此证书为后续要导入到浏览器中的受信任的根证书颁发机构。6、 生成客户端密钥(库):keytool genkey命令默认生成的是keystore文件,但为了能顺利导入到IE或其他浏览器中,文件格式应为PKCS12。稍后,此P12文件将导入到IE或其他浏览器中。keytool -genkey -alias client -keyalg RSA -keysize 2048 -validity 3650 -dname -storetype PKCS12 -keypass 123456 -keystore c
3、lient.p12 -storepass 123456要签名的域名或IP(特别说明:这里是客户端机构的域名或IP)7、 提取客户端密钥的公钥:只有客户端密钥库文件还不行,还需要一个证书文件。毕竟证书文件才是直接提供给外界的公钥凭证,因此需要将客户端密钥库文件中的公钥导入到某个证书文件中。keytool -export -alias client -keystore client.p12 -storetype PKCS12 -rfc -file client.cer -storepass 1234568、 将客户端密钥库的公钥导入到服务端密钥库中:keytool -import -v -file
4、 client.cer -keystore server.jks -storepass 1234569、 验证生成的服务器密钥(库):验证步骤8的公钥是否导出成功。二、 证书导入:1、 导入客户端密钥(库):a) 对于IE浏览器,选择Internet选项,则显示如下:b) 点击证书按钮,显示如下:c) 点击导入,显示如下:d) 点击下一步,显示如下:注意:选择文件时,必须确认文件格式为:e) 点击下一步,并在密码处键入,创建客户端密钥(库)时所键入的密码,这里是123456:f) 选择下一步,显示如下:选择将所有的证书放入下列存储(P)为:个人,然后点击下一步,显示如下:g) 单击完成,显示如
5、下:单击确定,自此客户端密钥(库)导入浏览器的操作完成。2、 导入服务器密钥(库)受信任的根证书:a) 对于IE浏览器,选择Internet选项,则显示如下:b) 点击证书按钮,显示如下:e) 选择要导入的文件,这里我们选择步骤5导出的server.cer证书,单击下一步显示如下:f) 选择奖所有的证书放入下列存储:收信人的根证书颁发机构,点击下一步,显示如下:h) 由于我们是一个自签名证书,所以windows会给出上面的安全提示,选择“是”,显示如下:单击确定,自此服务器密钥(库)受信任的根证书导入浏览器的操作完成。三、 服务器配置SSL:说明,服务器配置SSL因应用服务器不同,其配置方法也
6、不一样,这里仅以tomcat6为例:1、 配置双向SSL:a) 将服务器密钥(库)文件放置在%TOMCATE_HOME%/onf下:b) 修改配置文件%TOMCATE_HOME%/onf/server.xml具体配置如下:参数说明:clientAuth如果想要Tomcat为了使用这个socket而要求所有SSL客户出示一个客户证书,置该值为true。keystoreFile如果创建的keystore文件不在Tomcat认为的缺省位置(一个在Tomcat运行的home目录下的叫.keystore的文件),则加上该属性。可以指定一个绝对路径或依赖$CATALINA_BASE环境变量的相对路径。ke
7、ystorePass如果使用了一个与Tomcat预期不同的keystore(和证书)密码(changeit),则加入该属性。keystoreType如果使用了一个PKCS12 keystore,加入该属性。有效值是JKS和PKCS12。sslProtocolsocket使用的加密/解密协议。如果使用的是Sun的JVM,则不建议改变这个值。据说IBM的1.4.1版的TLS协议的实现和一些流行的浏览器不兼容。这种情况下,使用SSL。ciphers此socket允许使用的被逗号分隔的密码列表。缺省情况下,可以使用任何可用的密码。algorithm使用的X509算法。缺省为Sun的实现(SunX509
8、)。对于IBM JVMS应该使用ibmX509。对于其它JVM,参考JVM文档取正确的值。truststoreFile用来验证客户证书的trustStore文件。truststorePass访问trustStore使用的密码。缺省值是keystorePass。truststoreType如果使用一个不同于正在使用的KeyStore的TrustStore格式,加入该属性。2、 配置单向SSL:a) 修改配置文件%TOMCATE_HOME%/onf/server.xml具体配置如下:org.apache.coyote.http11.Http11Protocolfalse keystoreType=JKSb) 单向证书制作过程描述:一、 证书制作步骤1、2、3、4、5二、 证书导入步骤2四、 补充:对于证书的安装,在实际使用中一般可以提供一个连接允许用户下载证书。如下图红框所示:
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1