美文网首页
Https证书生成步骤

Https证书生成步骤

作者: 9dfaf364d57f | 来源:发表于2018-07-10 13:25 被阅读111次

目录:
1、生成密钥
2、签发证书
3、生成安卓使用的证书集bks(cer转bks)
4、jks转bks(双向校验需要)
5、cer转jks(tls服务器需要)

1、生成密钥

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

keytool -genkey -alias zinc_server -keyalg RSA -keystore zinc_server.jks -validity 3600 -storepass 123456

参数说明:

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

在没有指定生成位置的情况下,keystore会存在用户系统默认目录,如:对于window xp系统,会生成在系统的C:/Documents and Settings/UserName/文件名为“.keystore”

  • alias:产生别名
  • keystore:指定密钥库的名称
  • validity:指定创建的证书有效期多少天
  • storepass:指定密钥库的密码(获取keystore信息所需的密码)
  • keyalg:指定密钥的算法(如:RSA 、DSA;如果不指定默认采用DSA)
更多的参数:
  • keysize:指定密钥长度
  • keypass:指定别名条目的密码(私钥的密码)
  • dname:指定证书拥有者信息

例如: "CN=名字与姓氏,OU=组织单位名称,O=组织名称,L=城市或区域名称,ST=州或省份名称,C=单位的两字母国家代码"

  • list :显示密钥库中的证书信息
keytool -list -keystore 指定keystore -storepass 密码
  • v:显示密钥库中的证书详细信息
keytool -list -v -keystore 指定keystore -storepass 密码
  • export:将别名指定的证书导出到文件
keytool -export -alias 需要导出的别名 -keystore 指定keystore -file 指定导出的证书位置及证书名称 -storepass 密码
  • file 参数指定导出到文件的文件名
  • delete 删除密钥库中某条目
keytool -delete -alias 指定需删除的别  -keystore 指定keystore  -storepass 密码
  • printcert 查看导出的证书信息
keytool -printcert -file zinc_server.cer(换成你的证书)
  • keypasswd 修改密钥库中指定条目口令
keytool -keypasswd -alias 需修改的别名 -keypass 旧密码 -new  新密码  -storepass keystore密码  -keystore sage
  • storepasswd 修改keystore口令
keytool -storepasswd -keystore 需修改口令的keystore -storepass 原始密码 -new 新密码
  • import 将已签名数字证书导入密钥库
keytool -import -alias 指定导入条目的别名 -keystore 指定keystore -file 需导入的证书

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,重新再试一次即可。

4、jks转bks

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

相关文章

  • Apache配置https

    Apache Apache命令 Apache开启https SSL生成证书:步骤1:生成密钥 步骤2: 生成证书请...

  • ktor配置https证书

    配置步骤 application.conf中配置https端口和证书相关信息 生成证书可以手工生成证书或找CA证书...

  • Https证书生成步骤

    目录:1、生成密钥2、签发证书3、生成安卓使用的证书集bks(cer转bks)4、jks转bks(双向校验需要)5...

  • 密码学(下)

    一、证书生成步骤

  • Https 生成证书

    1.生成证书 生成jks证书 说明:-alias :证书的别名-keypass :秘钥密码-validity :...

  • 申请数字证书和nginx 配置https过程

    主要步骤 生成csr文件 去startcom生成一个证书。https有多种级别,本文走的是最低级别:验证域名 配置...

  • ElasticSearch Rest High Level Cl

    ElasticSearch服务端配置步骤: 生成Elasticsearch所需的证书 生成ca证书 生产es节点和...

  • Java 生成 Https 证书

    简介 通过keytool后缀为.jks的https证书,用于调试项目使用。 实现 [生成] - 命令生成.jks文...

  • Https[证书生成]

    TLS:(Transport Layer Security)为安全传输层协议,所以属于传输层;SSL与TLS的区别...

  • RSA加密(下)

    一. 证书生成步骤 使用RSA加密(上)[https://www.jianshu.com/p/9c3b55e554...

网友评论

      本文标题:Https证书生成步骤

      本文链接:https://www.haomeiwen.com/subject/etdfpftx.html