【问题标题】:SSLPeerUnverifiedException:"peer not authenticated" while using groovy's RestClient with ignoreSSLIssues()SSLPeerUnverifiedException:“peer not authenticated”同时使用 groovy 的 RestClient 和 ignoreSSLIssues()
【发布时间】:2015-03-17 06:50:23
【问题描述】:

我正在为我的 Rest 端点编写一个集成测试,并且我选择了 groovy 的 RestClient。我的休息电话是在“HTTPS”上,我开始面临 SSL 异常。 在深入研究这一点时,我很高兴知道 ignoreSSLIssues() 方法 (http://groovy.codehaus.org/modules/http-builder/doc/ssl.html)。由于这在 0.7.1 版本的 HttpBuilder 中可用,所以我升级了这个 jar 和一些依赖的 jar。所以有了这个,根据文档,我希望下面的代码能够工作-

def httpBuilder = new HTTPBuilder('baseurl')
httpBuilder.ignoreSSLIssues()
def resp = httpBuilder.get(path : 'restPath')
println resp

但这仍然抛出 javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated。

对此的任何帮助表示赞赏。

谢谢。

【问题讨论】:

    标签: java ssl groovy ssl-certificate


    【解决方案1】:

    刚刚遇到这个问题。如果您使用出站代理并且未将 HTTPBuilder 类配置为显式使用它,您也会收到此欺骗性错误。

    您需要设置 HTTPBuilder 的 setProxy() 方法。无论出于何种原因,HTTPBuilder 似乎都不尊重诸如 -Dhttp.proxyHost 之类的 JVM OPTS。我的版本看起来像这样:

    import groovyx.net.http.HTTPBuilder
    import static groovyx.net.http.Method.HEAD
    
    def http = new HTTPBuilder( 'https://www.dev.java.net/' )
    
    http.setProxy("my.proxy.com", 8080, "http")
    http.ignoreSSLIssues()
    
    def status = http.request( HEAD ) {
        response.success = { it.status }
    }
    

    【讨论】:

      猜你喜欢
      • 2013-04-24
      • 1970-01-01
      • 1970-01-01
      • 2014-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-14
      • 1970-01-01
      相关资源
      最近更新 更多