在Scala调度中忽略SSL证书

pra*_*ent 1 ssl scala scala-dispatch

尝试使用未正确配置的SSL证书时,我收到以下错误:

javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
at com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:352)
at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:128)
at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:390)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:148)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:149)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:121)
at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:562)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:415)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:776)
at dispatch.BlockingHttp$class.dispatch$BlockingHttp$$execute(Http.scala:45)
at dispatch.BlockingHttp$$anonfun$execute$1$$anonfun$apply$3.apply(Http.scala:58)
at dispatch.BlockingHttp$$anonfun$execute$1$$anonfun$apply$3.apply(Http.scala:58)
at scala.Option.getOrElse(Option.scala:108)
at dispatch.BlockingHttp$$anonfun$execute$1.apply(Http.scala:58)
at dispatch.Http.pack(Http.scala:25)
at dispatch.BlockingHttp$class.execute(Http.scala:53)
at dispatch.Http.execute(Http.scala:21)
at dispatch.HttpExecutor$class.x(executor.scala:36)
at dispatch.Http.x(Http.scala:21)
at dispatch.HttpExecutor$class.when(executor.scala:50)
at dispatch.Http.when(Http.scala:21)
at dispatch.HttpExecutor$class.apply(executor.scala:60)
at dispatch.Http.apply(Http.scala:21)
at com.secondmarket.cobra.lib.delegate.UsersBDTest.tdsGet(UsersBDTest.scala:130)
at com.secondmarket.cobra.lib.delegate.UsersBDTest.setup(UsersBDTest.scala:40)
Run Code Online (Sandbox Code Playgroud)

我想完全忽略证书.

更新:我理解有关不正确配置的SSL证书的技术问题,问题不在于我们的盒子,而是我们正在使用的服务.它主要发生在测试盒而不是prod/stg上,因此我们正在调查但需要测试API.

use*_*421 5

由于以下原因,您无法"完全忽略证书":

  1. 在这种情况下的问题是客户端甚至没有提供一个.
  2. 如果你不想要安全性,为什么要使用SSL呢?
  3. 毫无疑问,许多(或许是大多数)这些涉嫌"发展"的变通方法已经"泄露"到生产中.如果构建不安全的系统,则存在部署不安全系统的重大风险.如果您没有构建不安全因素,则无法部署它,因此风险就会消失.

  • 也许他想先在测试环境中检查系统负载上的SSL开销.也许他所看到的信息是敏感的(比如他正在复制生产中发现的问题)并且没有开发人员那么多的证书(可能还没有DNS条目).如果不了解确切的用例,说"不要这样做"可能会在实际上确实重要时忽略安全建议. (2认同)