【问题标题】:How does one add certificate_authorities to CertificateRequest message in TLSv1.3如何在 TLSv1.3 中将 certificate_authorities 添加到 CertificateRequest 消息中
【发布时间】:2020-06-01 14:08:59
【问题描述】:

我正在使用 TLS 1.3 设置相互身份验证,使用 spring boot 服务器和 curl 客户端进行测试。我的信任库包含两个正确加载的证书链 - 实际上,相互身份验证在此测试设置中有效。

但是,基于 RFC8446 规范,我试图在 SSL 握手中获取 CertificateRequest 消息以包含 certificate_authorities 扩展。

日志记录 (-Djavax.net.debug=all) 显示来自服务器的证书请求消息,没有 certificate_authorities

javax.net.ssl|DEBUG|13|https-jsse-nio-8443-exec-2|2020-02-17 14:24:15.419 CET|CertificateRequest.java:864|Produced CertificateRequest message (
"CertificateRequest": {
  "certificate_request_context": "",
  "extensions": [
    "signature_algorithms (13)": {
      "signature schemes": [ecdsa_secp256r1_sha256, ecdsa_secp384r1_sha384, ecdsa_secp521r1_sha512, rsa_pss_rsae_sha256, rsa_pss_rsae_sha384, rsa_pss_rsae_sha512, rsa_pss_pss_sha256, rsa_pss_pss_sha384, rsa_pss_pss_sha512, rsa_pkcs1_sha256, rsa_pkcs1_sha384, rsa_pkcs1_sha512, ecdsa_sha1, rsa_pkcs1_sha1]
    },
    "signature_algorithms_cert (50)": {
      "signature schemes": [ecdsa_secp256r1_sha256, ecdsa_secp384r1_sha384, ecdsa_secp521r1_sha512, rsa_pss_rsae_sha256, rsa_pss_rsae_sha384, rsa_pss_rsae_sha512, rsa_pss_pss_sha256, rsa_pss_pss_sha384, rsa_pss_pss_sha512, rsa_pkcs1_sha256, rsa_pkcs1_sha384, rsa_pkcs1_sha512, ecdsa_sha1, rsa_pkcs1_sha1]
    }
  ]
}
)

此扩展是可选的,可以在CertificateRequest 中发送,但我想将其包含在此消息中,以便真正的客户端设备能够基于此向服务器发送正确的证书。

【问题讨论】:

    标签: java jsse mutual-authentication tls1.3


    【解决方案1】:

    在研究这个问题时,我遇到了JDK-8206925,它指出

    当前的 TLS 1.3 实现不支持此功能 [...]

    所以显然它只是 java 的一个未解决问题(或者至少是我使用的 openJDK java)。

    我很高兴被证明是错误的..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      • 2014-02-23
      • 2015-02-23
      • 2016-05-21
      • 1970-01-01
      相关资源
      最近更新 更多