我有一个由 openssl 按以下方式生成的密钥对
openssl genrsa -out private_key.pem 2048
我将其转换为 DER 格式如下
openssl pkcs8 -topk8 -inform PEM -outform DER -in private_key.pem \
-out private_key.der -nocrypt
现在我想将它导入到 android 中,但我不想导入它,因为我想在密钥库中保护它。
所以我的问题是如何使用 keytool 将现有密钥导入 BKS 密钥库?
Thanks
A Private Key
总是伴随着Certificate Chain
(包括相应的证书)在密钥库中。您不能仅将其本身添加到 KeyStore 中。
一旦你生成了Private Key
,您可以生成一个自签名证书,然后您可以使用此证书将您的私钥连同证书一起添加到 KeyStore。
生成自签名证书
openssl req -new -x509 -key [PRIVATE_KEY_FILE] -out [SELF_SIGNED_CERTIFICATE_FILE]
-天 3650 -主题 /[YOUR_SUBJECT_DN]
创建包含私钥和证书的 PKCS#12 文件
openssl pkcs12 -export -inkey [PRIVATE_KEY_FILE] -in
[CERTIFICATE_FILE] -out [PKCS12_FILE.p12] -name mykey
最后,将 PKCS12 KeyStore 转换为您想要的BKS
店铺类型
keytool -importkeystore -srckeystore [ABOVE_P12_FILE] -srcstorepass [ABOVE_P12_PASSWORD]
-srcstoretype pkcs12 -destkeystore [NEW_P12_FILE.p12] -deststorepass [NEW_P12_PASSWORD] -deststoretype bks -providerclass
org.bouncycastle.jce.provider.BouncyCastleProvider -providerpath
[ABSOLUTE_PATH_TO__bcprov-jdk15on-152.jar]
如果您需要 Java 默认存储类型JKS
,您可以删除-providerclass
and -providerpath
最后一个命令的参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)