我正在使用jdk1.7。我正在使用自签名证书进行 SSL 握手。如果我使用 jdk1.7,是否必须在证书中使用 keyusage。请让我知道我很困惑。
谢谢,拉胡尔
我正在使用jdk1.7。我正在使用自签名证书进行 SSL 握手。如果我使用 jdk1.7,是否必须在证书中使用 keyusage。请让我知道我很困惑。
谢谢,拉胡尔
这是RFC 5280所说的:
符合标准的 CA 必须在证书中包含此扩展,这些证书
包含用于验证
其他公钥证书或 CRL 上的数字签名的公钥。如果存在,符合标准的 CA
应该将此扩展标记为关键。
但是,RFC 6818是对 RFC 5280 的更新,它说:
与 X.509 (11/2008) [X.509] 的第 3.4.61 节一致,我们注意到使用自颁发证书和由 CA 以外的实体颁发的自签名证书超出了本规范的范围。因此,例如,Web 服务器或客户端可能会生成一个自签名证书来标识自己。这些证书以及依赖方如何使用它们来验证断言的身份都超出了 RFC 5280 的范围。
因此,如果您以 CA 的身份行事,您应该包括密钥使用。无论如何,包含它可能是一个好主意,尽管根据上面的段落并不严格要求它。