📅  最后修改于: 2023-12-03 14:39:28.021000             🧑  作者: Mango
有时候我们会需要将证书和私钥存储到一个 keystore 中,这时候就需要使用 Java KeyStore (JKS) 文件格式。本文将介绍如何使用 Bash 脚本来创建 JKS 文件。
在执行本文的脚本之前,需要确保已经具备了以下条件:
cert.pem
和 key.pem
。使用以下脚本来创建 JKS 文件:
#!/bin/bash
CERT_FILE="cert.pem"
KEY_FILE="key.pem"
KEYSTORE_FILE="keystore.jks"
PASSWORD="password"
# First convert the private key to PKCS12
openssl pkcs12 -export -name mykey -inkey "${KEY_FILE}" -in "${CERT_FILE}" -out tmp.p12 -password pass:"${PASSWORD}"
# Then convert the PKCS12 file to JKS
keytool -importkeystore -destkeystore "${KEYSTORE_FILE}" -srckeystore tmp.p12 -srcstoretype pkcs12 -alias mykey -storepass "${PASSWORD}" -keypass "${PASSWORD}"
# clean up
rm tmp.p12
echo "The keystore ${KEYSTORE_FILE} has been successfully created."
该脚本中包含了三个变量:
CERT_FILE
:证书的 PEM 文件路径。KEY_FILE
:私钥的 PEM 文件路径。KEYSTORE_FILE
:生成的 JKS 文件路径。PASSWORD
:JKS 文件的密码,可以自定义。脚本分为两个步骤:
最后,清理临时文件,并输出成功信息。
通过以上的脚本,可以快速创建一个 JKS 文件,方便我们使用证书和私钥。同时,脚本也展示了一些 OpenSSL 和 keytool 的常用命令,希望能对你的工作有所帮助。