我收到了一个用于 ssl 连接的新密钥库 .jks 文件,以替换旧的但有效的 .jks 密钥库文件,但我收到了“意外的握手消息:serve_hello”错误。我被告知要确保密钥库包含客户端证书,所以我使用 keytool 将其证书导出到 pem 文件,然后使用 openssl 来检查目的。结果显示
证书用途: SSL 客户端:否 SSL 客户端 CA:否 SSL 服务器:是 SSL 服务器 CA:否 ...
但是,当我应用相同的过程来检查旧的但有效的 jks 文件时,我得到了相同的结果。想知道这是否是验证证书的正确方法?以及如何使用新的 jks 文件解决此握手错误?
谢谢!
答案 0 :(得分:0)
extended key usage 扩展包含定义用途的 OID:
<块引用>id-kp-serverAuth 对象标识符 ::= { id-kp 1 } -- TLS WWW 服务器认证 -- 可能一致的密钥使用位:digitalSignature, -- keyEncipherment 或 keyAgreement
id-kp-clientAuth 对象标识符 ::= { id-kp 2 } -- TLS WWW 客户端认证 -- 可能一致的密钥使用位:digitalSignature -- 和/或 keyAgreement https://datatracker.ietf.org/doc/html/rfc5280 第 44 页
参见:https://oidref.com/1.3.6.1.5.5.7.3.1 和 https://oidref.com/1.3.6.1.5.5.7.3.2
在 Windows 上打开证书时,您可以在此处看到扩展名: