Java HttpClient错误,找不到SSL证书,在代码中使用证书作为String?

Java HttpClient错误,找不到SSL证书,在代码中使用证书作为String?,第1张

Java HttpClient错误,找不到SSL证书,在代码中使用证书作为String?

假设您的证书为PEM格式。您可以在代码中嵌入它,并使用BouncyCastle的的

PEMReader
把它变成一个
X509Certificate
实例。完成此 *** 作后,
KeyStore
在内存中创建一个实例,并将此X.509证书放入其中。然后,
SSLContext
使用该实例化新的实例
KeyStore
作为信任库,并让您的HTTP客户端使用它。

看起来像这样(未尝试过,请记住关闭读者并捕获异常…):

PEMReader pemReader = new PEMReader(new StringReader("----- BEGIN ......");X509Certificate cert = (X509Certificate) pemReader.readObject();KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());ks.load(null, null);ks.setCertificateEntry("some name", cert);TrustManagerFactory tmf = TrustManagerFactory.getInstance(    TrustManagerFactory.getDefaultAlgorithm());tmf.init(ks);SSLContext sc = SSLContext.getInstance("TLS");sc.init(null, tmf.getTrustManagers(), null);

然后,将其

SSLContext
用于连接。如果使用的是4.x版,则可以使用Apache
HttpClient的SSLSocketFactory进行此 *** 作(如果使用的是3.x版,则可以进行此 *** 作)。我建议现在使用Apache
HttpClient4.x。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5093484.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存