tjfoc/gmsm

请问 Config.Certificates 为啥需要两个秘钥对

CanYouGiveMeAName opened this issue · 2 comments

go 的标准库只传一个秘钥对就行了,我看本工程的注释也是Certificates contains one or more certificate chains to present,但是我只放一个就报错说必须要两个以上。我想着跟之前的TLS兼容,尝试两个放一样的,但是报错tls: no cipher suite supported by both client and server,这两个秘钥对有什么要求么。没有看到相关的设计文档,所以想咨询一下,谢谢~

尝试运行测试用例credentials_test.go,也失败了,错误如下:

handshake error : x509: certificate has expired or is not yet valid
readHandshake error: remote error: tls: bad certificate
handshake error : remote error: tls: bad certificate

国密TLS标准里要求要两对密钥,一对用于身份验证,一对用于加密解密信息。
标准库中的TLS只使用一对密钥,身份验证跟信息加解密用的同一对。

国密TLS标准里要求要两对密钥,一对用于身份验证,一对用于加密解密信息。 标准库中的TLS只使用一对密钥,身份验证跟信息加解密用的同一对。

了解,多谢!那最近测试用例你们可以跑过么。