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 证书文件的生成步骤的主要内容,如果未能解决你的问题,请参考以下文章