jks 证书文件的生成步骤

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jks 证书文件的生成步骤相关的知识,希望对你有一定的参考价值。

参考技术A 作为文件形式存在的证书,一般有三类:
A.
包含有私钥的证书,包含了公钥和私钥,用pkcs12标准,而一般以pfx 作为扩展名;
B.
DER 编码证书,不含私钥,以cer 结尾,文件是二进制data. 通常CA(无论是intermediate CA还是root CA)证书都是这类;
C.
BASE64编码的证书,这类证书也不含私钥,一般也以cer结尾,是pem证书, 这类证书可以直接cat 出结果, 特征是”-----BEGIN CERTIFICATE----- “开头,“-----END CERTIFICATE-----”结尾;

对于DER/PEM证书,可以通过openssl 来确认其编码类型(假设要查看的证书是client_cert.cer):
openssl x509 -in ./client_cert.cer -inform pem -noout -text
openssl x509 -in ./client_ert.cer -inform der -noout -text

jks 是java key store 的简称,也就是java 常用的证书文件. jks 证书文件一般包含私钥以及签名的cert一起组成的. 要生成jks 可以使用java 的keytool工具 以及openssl 来完成,没有特殊需求的情况先,可以只用这两个工具就可以了:

基本的过程是这样的:

具体的步骤如下:

上述创建私钥以及生成CSR的过程,可以用keytool工具来实现(MW的support 人员更乐于用keytool工具来实现),具体为:

上述步骤就成功创建了csr文件,并且成功获得了对应的private key. (无论是基于openssl 命令还是keytool命令)
然后需要将csr发送给证书签发者,然后证书签发者进行证书的签发; 签发后,一般会发回 crt 证书文件. 以及root ca, intermediate ca 还有签发的pem证书;

后面的步骤是创建证书链:

查看证书:
keytool -list -v -keystore test_keystore2.jks -storepass xoxoxo
查看证书请求文件:
keytool -printcertreq -file www.mydomain.com_certreq.csr
查看已经签名的证书:
keytool -printcert -file GlobalSign_cert.cer

如何通过本机简单验证ssl 证书是否正确呢? 用openssl 命令在本机开启ssl 的服务器和客户端,然后用ssl 方式进行连接进行验证:

然后看输出的结果,就知道是否证书是ok的;

diff -eq <(openssl x509 -pubkey -noout -in mycert.crt) <(openssl rsa -pubout -in mycert.key)

keytool工具生成jks证书

输入命令

keytool -genkeypair -alias baojian -keypass baojian -keyalg RSA -keysize 1024 -validity 365 -keystore D:/baojian.jks -storepass baojian
-alias 别名
-keypass 指定生成密钥的密码
-keyalg 指定密钥使用的加密算法(如 RSA)
-keysize 密钥大小
-validity 过期时间,单位:天
-keystore 指定存储密钥的 密钥库的生成路径、名称。
-storepass 指定访问密钥库的密码。

springboot 项目 配置 https

server:
  port: 9011
  ssl:
    # 是否启用 ssl 支持 (默认是 true)
    #enabled: true
    # 密钥库的路径
    key-store: classpath:baojian.jks
    # 密钥库类型
    key-store-type: JKS
    # 密钥库中密钥的别名
    key-alias: baojian
    # 用于访问密钥库中密钥的密码
    key-password: baojian
    # 用于访问密钥库的密码
    key-store-password: baojian

以上是关于jks 证书文件的生成步骤的主要内容,如果未能解决你的问题,请参考以下文章

证书 pem 转 jks

jdk的keytool生成jks及获取jks的信息

需要帮助将 P12 证书转换为 JKS

SSL证书如何申请?

SpringBoot中教你手把手配置 https

SpringBoot中教你手把手配置 https