java - 从 PEM 获取私钥

标签 java ssl https openssl pkcs#12

PEM文件内容。我也有PEM文件的密码。

*Bag Attributes
    localKeyID: 12 7B 3C 4C ... 
subject=/C..OTHER FIELDS
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
Bag Attributes
    localKeyID: 12 7B 3C 4C ..
Key Attributes: <No Attributes>
-----BEGIN ENCRYPTED PRIVATE KEY-----
...
-----END ENCRYPTED PRIVATE KEY-----*

我可以使用命令从 PEM 文件中提取证书。

openssl x509 -outform der -in client.pem -out your-cert.crt

但我无法提取私钥。尝试了下面列出的命令。 OpenSSL 对于这两个命令都挂起。我在这里遗漏了一些明显的东西吗?

openssl pkey -in client.pem -out key.pem

我需要提取客户端证书和 key 文件以在 Java 中创建 SSLSocketFactory 对象。

最佳答案

我假设命令行会提示输入密码,但需要提供参数
-passin file:passphrase.txt


openssl pkey -inform PEM -outform DER -in client.pem -passin file:passphrase.txt -out key.pem

关于java - 从 PEM 获取私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43997771/

相关文章:

java - 如何使用 Java 从 Oracle 中检索 CLOB 值

java - jmenu 中的图像来自 java 中的 jar 文件

Eclipse 中的 java.lang.NoClassDefFoundError,但 Ant 中没有

c# - 为单个应用程序安装 SSL 证书?

node.js - 在 Nodejs Express 中运行 https 服务器时出现 ERR_SSL_PROTOCOL_ERROR 浏览器错误消息

java - HTTPS - Web 请求和响应是否已加密?

java - 带有自定义注释的 Quarkus CDI

python - ssl.SSLError : [SSL: SSLV3_ALERT_BAD_RECORD_MAC] sslv3 alert bad record mac

ssl - Safari 9 上的 HTTPS 握手失败

c# - 将私钥添加到 X509Certificate