小编Dan*_*Dan的帖子

如何信任 Java 中的证书颁发机构?

我的应用程序连接到 SSL Web 服务,该服务使用证书来验证其身份。最近,这个证书发生了变化,由于它不是由受信任的机构签署的,我的部分申请失败了。为了防止将来出现这种情况,该服务的建议是我应该开始信任现有证书的签名机构,而不是单个证书。

这如何在 Java 中实现?

目前,我正在使用 keytool 将他们提供的证书添加到密钥库中,并将其组合到 TrustManagerFactory 中,如下所示:

public static TrustManager[] getTrustManagers() throws KeyStoreException, NoSuchAlgorithmException, CertificateException, IOException {
    KeyStore tks = KeyStore.getInstance(KeyStore.getDefaultType());
    tks.load(StarTrustManagerFactory.class.getResourceAsStream("webservice.ks"), "password".toCharArray());
    TrustManagerFactory tmf = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
    tmf.init(tks);
    return tmf.getTrustManagers();
}; 
Run Code Online (Sandbox Code Playgroud)

有没有办法调整这种方法以返回TrustManager信任我拥有的证书的签名机构的a ?此外,如何从我拥有的证书中提取有关证书签署者的信息?

谢谢,丹。

java ssl certificate certificate-authority

5
推荐指数
1
解决办法
8196
查看次数

标签 统计

certificate ×1

certificate-authority ×1

java ×1

ssl ×1