美文网首页
Java 生成 Https 证书

Java 生成 Https 证书

作者: 常扬 | 来源:发表于2019-03-13 16:46 被阅读0次

简介

通过keytool后缀为.jks的https证书,用于调试项目使用。

实现

[生成] - 命令生成.jks文件

  • 直接在命令行中键入下面的命令
keytool -genkeypair -alias certificatekey -keyalg RSA -validity 365 -keystore shfqkeystore.jks
  • 键入后会提下,分别录入即可:
输入密钥库口令:  
再次输入新口令: 
您的名字与姓氏是什么?
  [Unknown]:  user-defined
您的组织单位名称是什么?
  [Unknown]:  user-defined
您的组织名称是什么?
  [Unknown]:  user-defined
您所在的城市或区域名称是什么?
  [Unknown]:  chaoyang
您所在的省/市/自治区名称是什么?
  [Unknown]:  bj
该单位的双字母国家/地区代码是什么?
  [Unknown]:  cn
CN=****, OU=***, O=***, L=chaoyang, ST=bj, C=cn是否正确?
  [否]:  y

输入 <certificatekey> 的密钥口令
    (如果和密钥库口令相同, 按回车): 
  • mac 会提示信息:
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore shfqkeystore.jks -destkeystore shfqkeystore.jks -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。

我先不管这些信息,继续往下做

  • 命令详解
    keytool -genkeypair -alias certificatekey -keyalg RSA -validity 365 -keystore shfqkeystore.jks
    生成keystore后接着生成一个密钥对儿。RSA是非对称密钥算法,也可以改为 keytool支持的其他密钥算法,365代表的是证书的有效期,可以自己指定,shfqkeystore.jks是keystroe的名称,也可以自己指定。打开cmd命令行。

[验证] - jks是否可以用

  • 键入命令行验证
keytool -list -v -keystore shfqkeystore.jks
  • 响应信息
输入密钥库口令:  
密钥库类型: jks
密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: certificatekey
创建日期: 2019-1-28
条目类型: PrivateKeyEntry
证书链长度: 1
证书[1]:
所有者: CN=****, OU=****, O=****, L=chaoyang, ST=bj, C=cn
发布者: CN=****, OU=****, O=****, L=chaoyang, ST=bj, C=cn
序列号: 1aad9122
有效期为 Mon Jan 28 16:13:11 CST 2019 至 Tue Jan 28 16:13:11 CST 2020
证书指纹:
     MD5:  ************************************
     SHA1: ************************************
     SHA256: ************************************************************************
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3

扩展: 

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: ED A3 DB DD AB 2A 66 21   AD AF D1 17 C9 FA 73 74  .....*f!......st
0010: BB C1 1D 0A                                        ....
]
]

[导出] - 导出公钥证书

  • 键入命令
keytool -export -alias certificatekey -keystore shfqkeystore.jks -rfc -file shfqcert.cer
  • 命令详解
    其中shfqcert.cer是导出证书的名称,可以随便起个名字,shfqkeystore.jks是[验证] - jks是否可以用中生成的keystore 文件。

[导入] - Truststore的生成以及公钥证书的导入

把上一步生成的公钥证书shfqcert.cer导入到truststore中。

  • 键入命令
keytool -import -alias certificatekey -file shfqcert.cer  -keystore shfqtruststore.jks
  • 响应信息
输入密钥库口令:  
再次输入新口令: 
所有者: CN=***, OU=***, O=***, L=chaoyang, ST=bj, C=cn
发布者: CN=***, OU=***, O=***, L=chaoyang, ST=bj, C=cn
序列号: 1aad9122
有效期为 Mon Jan 28 16:13:11 CST 2019 至 Tue Jan 28 16:13:11 CST 2020
证书指纹:
     MD5:  ************************************
     SHA1: ************************************
     SHA256: ************************************************************************
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3

扩展: 

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: ED A3 DB DD AB 2A 66 21   AD AF D1 17 C9 FA 73 74  .....*f!......st
0010: BB C1 1D 0A                                        ....
]
]

是否信任此证书? [否]:  y
证书已添加到密钥库中
  • 命令详解
    shfqcert.cer是4导出的公钥证书,shfqtruststore.jks可以随便起,是生成的truststore的文件名。这条命令首先会生成一个truststore,然后导入[导出] - 导出公钥证书生成的公钥证书shfqcert.cer。

[验证] - 验证truststore文件

  • 键入命令
keytool -list -v -keystore shfqtruststore.jks
  • 响应信息
输入密钥库口令:  
密钥库类型: jks
密钥库提供方: SUN

您的密钥库包含 1 个条目

别名: certificatekey
创建日期: 2019-1-28
条目类型: trustedCertEntry

所有者: CN=***, OU=***, O=***, L=chaoyang, ST=bj, C=cn
发布者: CN=***, OU=***, O=***, L=chaoyang, ST=bj, C=cn
序列号: 1aad9122
有效期为 Mon Jan 28 16:13:11 CST 2019 至 Tue Jan 28 16:13:11 CST 2020
证书指纹:
     MD5:  ********************************
     SHA1: ********************************
     SHA256: ****************************************************************
签名算法名称: SHA256withRSA
主体公共密钥算法: 2048 位 RSA 密钥
版本: 3

扩展: 

#1: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: ED A3 DB DD AB 2A 66 21   AD AF D1 17 C9 FA 73 74  .....*f!......st
0010: BB C1 1D 0A                                        ....
]
]
  • 命令详解
    shfqtruststore.jks是生成的truststore文件名。

相关文章

  • Java 生成 Https 证书

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

  • 2019-08-01

    SpringBoot/Spring配置https 生成证书生成PKCS12类型的证书$JAVA_HOME/bin/...

  • 配置SpringBoot同时支持http和https访问

    配置https访问 生成证书如果配置了JAVA开发环境,可以使用keytool命令生成证书。我们打开控制台,输入:...

  • SpringBoot使用教程【2】支持Https以及Http重定

    生成证书 利用java生成证书命令:window cmd窗口进入java bin目录 配置证书 Springboo...

  • Https 生成证书

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

  • java关于https证书认证及生成

    1、关于http及https相关内容,参考:https://blog.csdn.net/xiaoming10000...

  • java服务器https

    https服务端配置文章 自签名证书实现https 生成jks(java key store),一种存储秘钥(公钥...

  • Apache配置https

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

  • Https[证书生成]

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

  • beego启用https

    启用https的话,首先要生成ssl证书 生成ssl证书 SSL证书包括: CA证书: 也叫根证书或者中间级证书,...

网友评论

      本文标题:Java 生成 Https 证书

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