什么是SSL/TLS?
SSL(Secure Sockets Layer)和TLS(Transport Layer Security)是用于在客户端与服务器之间建立加密通信通道的协议。虽然“SSL”一词仍被广泛使用,但自2000年起所有实际部署均基于TLS标准——SSL 3.0已于2015年被IETF正式弃用。当前主流版本为TLS 1.2(兼容性最佳)与TLS 1.3(性能与安全性双优),二者共同构成HTTPS加密的底层支撑。
它们不是证书,而是协议;SSL/TLS证书(即常说的SSL证书)是该协议运行所需的数字身份凭证,由受信任的CA签发,用于完成身份验证与密钥交换。没有证书,TLS握手无法建立可信连接;仅有证书而无TLS协议支持,也无法实现端到端加密。
技术背景:从SSL到TLS的演进
TLS协议版本的关键分水岭
TLS并非SSL的简单升级,而是协议架构的重构。TLS 1.0(RFC 2246)已移除SSL中存在严重漏洞的MD5+SHA-1混合签名机制;TLS 1.3(RFC 8446)更彻底废除了RSA密钥交换、静态DH及不安全密码套件,强制前向保密(PFS),将握手延迟压缩至1-RTT甚至0-RTT。
真实生产环境需注意:Windows Server 2008 R2默认仅支持TLS 1.0,若未手动启用TLS 1.2,即便安装了最新SSL证书,Chrome 100+与Firefox 110+也将拒绝建立连接。这是运维中高频触发“ERR_SSL_VERSION_OR_CIPHER_MISMATCH”的根本原因。
核心技术机制:TLS握手如何保障HTTPS
四步完成可信加密通道建立
当用户访问https://example.com时,浏览器与服务器执行TLS握手:
- 协商能力:客户端发送支持的TLS版本、密码套件列表(如TLS_AES_256_GCM_SHA384);
- 身份确认:服务器返回SSL证书及完整证书链,浏览器校验域名匹配、CA信任状态、OCSP/CRL吊销状态;
- 密钥交换:基于ECDHE算法生成临时密钥对,双方计算出相同的预主密钥(Pre-Master Secret);
- 加密切换:派生出会话密钥,后续所有HTTP数据均以AES-256-GCM加密传输。
整个过程耗时通常低于80ms(TLS 1.3下可低至20ms),且私钥永不离开服务器——这是区别于应用层加密的核心安全边界。
实践或部署经验:企业级落地关键点
在TopSSL服务的5000+客户中,超67%的TLS配置问题源于证书链缺失或中间证书未正确部署。例如Sectigo证书若仅上传domain.crt而不附加SectigoRSADomainValidationSecureSiteCA.crt,Edge浏览器将显示“NET::ERR_CERT_AUTHORITY_INVALID”。这并非证书无效,而是信任链断裂。
另一个典型工程约束:Nginx 1.11.0以下版本不支持TLS 1.3,若强行在ssl_protocols中添加“TLSv1.3”,服务将无法启动。建议采用“ssl_protocols TLSv1.2 TLSv1.3;”并配合OpenSSL 1.1.1+编译。
对于需要国密合规的政务系统,必须同时部署SM2证书与TLS_SM4_GCM_SM3密码套件,并通过GMSSL工具链验证——普通OpenSSL无法识别国密证书格式,这是国产化改造中最易踩坑的技术盲区。
常见问题
Q:SSL和TLS到底有什么区别?
A:SSL是已淘汰的旧协议(SSL 2.0/3.0),TLS是其继承者(TLS 1.0–1.3)。当前所有HTTPS均运行于TLS协议之上,“SSL证书”是行业约定俗成的叫法,实际承载的是TLS信任体系。
Q:没有SSL证书能用TLS吗?
A:不能。TLS协议依赖X.509证书完成身份认证。自签名证书虽可启用TLS,但浏览器因无法验证CA信任链会直接阻断连接,仅适用于测试环境。
Q:为什么有些网站显示HTTPS却提示“不安全”?
A:常见原因包括:证书域名不匹配(如证书为www.example.com但访问example.com)、证书过期、证书链不完整、或使用了已被根证书库移除的CA(如Symantec旧根)。



京公网安备11010502031690号
网站经营企业工商营业执照
















