gpt4 book ai didi

java - 在 Java 6 上从 keystore 中提取证书

转载 作者:行者123 更新时间:2023-12-02 03:45:52 25 4
gpt4 key购买 nike

我现在遇到一个问题,我不明白为什么我无法读取 Java 6 上的 KeyStore。代码如下:

KeyStore ks = KeyStore.getInstance("jks");
FileInputStream file = new FileInputStream(<path to file>);
ks.load(file, <password>);
String alias = (String)ks.aliases().nextElement();

PrivateKey key = (PrivateKey)ks.getKey(alias, ConstantsUtils.CERT_PASS.toCharArray());
Certificate[] chain = ks.getCertificateChain(alias);

我正在使用此证书通过 Java 代码签署 PDF,但变量 keychain 保持为空,因此 keystore 无法检索我的私钥。

keystore 是通过 keytool 通过下一行导入证书创建的(Windows 7):

C:\Program Files\Java\jdk1.6.0_37\bin>keytool -importcert -file "<path to cert>" -keystore <path to keystore -alias "<alias>" -keypass <password> -storepass <password>

导入的证书来自第三方,应该可以正常工作。我不知道导入证书是否有问题,或者我是否以错误的方式编码。

最佳答案

您正在导入证书。除非它对应于 KeyStore 中已有的私钥,并且您不同意“信任 CA 证书?”提示,这将创建一个受信任的证书,通过 PrivateKey 查找它将会失败。

如果您从第三方导入证书,您将不会拥有他们的私钥,除非他们非常无能。

简而言之,你所做的事情没有意义。

关于java - 在 Java 6 上从 keystore 中提取证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36303946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com