在Java和HttpClient中添加对Camellia Encryption的支持

时间:2011-11-03 01:18:53

标签: java security encryption httpclient jce

我正在使用HttpClient 4来获取https网址。服务器具有有效的证书,实际上从chrome访问相同的https url工作正常,没有任何警告。

但是从java代码开始,执行时,我得到:

javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
    at com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:352)

相同的代码适用于一个https链接,而不适用于另一个。工作证书和非工作证书之间的主要区别如下:

工作的人使用RC4_128

抛出异常的那个使用CAMELLIA 256 CBC

然后我发现Java不支持Camellia。请参阅http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6537034http://en.wikipedia.org/wiki/Comparison_of_TLS_Implementations#Encryption_Algorithms

如何将此支持添加到我的HttpClient代码中?

我添加了BouncyCastle库和安全提供程序

static {
    Security.addProvider(new BouncyCastleProvider());
}

据说这增加了对Camellia的支持。

但仍然没有运气。

0 个答案:

没有答案