LibreSSL 3.2.0-TLS 1.3

2020-06-01 23:11:05

我们已经发布了LibreSSL 3.2.0,它将很快到达您本地OpenBSD镜像的LibreSSL目录。这是3.2.x系列的第一个开发版本,它将最终成为OpenBSD 6.8的一部分。包括以下变化:*除客户端外,默认开启TLS 1.3服务端。通过此更改,TLS1.3完全在新的堆栈和状态机上进行处理,对于旧版本则后退到旧的堆栈和状态机。请注意,OpenSSL TLS 1.3 API还不可见/不可用。*改进TLS 1.3记录层中的长度检查,并为违反记录层限制的情况提供适当的警报。*强制TLS服务器接收的SNI主机名按照RFC 5890和RFC 6066正确格式,并使用不一致主机名的非法参数进行响应。*支持TLS 1.3中的SSL_MODE_AUTO_RETRY,允许自动重试握手消息。*修改I/O行为,使SSL_MODE_AUTO_RETRY为默认,类似于新的OpenSSL版本。*修改openssl(1),在各种命令中适当清除SSL_MODE_AUTO_RETRY。*添加基于tlsfuzzer的回归测试。*支持从TLS 1.3客户端发送证书状态请求,请求OCSP钉书钉获取叶证书。*支持从TLS 1.3服务器发送证书状态回复,以便为叶证书发送OCSP钉。*在TLS 1.3服务器上处理失败的密钥共享扩展时发送正确的警报。*用于从新堆栈切换到传统堆栈的TLS 1.3到1.2回退的各种兼容性修复。*支持openssl(1)命令中的TLS 1.3选项。*TLS 1.3中的许多警报清理功能可在故障条件下提供预期的警报。*修改";openssl x509";,将无效证书次数显示为无效,正确处理X509_CMP_TIME返回失败案例,使NotAfter无效的证书看起来无效。*支持发送虚拟CHANGE_CIPHER_SPEC记录,兼容TLS 1.3中间盒。*确保在TLS 1.3中仅将PSS签名与RSA一起使用。*确保TLS 1.3客户端在其REGISTICE_COMPRESSION_METHOD中准确通告";NULL&34;压缩方法。*在openssl(1)s_client中正确使用sockaddr_storage而不是sockaddr,这可能导致在DTLS模式下使用14字节的堆栈垃圾而不是IPv6地址。*在构建证书链时首先使用未过期的证书。LibreSSL项目不断改进代码库,以反映现代、安全的编程实践。我们欢迎来自更广泛社区的反馈和改进。感谢所有帮助使此次发布成为可能的贡献者。