SSL/TLS 参考
SSL/TLS版本和密码套件参考(含安全状态)。
SSL 2.0
1995已破裂Broken — multiple critical vulnerabilities. RFC 6176 prohibits use.
SSL 3.0
1996已破裂Broken — POODLE attack. RFC 7568 prohibits use.
TLS 1.0
1999已弃用Deprecated — BEAST attack. PCI DSS disallows after 2018.
TLS 1.1
2006已弃用Deprecated — no significant improvements over 1.0. Browsers dropped in 2020.
TLS 1.2
2008安全Current — widely supported. Use with AEAD cipher suites only.
TLS 1.3
2018安全Latest — faster handshake, forward secrecy mandatory, removed legacy ciphers.
关于此工具
SSL/TLS 是保护网络上所有 HTTPS 连接的加密协议。该参考工具提供了 SSL/TLS 版本、密码套件及其当前安全状态的综合指南,帮助开发人员和安全专业人士了解哪些协议可以安全使用,哪些存在已知漏洞。无论你是在配置网络服务器、审计基础设施还是学习现代加密技术,这个工具都能简化复杂性并为你提供事实。
使用此工具查找特定的 SSL/TLS 版本(从旧版 SSLv3 到现代 TLS 1.3),查看其安全评级、支持的密码套件和密钥算法。你可以快速检查密码套件是否适合生产环境使用、验证特定 TLS 版本中的算法、理解对称和非对称加密方法的区别。当你需要解决兼容性问题、升级服务器配置或准备安全合规性审计时,这个工具非常有价值。
这个工具非常适合系统管理员、DevOps 工程师和应用安全团队使用,他们需要快速答案而不必深入阅读冗长的 RFC 文档。请注意,加密标准在不断演变,做出关键安全决策时务必将此参考资料与 IETF 或你的证书颁发机构的官方文档结合使用。
常见问题
代码实现
import ssl
import socket
# Check server's TLS version and cipher
def check_tls(hostname, port=443):
context = ssl.create_default_context()
with socket.create_connection((hostname, port)) as sock:
with context.wrap_socket(sock, server_hostname=hostname) as ssock:
cipher = ssock.cipher()
version = ssock.version()
cert = ssock.getpeercert()
return {
'version': version,
'cipher': cipher[0],
'bits': cipher[2],
'subject': dict(x[0] for x in cert['subject']),
'expires': cert['notAfter']
}
# Configure minimum TLS version
def create_secure_context(min_version=ssl.TLSVersion.TLSv1_2):
ctx = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
ctx.minimum_version = min_version
ctx.maximum_version = ssl.TLSVersion.TLSv1_3
ctx.load_default_certs()
return ctx
# Example
try:
info = check_tls('example.com')
print(f"TLS Version: {info['version']}")
print(f"Cipher: {info['cipher']} ({info['bits']} bits)")
print(f"Certificate expires: {info['expires']}")
except Exception as e:
print(f"Error: {e}")
Comments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.