从证书中提取密钥的问题

时间:2018-07-04 01:01:24

标签: java certificate keystore x509

我们正在尝试安装由政府颁发的新证书,该证书将失败。

代码在Java EE服务器上运行,该服务器读取证书并提取公钥。

//ks is Keystore
ks.load(new FileInputStream("/tmp/cert.pfx"), "password".toCharArray());

证书加载正常。如果我们查看ks.size(),它将返回1。

如果我们枚举别名,我们也可以看到别名值。

Enumeration<?> en = ks.aliases();
String alias = (String)en.nextElement();

但是,如果我们使用别名提取证书,则会返回空值

X509Certificate x509cert = ((X509Certificate)ks.getCertificate(alias));

x509cert此时为空。

更多点:

  • 这是政府颁发的证书。如果我们使用openssl将别名更改为明文值,则可以正常工作。原始值为GUID。

  • 如果我们使用Java SE在本地PC上使用测试程序进行测试,则原始 证书有效-我们可以使用别名从证书中提取公钥。

  • 过去的证书运行良好。我们更改为新证书只是因为旧证书已过期。

新证书仅在Java EE环境中失败。因此,我将其视为证书中某些内容及其运行环境的组合。

任何想法可能有什么问题或解决方法吗?

0 个答案:

没有答案