【问题标题】:Handshake alert: unrecognized_name error握手警报:unrecognized_name 错误
【发布时间】:2013-03-21 10:41:50
【问题描述】:

我正在使用 Charles 3.7 来调试 SSL 连接。我能够查看大部分 HTTPS 连接,但是当我尝试调试它时,有 1 或 2 个站点返回“SSLProtocol:握手警报:unrecognized_name”,并且我无法在 Charles 开启的情况下加载该网站。我可以使用 Fiddler 来做到这一点。关于如何解决这个问题的任何想法?谢谢。

【问题讨论】:

    标签: ssl handshake charles-proxy


    【解决方案1】:

    看起来这与 Java 1.7 的安全性改进和服务器配置有关,而不是 Charles。您能确认一下查尔斯使用的是哪个 JRM 吗? help -> about java

    这是一篇关于相同错误消息但升级到 Java 1.7 后的文章:

    http://www.pressingquestion.com/2030237/Ssl-Handshake-Alert-Unrecognized_name-Error-Since-Upgrade-To-Java-170

    对于那些抛出错误的网站,您是否需要使用 Charles?如果没有,您可以禁用每个站点的 SSL 代理。

    【讨论】:

      【解决方案2】:

      添加 -Djsse.enableSNIExtension=false 到 Charles 应用程序的 Contents 文件夹中的 info.plist。 在:

      <key>VMOptions</key>
      <string>-Xmx512m -Djsse.enableSNIExtension=false</string>
      

      【讨论】:

        【解决方案3】:

        我在 10.10 上使用最新的 beta 版 Charles 3.10b9 时遇到了这个问题。我们使用与 Shade 的答案类似的方法进行修复:

        我在 Xcode 中打开 info.plist 并执行以下操作:

        在 JVMOptions(与 VMOptions 相反)键下添加字符串:

        -Djsse.enableSNIExtension=false
        

        【讨论】:

          【解决方案4】:

          尝试使用项目路径中的命令行:

          mvn clean install -Djsse.enableSNIExtension=false
          

          【讨论】:

          • 这在我的情况下实际上是有效的(SSL 证书存在于密钥库中,但我不断收到握手失败并显示 unrecognized_name)。您能否详细说明为什么会这样或向我指出一些信息?
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-11-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多