2009-05-01 78 views
1

我最近一直在说通过SSL调用Web服务,并处理使用委托的ServerCertificateValidationCallback事件,像这样的证书安全C#应用程序:如何在Java中通过SSL调用Web服务?

 System.Net.ServicePointManager.ServerCertificateValidationCallback += delegate(object certsender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors) 
     { 
      bool validationResult = false; 

      // if there are no SSL validation errors 
      if (sslPolicyErrors == SslPolicyErrors.None) 
      { 
       validationResult = true; 
      } 

      return validationResult; 
     }; 

现在我需要做同样的事情在Java和这是我卡住的地方 - 我已经搜索了一段时间,并没有真正找到一个简单的答案。如何处理Java中的SSL证书验证?

+0

我的问题中一个明显的漏洞是我想接受自签名证书。我从那以后找到了解释如何做到这一点的文章:http://www.howardism.org/Technical/Java/SelfSignedCerts.html – 2009-05-22 11:26:03

回答

1

最近java版本为你做。只需指向HTTPS URL(https://)

1

Apache HTTPClient是处理任何事情都不是简单获取URL的最佳方式。这里是SSL Guide