JKS简介
JKS是Java Key Store
的缩写,是 Java 语言开发的一种密钥库格式,它包含了证书和私钥,可以用来加密、认证和签署数字信息。
环境
$ uname -a
Linux yanlp 3.10.0-1160.92.1.el7.x86_64 #1 SMP Tue Jun 20 11:48:01 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
生成
- 生成rsa密钥
$ openssl genrsa -des3 -out private.key 2048 -----BEGIN RSA PRIVATE KEY----- Proc-Type: 4,ENCRYPTED DEK-Info: DES-EDE3-CBC,204D457B1A0C53AC ... -----END RSA PRIVATE KEY-----
- 根据private.key 生成证书,替换IDP中的
ds:X509Certificate
$ openssl req -new -x509 -key private.key -out ca.crt -days 3650 -----BEGIN CERTIFICATE----- ... -----END CERTIFICATE-----
- 如果你的证书和私钥文件是通过
-des3
选项生成的,你需要使用 OpenSSL 解密它们$ openssl rsa -in private.key -out decrypted_private.key -----BEGIN RSA PRIVATE KEY----- ... -----END RSA PRIVATE KEY-----
- 使用
keytool
导入RSA
私钥和X.509
格式的 CA 证书,并生成 Java 密钥库(JKS)文件- 将
RSA
私钥和X.509
CA 证书合并到一个PKCS#12
文件$ openssl pkcs12 -export -out combined.p12 -inkey decrypted_private.key -in ca.crt -name your_alias
- 使用
keytool
命令创建一个 Java 密钥库,并将PKCS#12
文件导入其中$ keytool -importkeystore -srckeystore combined.p12 -srcstoretype PKCS12 -destkeystore your_alias.jks
- 将