Https双向证书申请

来源:互联网 发布:网络安全法的争议内容 编辑:程序博客网 时间:2024/06/07 06:21

生成服务端证书


执行

keytool -genkey -keyalg RSA -dname "cn=localhost,ou=sango,o=none,l=china,st=beijing,c=cn" -alias server -keypass password -keystore server.jks -storepass password -validity 3650

在D盘生成server.jks服务器端文件。


生成客户端证书


执行

keytool -genkey -keyalg RSA -dname "cn=sango,ou=sango,o=none,l=china,st=beijing,c=cn" -alias custom -storetype PKCS12 -keypass password -keystore custom.p12 -storepass password -validity 3650

最后在D盘生成custom.p12客户端文件,注意客户端的cn可以为任意值。


信任配置


  由于是双向SSL认证,服务器必须要信任客户端证书,因此,必须把客户端证书添加为服务器的信任认证。由于不能直接将PKCS12格式的证书库导入,我们必须先把客户端证书导出为一个单独的CER文件,使用如下命令,先把客户端证书导出为一个单独的cer文件:
首先:将客户端文件导出成custom.cer客户端证书文件

keytool -export -alias custom -file custom.cer -keystore custom.p12 -storepass password -storetype PKCS12 -rfc

其次:将客户端证书添加到服务器中。

keytool -import -v -alias custom -file custom.cer -keystore server.jks -storepass password

这里写图片描述

通过keytool -list -v -keystore server.jks -storepass password 可以查看证书内容

参数说明:

-genkey         在用户主目录中创建一个默认文件".jks",还会产生一个server_jks_cennavi的别名,server_jks_cennavi中包含用户的公钥、私钥和证书-alias             产生别名-keystore      指定密钥库的名称(产生的各类信息将不在.jks文件中-keyalg          指定密钥的算法    -validity          指定创建的证书有效期多少天-keysize        指定密钥长度-storepass   指定密钥库的密码-keypass      指定别名条目的密码-dname        指定证书拥有者信息
0 0
原创粉丝点击