asp.net - 不清楚的 TLS Rec 第 1 层加密警报

标签 asp.net security ssl iis-6

我正在尝试从 iis 6 服务器中的 asp.net 应用程序访问远程 Web 服务到远程 Web 服务器。 由于无法连接,我使用 MS Network Monitor 查看发生了什么。

这是TLS的进展

2   15:26:31 14.03.2013 0.0000000       yyy.yyy.yyy.yyy XXX.XXX.XXX.XXX TLS TLS:TLS Rec Layer-1 HandShake: Client Hello.    {TLS:4, SSLVersionSelector:3, TCP:2, IPv4:1}
3   15:26:31 14.03.2013 0.0312500       XXX.XXX.XXX.XXX yyy.yyy.yyy.yyy TLS TLS:TLS Rec Layer-1 HandShake: Server Hello.; TLS Rec Layer-2 HandShake: Certificate.   {TLS:4, SSLVersionSelector:3, TCP:2, IPv4:1}
4   15:26:31 14.03.2013 0.0312500       yyy.yyy.yyy.yyy XXX.XXX.XXX.XXX TLS TLS:TLS Rec Layer-1 HandShake: Certificate. Client Key Exchange. Certificate Verify.; TLS Rec Layer-2 Cipher Change Spec; TLS Rec Layer-3 HandShake: Encrypted Handshake Message.   {TLS:4, SSLVersionSelector:3, TCP:2, IPv4:1}
5   15:26:31 14.03.2013 0.0468750       XXX.XXX.XXX.XXX yyy.yyy.yyy.yyy TLS TLS:TLS Rec Layer-1 Cipher Change Spec; TLS Rec Layer-2 HandShake: Encrypted Handshake Message. {TLS:4, SSLVersionSelector:3, TCP:2, IPv4:1}
6   15:26:31 14.03.2013 0.0781250       XXX.XXX.XXX.XXX yyy.yyy.yyy.yyy TLS TLS:TLS Rec Layer-1 Encrypted Alert {TLS:4, SSLVersionSelector:3, TCP:2, IPv4:1}

这是带有警报的最终 TLS 事务

  - TlsRecordLayer: TLS Rec Layer-1 Encrypted Alert
     ContentType: Encrypted Alert
   - Version: TLS 1.0
      Major: 3 (0x3)
      Minor: 1 (0x1)
     Length: 18 (0x12)
     EncryptedData: Binary Large Object (18 Bytes)

最后这是警报部分的十六进制转储。

15 03 01 00 12 CE CA A3 1C C9 44 5C AC A2 3C BB 3C F3 F9 8A A6 4F 22 

根据 http://en.wikipedia.org/wiki/Transport_Layer_Security#Alert_protocol我试着解码意思

15 = 21 dec <- always 21
03 01 = major and minor Version
00 12  = lentgh

现在它变得奇怪了。通常接下来的两个字节应该是警报的级别和描述。但他们没有意义。除此之外,它们与我运行的每条轨迹都不同。而前部始终保持不变。

有什么办法可以解密警报吗?

我的第一个想法是对方可能不允许 TLS 1,而 IIS 6 只支持 TLS 1(至少我是这么想的)。

非常感谢高级

最佳答案

警报本身是加密的,因为握手成功。因此,在您知道它说的是什么之前,您必须对其进行解密 - 您可以使用 ssldump,以防您拥有服务器的私钥。

在这里找到:http://www.wireshark.org/lists/ethereal-users/200110/msg00055.html - 在我对同样的问题困惑了一段时间之后。

这是关于 ssldump 的:http://www.rtfm.com/ssldump/

使用 Wireshark,您可以解密所有内容,前提是您拥有用于加密的私钥:http://support.citrix.com/article/ctx116557

关于asp.net - 不清楚的 TLS Rec 第 1 层加密警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15416624/

相关文章:

python - gevent 和 SSL 导致 "EOF occurred in violation of protocol"

ruby-on-rails-3 - 如何从 Rails 通知访问 current_user?

asp.net - X-Frame-Options 允许来自多个域

java - 有连接,源代码中的用户身份验证?

JAVA - Tomcat 5 应用程序使用 HTTPS 连接到 Web 服务,而 Tomcat 7 应用程序不

java - 线程 6,RECV TLSv1 警报 : fatal, 握手失败

c# - 获取gridview一列的值

asp.net - 如何获取每个 IE 实例的 session ID?

javascript - 菜单栏无法正常工作

c# - ASP.NET 应用程序 - 访问有关下拉列表数据源的详细信息