【问题标题】:Private keys in keystore. Which one is used while handshaking?密钥库中的私钥。握手时使用哪一个?
【发布时间】:2013-08-15 10:43:12
【问题描述】:

我正在使用代理和 ssl 连接创建用于 web 服务的适配器,并且在理解握手机制方面存在一个问题。我将解释一个例子。

我的行动:

  1. 制作服务器。使用 keytool 创建私钥。为它创建.cer 文件。
  2. 制作客户端。为他创造同样的东西。
  3. 互相交换.cer,在keystore中导入对方的证书。
  4. 创建连接。行。一切正常。
  5. 在服务器的密钥库中,我生成了新的私钥。

问题:服务器使用哪个pr_key进行握手?

【问题讨论】:

    标签: ssl https cer handshaking


    【解决方案1】:

    具有对应私钥的那个。

    导出要在对等方的 trust 存储中使用的证书不会导出私钥。所以实际上只有一个可供选择:与从中生成的证书相对应的一个。

    【讨论】:

    • 2 个阶段:1) 握手,2) 之后的会话。那么什么时候使用pr_key和certificate呢?握手时使用的第一条消息的格式是什么?
    • 在我看来 - 答案是“两者兼而有之”。如果客户不将他的 client_pub.cer 发送到服务器怎么办?
    • 证书在握手过程中发送给对端。 SSL 握手消息在RFC 2246 中定义,尽管为什么您认为您需要知道它们是另一个问题。如果服务器请求客户端证书并且客户端没有发送它(a)这将是因为客户端没有证书或没有正确配置,并且(b)服务器可能会或可能不会关闭连接取决于它是设置为“请求”还是“要求”客户端的证书。
    猜你喜欢
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2019-08-12
    • 2016-02-13
    • 2012-05-17
    • 1970-01-01
    • 2014-01-06
    • 2013-06-02
    相关资源
    最近更新 更多