我正在尝试在Eclipse中运行Jersey客户端类,其中服务器需要证书。我抓住了证书,但无法确定将其导入哪个密钥库。在我的Eclipse配置中,我将java.home设置为C:\ Java \ jdk1.6.0_18 \ jre
在我的C:\ Java \ jdk1.6.0_18 \ jre \ lib \ security文件夹中,我有一个cacerts和一个jssecacerts文件。我已将证书导入到两者中,重新启动Eclipse,当我运行客户端类时,作为Java应用程序,我收到此错误:
com.sun.jersey.api.client.ClientHandlerException: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present
然后我在C:\ Java \ jdk1.6.0_18 \ jre \ lib \ jssecacerts中安装了cert,重新启动了Eclipse并仍然得到同样的错误。
Eclipse使用哪个密钥库????
答案 0 :(得分:1)
我的问题是(自签名)证书存在身份错配错误。该证书适用于预生产服务器。为了解决这个问题,我使用http://jcalcote.wordpress.com/2009/06/18/java-https-client-issues/(DumbX509TrustManager)和http://blogs.oracle.com/enterprisetechtips/entry/consuming_restful_web_services_with的提示组合为我们的实验室环境创建了一种解决方法。