0

我使用 M2Crypto,客户端和服务器都添加了密钥和证书,没有权限!!!现在我发现该字段 Common Name 应该设置为 domain 或任何东西,只要它在双方都是相同的。当 python 脚本是 sun 时,如果 key 没有与其 ip 相同的 Common Name 字段,我会遇到问题,它不会工作。机器 ip 和 Common Name 字段之间是否有任何联系,因为我没有使用权限?

4

1 回答 1

0

您可能对我对类似问题的回答感兴趣:

应该如何进行主机名验证在RFC 6125中定义,它是相当新的并且将实践推广到所有协议,并取代了RFC 2818,它特定于 HTTPS。(我什至不确定 Java 7 是否使用 RFC 6125,这可能太新了。)

来自RFC 2818(第 3.1 节)

如果存在 dNSName 类型的 subjectAltName 扩展,则必须将其用作身份。否则,必须使用证书主题字段中的(最具体的)通用名称字段。尽管使用通用名称是现有的做法,但它已被弃用,并且鼓励证书颁发机构使用 dNSName 代替。

[...]

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

本质上(至少对于 HTTPS,但这也适用于其他协议),您不应该将 IP 地址放在主题 DN 的通用名称中,它应该放在 IP 主题备用名称条目中。(一些浏览器对此非常灵活。)

于 2012-03-07T16:48:25.417 回答