# ===== CodeLab: HTTPS 与 TLS 握手过程 =====
# 来源: https://aoerliang.dpdns.org/articles/net-tls
# 以下代码片段按文章出现顺序拼接, 共 2 段

# ----- 片段 1 (bash) -----
# 建立 TLS 连接并打印证书链
openssl s_client -connect example.com:443 -showcerts

# 只看证书的签发者与有效期
echo | openssl s_client -connect example.com:443 2>/dev/null \
  | openssl x509 -noout -issuer -dates

# 查看站点支持的 TLS 版本
openssl s_client -connect example.com:443 -tls1_3

# ----- 片段 2 (bash) -----
# 证书过期?用 curl 查看报错
curl -v https://example.com

# 强制忽略证书错误(仅测试用,切勿用于生产)
curl -k https://example.com

# 检查证书链是否完整
openssl verify -CAfile ca.pem server.crt
