【发布时间】:2023-11-06 06:43:01
【问题描述】:
我想使用 java 从 pfx 文件中提取有关 RSA 公钥的信息。
我有一个 pfx 文件并转换为 x509 Pem 文件。从 pem 文件中,在终端中使用以下命令:
openssl x509 -in file.pem -text
我可以查看公钥指数和模值
主题公钥信息:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:da:7c:e0:3e:c4:62:8d:ce:29:04:2f:93:78:7c:
:
6a:e7:c9:7c:8b:6f:09:5c:75:5f:8c:5e:9c:6a:b9:
7:32:90: a4:4b
Exponent: 65537 (0x10001)
如何在java中提取以上信息?
输入: pfxfile 和密码
输出:公钥指数和模值。
我正在使用下面的代码来提取公钥指数和模数,但我没有得到使用 openssl 提取的值。我怀疑 java.security.cert.Certificate 是否使用其他一些 DER 格式??
openssl 的 java 等价物是什么?
代码:
KeyStore ks = KeyStore.getInstance("pkcs12");
ks.load(new FileInputStream(file), password.toCharArray());
Enumeration enumeration = ks.aliases();
while (enumeration.hasMoreElements()) {
String alias = (String) enumeration.nextElement();
java.security.cert.Certificate certificate = ks.getCertificate(alias);
PublicKey publickey = certificate.getPublicKey();
}
【问题讨论】:
标签: java security openssl keystore pfx