【问题标题】:SSLPeerUnverifiedException in basic twilio-java app基本 twilio-java 应用程序中的 SSLPeerUnverifiedException
【发布时间】:2013-11-07 01:20:39
【问题描述】:

我正在关注Twilio-java example from the github page.

这是我写的sn-p代码:

    private boolean doSms(Notification notification) {
    String message = "test";
    try {
        final MessageFactory messageFactory = mainAccount.getMessageFactory();
        final List<NameValuePair> messageParams = new ArrayList<NameValuePair>();
        messageParams.add(new BasicNameValuePair("To", notification.getUser().getPhoneNumber())); 
        messageParams.add(new BasicNameValuePair("From", BoundaryNumber)); 
        messageParams.add(new BasicNameValuePair("Body", message));
        messageFactory.create(messageParams);
    } catch (TwilioRestException e) {
        return false;
    }
    return true;
}

我非常密切地关注该示例,但是,我似乎遇到了 SSLPeerUnverifiedException:

Caused by: 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:397)
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:573)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:425)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:732)
at com.twilio.sdk.TwilioRestClient.request(TwilioRestClient.java:416)
... 11 more

我正在使用试用帐户并从我的 Twilio 号码 (BoundaryNumber) 向我的手机(在 Twilio 中注册)发送短信现在我进行了一些挖掘并发现了一些类似的问题。比如Bryan seems to be on the right track here.

我只是不确定如何解决证书问题。我不确定在哪里可以找到 twilio 证书,而且很多命令行建议在 OS X(10.9 Mavericks)上并不适用。我相信certs are managed with the Keychain access tool on OS X.

【问题讨论】:

  • 它可以重现吗?例如,您每次提出请求时都会收到它,还是仅在某些时候收到?
  • 是的,每次都会发生。
  • 我对小牛也有类似的问题。您可以尝试打开 java-ssl 日志记录(-Djavax.net.debug=ssl)。如果这样做,我会看到以下错误:http-bio-8000-exec-1,处理异常:java.lang.RuntimeException:意外错误:java.security.InvalidAlgorithmParameterException:trustAnchors 参数必须为非空 http-bio -8000-exec-1,发送 TLSv1 警报:致命,描述 = internal_error http-bio-8000-exec-1,写入:TLSv1 警报,长度 = 2
  • 我还得到:main,处理异常:java.lang.RuntimeException:意外错误:java.security.InvalidAlgorithmParameterException:trustAnchors 参数必须非空 main,发送 TLSv1 ALERT:致命,描述 = internal_error main, WRITE: TLSv1 Alert, length = 2

标签: java macos ssl certificate twilio


【解决方案1】:

不知何故,小牛队出现了问题。它在更新期间使 JDK 安装崩溃。我的解决方案是删除并重新安装最新版本的 jdk (http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html)。

【讨论】:

  • 你在重装之前明确删除了jdk吗? (如果是这样,如何?)我刚刚重新安装,但我仍然收到错误。
  • 我想通了。我需要设置 IntelliJ 以使用我的新 1.7 安装。谢谢!我的应用终于可以工作了:)
猜你喜欢
  • 2016-10-15
  • 2012-05-06
  • 2020-08-01
  • 1970-01-01
  • 2023-04-09
  • 1970-01-01
  • 1970-01-01
  • 2013-01-29
  • 1970-01-01
相关资源
最近更新 更多