https证书生成步骤-LMLPHP

https证书生成步骤:

1、生成密钥

生成密钥(即jks文件),此处的代码是为了生成一个“zinc_server.jks”的密钥。

-alias zinc_server -keyalg RSA -keystore zinc_server.jks -validity 3600 -storepass 123456
登录后复制

参数说明:

genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书

alias:产生别名

keystore:指定密钥库的名称

validity:指定创建的证书有效期多少天

storepass:指定密钥库的密码(获取keystore信息所需的密码)

keyalg:指定密钥的算法(如:RSA 、DSA;如果不指定默认采用DSA)

更多的参数:

keysize:指定密钥长度

keypass:指定别名条目的密码(私钥的密码)

dname:指定证书拥有者信息

list :显示密钥库中的证书信息

keytool -list -keystore 指定keystore -storepass 密码
登录后复制

v:显示密钥库中的证书详细信息

keytool -list -v -keystore 指定keystore -storepass 密码
登录后复制

2、签发证书

这里使用了第1小节的zinc_server.jks密钥进行签发zinc_server.cer证书

keytool -export -alias zinc_server -file zinc_server.cer  -keystore zinc_server.jks  -storepass 123456
登录后复制

3、生成安卓使用的证书集bks

在安卓中需要使用bks格式的证书集,所以在安卓中使用的话还需要将第2小节生成的证书进行转换。使用的如下命令

keytool -importcert -file zinc_server.cer -keystore zinc_server.bks -storetype BKS -provider org.bouncycastle.jce.provider.BouncyCastleProvider
登录后复制

使用了如上命令,有可能你会遇到找不到BouncyCastleProvider这个类的异常,这个时候你需要稍微配置下环境

进入到bouncycastle官网下载自己对应的jdk的版本。将下载好的jar包放到你的jdk安装的路径下/Contents/Home/jre/lib/ext,重新再试一次即可。

https证书生成步骤-LMLPHP

4、jks转bks

这一小节的内容,是因为有些app需要进行双向校验,需要将客户端的密钥放在app中。

以上就是https证书生成步骤的详细内容,更多请关注Work网其它相关文章!

09-09 17:01