From 0e8b4bc88a2c4314953bd94b3c3fde5e9bc54773 Mon Sep 17 00:00:00 2001 From: Sun Yimin Date: Mon, 3 Mar 2025 13:50:20 +0800 Subject: [PATCH] =?UTF-8?q?Updated=20=E5=85=B3=E4=BA=8E=E8=AF=81=E4=B9=A6?= =?UTF-8?q?=E5=92=8CTLS=E6=94=AF=E6=8C=81=20(markdown)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 关于证书和TLS支持.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/关于证书和TLS支持.md b/关于证书和TLS支持.md index a6a4bf8..943c397 100644 --- a/关于证书和TLS支持.md +++ b/关于证书和TLS支持.md @@ -31,6 +31,8 @@ Golang 在`x509.Certificate`中引入了新字段(忽略简单字段): #### 方案一 重新定义`Certificate`,不再是简单的类型定义`type Certificate x509.Certificate`,而是拷贝`x509.Certificate`完整结构,或者扩展`x509.Certificate`结构,这样的话,在两者之间转换成本就偏高。 +假设以后Golang在某个版本又新加了新字段,那为了兼容以前的旧版本,在两者转换的时候,还需要通过反射来判断该字段的存在性;或者不转新字段,直到支持的Golang最小版本都支持该字段。 + #### 方案二 彻底抛弃原来的实现,放弃支持非国密,这个改动可能成本更高,且有上游的兼容性问题。