Centos/Fedora 密码套件

Centos/Fedora 密码套件

我使用 openssl 命令在 Fedora CLI 服务器上创建了一个自签名证书

openssl req -x509 -sha256 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 100

据我了解,TLS 的工作原理如下:

  1. 客户端向服务器发送密码套件首选项
  2. 服务器选择密码套件,并将证书和(rsa)公钥发送给客户端
  3. 客户端生成一个预主密钥(大部分是随机数)。使用给定的公钥对其进行加密,并将其发送到服务器。
  4. 客户端和服务器各自生成主密钥和会话密钥。会话密钥是提供“安全通道”的对称密钥。

问题 1. 如何找出会话密钥使用的对称加密算法?

问题2.这个openssl命令跟该命令有什么关系openssl ciphers

问题 3. TLS 是否隐式使用 Diffie Hellman?我是否在使用 Diffie Hellman?

问题 4. 我看到网上有一篇文章建议禁用某些密码。我该怎么做?

任何帮助都将不胜感激,谢谢

编辑

问题 5. 因此,如果我的应用程序(例如,Apache HTTP Server)同时使用 TLS 和 x509 证书,并且客户端使用 https 请求连接到该服务器,那么商定的密码套件是否会是这样的:TLS_RSA_WITH_NULL_SHA?(我刚刚从我的命令中放入了这些元素)

答案1

我认为您对 X.509 证书和 TLS 感到困惑。TLS 只是证书的一个应用(但也是最大的应用)。

  1. 会话密钥算法取决于应用程序。例如,如果您将证书与 Apache Web 服务器一起使用以进行 TLS,则可能的算法列表将在 Apache 的配置文件中配置。配置 Web 服务器以使用您的证书和私钥后,您可以使用各种工具检查使用了哪些算法,例如openssl s_clientnmap,或者您的服务器是否可以使用以下网站从 Internet 访问:SSL 实验室
  2. 没有,除了它们都以 开头openssl。OpenSSL 是一个用于处理多种加密技术的工具包。上面的命令生成了一个密钥对和一个 X.509 证书;该openssl ciphers命令使用与配置 Apache 等应用程序时相同的“密码字符串”逻辑列出 SSL/TLS 密码套件,从而提供了一种方便的方法来测试这些设置。该openssl程序还可用于加密/解密文件、计算消息摘要和随机数等。
  3. TLS 可以使用服务器和客户端同意的多种算法。您没有使用 Diffie-Hellman 创建 X.509 证书。该证书可能用于 TLS,它可能使用 Diffie-Hellman 的普通形式(整数)或椭圆曲线形式。
  4. 启用和禁用密码通常由应用程序(例如 Apache)而不是证书控制,尽管存在一些特殊情况(例如 DSA 证书与 RC4 不兼容)。

相关内容