跳到内容
🛠️ToolsShed

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.