我们有一个网站,需要连接到使用支持特定密码的系统的第三方服务。我试过 LetsEncrypt 和 Comodo,但都不起作用。
是否有资源可以帮助我找到哪个 SSL 证书颁发机构支持所需的密码,而无需进行安装和执行nmap --script ssl-enum-ciphers -p 443 example.org
以下是支持的密码:
Cipher# 0 : TLS_RSA_WITH_AES_256_CBC_SHA256
Cipher# 1 : TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
Cipher# 2 : TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
Cipher# 3 : TLS_RSA_WITH_AES_256_CBC_SHA
Cipher# 4 : TLS_DHE_RSA_WITH_AES_256_CBC_SHA
Cipher# 5 : TLS_DHE_DSS_WITH_AES_256_CBC_SHA
Cipher# 6 : TLS_RSA_WITH_AES_128_CBC_SHA256
Cipher# 7 : TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
Cipher# 8 : TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
Cipher# 9 : TLS_RSA_WITH_AES_128_CBC_SHA
Cipher# 10 : TLS_DHE_RSA_WITH_AES_128_CBC_SHA
Cipher# 11 : TLS_DHE_DSS_WITH_AES_128_CBC_SHA
Cipher# 12 : TLS_EMPTY_RENEGOTIATION_INFO_SCSV
Cipher# 13 : TLS_DH_anon_WITH_AES_256_CBC_SHA256
Cipher# 14 : TLS_DH_anon_WITH_AES_256_CBC_SHA
Cipher# 15 : TLS_DH_anon_WITH_AES_128_CBC_SHA256
Cipher# 16 : TLS_DH_anon_WITH_AES_128_CBC_SHA
Cipher# 17 : SSL_RSA_WITH_DES_CBC_SHA
Cipher# 18 : SSL_DHE_RSA_WITH_DES_CBC_SHA
Cipher# 19 : SSL_DHE_DSS_WITH_DES_CBC_SHA
Cipher# 20 : SSL_DH_anon_WITH_DES_CBC_SHA
Cipher# 21 : TLS_RSA_WITH_NULL_SHA256
Cipher# 22 : SSL_RSA_WITH_NULL_SHA
Cipher# 23 : SSL_RSA_WITH_NULL_MD5
Cipher# 24 : TLS_KRB5_WITH_DES_CBC_SHA
Cipher# 25 : TLS_KRB5_WITH_DES_CBC_MD5
答案1
证书不会明确确定服务器可以使用哪些密码。这实际上是由密码字符串配置参数控制的(例如,在使用 OpenSSL 的应用服务器上),该参数允许服务器管理员启用或禁用特定密码或密码套件,或者选择特定的密码顺序。
这里有一些关于此内容的好的信息:https://www.owasp.org/index.php/TLS_Cipher_String_Cheat_Sheet
答案2
证书主要有两种,不同之处在于所使用的公钥类型:典型的是 RSA 证书,较少使用的则是 ECC 证书。第一种证书用于使用 RSA 认证的密码(即TLS_RSA_WITH_AES_256_CBC_SHA256
,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
您列表中的 ...),而 ECC 证书用于使用 ECDSA 认证的密码(您列表中没有 ECDSA 密码)。
列表中的几种密码根本不使用证书,例如TLS_DH_anon_WITH_AES_256_CBC_SHA
或TLS_KRB5_WITH_DES_CBC_SHA
。列表中的其他密码根本不是真正的密码,而只是伪密码:TLS_EMPTY_RENEGOTIATION_INFO_SCSV
。然后是 DSS 密码,它们需要 DSA 证书,而公共 CA 无论如何都不会颁发证书。
除此之外,此列表中的许多密码都非常不安全,例如SSL_RSA_WITH_NULL_MD5
(根本没有加密)、SSL_RSA_WITH_DES_CBC_SHA
(加密容易破解)或TLS_DH_anon_WITH_AES_256_CBC_SHA
(由于没有对服务器进行身份验证,因此无法防范中间人攻击)。
我们有一个网站,需要连接到使用具有特定密码支持的系统的第三方服务。
如果您需要连接到第三方服务,则您是 TLS 客户端。TLS 客户端通常根本没有证书。如果需要相互认证,TLS 客户端可能需要(客户端)证书。在这种情况下,证书类型与密码完全无关 - 只有服务器证书才有这种关系。但服务器可能需要特定证书,例如由第三方证书颁发机构颁发的证书或具有特定属性的其他证书。证书需要具备哪些属性应由第三方服务记录。