Https证书制作(转载)

如何生成CSR文件

假设申请的域名为demo.trustasia.com,公司名称为亚数信息科技,部门是IT部,公司在中国上海市。按照如下步骤生成CSR文件:

创建JKS秘钥库文件

运行下方命令行创建秘钥库文件:

keytool -genkeypair -alias mykey -keyalg RSA -keysize 2048 -keypass password -sigalg SHA256withRSA -dname "cn=demo.trustasia.com,ou=IT,o=亚数信息科技,l=Shanghai,st=Shanghai,c=CN" -validity 365 -keystore server.jks -storetype JKS -storepass password

说明

  • -alias mykeymykey参数为自定义别名。由于一个证书库中可以存放多张证书,通过别名来标识证书,别名可以是任意字符,例如:mykey。
  • -keyalg RSARSA参数为密钥算法。可选择的密钥算法有:RSA、ECC、DSA。但须注意,一些CA机构已不再颁发DSA算法的证书。
  • –keysize 20482048参数为密钥长度。keysize与keyalg存在默认对应关系:
    • keyalg为RSA算法,keysize最低为2048bit,最高为4096bit。keysize并非越长越高,还要考虑非对称算法的运算开销。
    • keyalg为DSA算法,keysize为1024bit
    • keyalg为ECC算法,keysize为256bit
  • -keypass passwordpassword参数为密钥对密码,该密码最好与storepass password中的password参数一致。
  • -validity 365365参数为证书有效期天数。
  • -keystore server.jks 中server.jks为密钥库名称。一般,默认在当前目录创建证书库,为绝对路径。
  • -storetype JKSJKS参数为证书库类型。可用的证书库类型有:JKS、PKCS12等。JDK 9之前版本为JKS。JDK 9及之后版本默认为PKCS12类型。

创建CSR文件

通过运行下方命令行,创建CSR文件:

keytool -certreq -keyalg RSA -alias mykey -keystore server.jks -storetype JKS -storepass password -file demo.trustasia.com.csr

说明-file demo.trustasia.com.csrdemo.trustasia.com.csr参数为CSR文件,用于提交至CA机构验证信息,从而获取证书。

 

第三方认证证书


  1. 本地的秘钥库生成请求认证的.csr文件,将该文件提交给第三方.第三方会给一个.cer的证书.
//生成秘钥库
keytool -genkey -alias clientkeystore -keyalg RSA -keystore root.jks
//生成csr
keytool -keystore clientkeystore -certreq -alias client -keyalg rsa -file client.csr
  1. 将第三方给的cer文件加入自己的秘钥库
keytool -import -keystore clientkeystore -file client.cer -alias client

 

总结说明:

生产服务器规定,jre不能导入第三方证书,所以在https请求的时候加载证书;经过查找资料未发现.cer证书在程序中直接加载的方法,.keystore是可以再程序运行时加载,所以想能不能直接将cer转keystore,经过查询发现:

keytool -import -file C:/Users/liujt/Desktop/xianjinbaika.cer -keystore C:/Users/liujt/Desktop/xianjinbaika.keystore

                                    目标文件                                                                          得到文件

得到转换后的keystore文件;提醒密码要牢记

 

 

你可能感兴趣的:(java)