M2Crypto Common Name字段和ip关系

时间:2012-03-07 16:03:33

标签: python ssl m2crypto

我使用M2Crypto,客户端和服务器都添加了密钥和证书,没有权限!!! 现在我发现字段Common Name应该设置为domain或者任何东西,只要它在两边都是相同的。 我有问题当python脚本是太阳如果键没有相同的公共名称字段,因为它的IP它不会工作。 机器IP和公共名称字段之间是否有任何连接',因为我不使用权限?

1 个答案:

答案 0 :(得分:0)

您可能对this answer感兴趣我提出了类似的问题:

应如何在RFC 6125中定义主机名验证,这是最新的,并将实践推广到所有协议,并替换了特定于HTTPS的RFC 2818。 (我甚至不确定Java 7是否使用RFC 6125,这可能是最新的。)

来自RFC 2818 (Section 3.1)

  

如果存在类型为dNSName的subjectAltName扩展名,则必须将其用作标识。否则,(最具体)共同   必须使用证书的“主题”字段中的名称字段。   虽然使用通用名称是现有的做法,但确实如此   不推荐使用,并鼓励认证机构使用   而是dNSName。

[...]
     

在某些情况下,URI被指定为IP地址而不是主机名。在这种情况下,必须存在iPAddress subjectAltName   在证书中,必须与URI中的IP完全匹配。

基本上(至少对于HTTPS,但这也推广到其他协议),您并不是要将IP地址放在主题DN的公用名中,而是应该在IP主题备用名称条目中。 (有些浏览器对此非常灵活。)