栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何使用由openssl生成的java中的.key和.crt文件?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何使用由openssl生成的java中的.key和.crt文件?

您的

.key
.crt
文件可能是PEM格式。要进行检查,请使用文本编辑器将其打开,然后检查内容是否看起来像
------BEGINCERTIFICATE------
(或“开始RSA私钥” …)。通常,这是OpenSSL使用的默认格式,除非您已明确指定DER。

可能不是必需的(请参阅下文),但是如果您的证书为DER格式(二进制格式),则可以使用以下方法将其转换为PEM格式:

openssl x509 -inform DER -in cert.crt -outform PEM -out cert.pem

openssl rsa
如果需要,请检查帮助中是否有与私钥相似的操作。)

然后,您有两个选择:

  • 建立PKCS#12档案
    openssl pkcs12 -export -in myhost.crt -inkey myhost.key -out myhost.p12

然后,您可以直接从Java中将其用作“
PKCS12”类型的密钥库。大多数Java应用程序都应允许您指定除文件位置以外的密钥库类型。对于默认的系统属性,此操作是通过完成的

javax.net.ssl.keyStoreType
(但是您正在使用的应用程序可能没有使用此功能)。否则,如果您想显式加载它,请使用以下方法:

    KeyStore ks = KeyStore.getInstance("PKCS12");    FileInputStream fis =        new FileInputStream("/path/to/myhost.p12");    ks.load(fis, "password".toCharArray()); // There are other ways to read the password.    fis.close();

(然后,您应该能够遍历

aliases()
KeyStore
和使用
getCertificate
(然后再使用
getPublicKey()
公钥)和
getKey()

  • 使用BouncyCastle的
    PEMReader
     FileReader fr = ... // Create a FileReader for myhost.crt

    PEMReader pemReader = new PEMReader(fr);
    X509Certificate cert = (X509Certificate)pemReader.readObject();
    PublicKey pk = cert.getPublicKey();
    // Close reader…

对于私钥,您需要实现一个

PasswordFinder
(请参阅PEMReader
doc的链接)以构造
PEMReader
私钥是否受密码保护。(您需要将的结果强制
readObject()
转换为
Key
PrivateKey
。)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/569325.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号