mirror of
https://github.com/emmansun/gmsm.git
synced 2025-05-11 03:26:17 +08:00
Updated 关于证书和TLS支持 (markdown)
parent
1660a8d9a5
commit
1316d8825b
@ -1,3 +1,24 @@
|
||||
* 证书支持:smx509
|
||||
* http tls支持(tlcp):第三方实现[gotlcp](https://github.com/Trisia/gotlcp),该实现ECC_SM4_GCM_SM3、ECC_SM4_CBC_SM3经过互操作测试,其它ECDHE_SM4_GCM_SM3、ECDHE_SM4_CBC_SM3没有通过互操作测试,目前没有可信的互操作测试目标,规范也描述不清。
|
||||
* [ShangMi (SM) Cipher Suites for TLS 1.3](https://www.rfc-editor.org/rfc/rfc8998),实现了和golang 1.19.x类似的ecdh,能融入golang sdk就比较好实现,单独维护成本太大,而且使用范围不广。
|
||||
* [ShangMi (SM) Cipher Suites for TLS 1.3](https://www.rfc-editor.org/rfc/rfc8998),实现了和golang 1.19.x类似的ecdh,能融入golang sdk就比较好实现,单独维护成本太大,而且使用范围不广。
|
||||
|
||||
## smx509实现中的问题:
|
||||
现有smx509实现中,我们定义了以下结构(非别名),用于覆盖x509中的实现或者添加新方法:
|
||||
```go
|
||||
// A Certificate represents an X.509 certificate.
|
||||
type Certificate x509.Certificate
|
||||
|
||||
// CertificateRequest represents a PKCS #10, certificate signature request.
|
||||
type CertificateRequest x509.CertificateRequest
|
||||
|
||||
type RevocationList x509.RevocationList
|
||||
```
|
||||
它的优点是:
|
||||
* 新的类型,可以覆盖旧方法、添加新方法;
|
||||
* 无需复制`x509`中相关结构的完整定义和方法;
|
||||
|
||||
它的缺点是:
|
||||
* 需要显示转换才能在这些类型和`x509`相应类型之间进行转换。
|
||||
* 如果`x509`中相应类型有私有字段(不管是直接的还是间接的),并且我们的扩展实现必须访问,则会引发可访问性问题。
|
||||
* 如果有其它类型中定义了该类型的字段,那这个类型必须完整重定义(复制完整实现),代码改动量、维护工作量也比较大。
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user