0

我正在寻找一种方法来打开 HTTPS 连接,同时将必要的证书存储在 TPM 中。

现在我正在使用 HTTPClient 打开连接,只要证书存储在磁盘上,一切正常。

  http = HTTPClient.new
  request = "#{address}/#{command}"
  http.ssl_config.set_client_cert_file("#{CLIENT_CERT}",
                                       "#{CLIENT_KEY}")

如果客户端私钥存储在 TPM 中,我该怎么做?

4

1 回答 1

1

你有两种可能性:

  • 将密钥存储在 TPM 的非易失性存储器中
  • “密封”包含密钥的文件

要在 Ruby 中执行此操作,您可以:

但是,我不确定从架构的角度来看这是否是您正在寻找的。通过 TPM 加载密钥仅在启动时可行。如果你想对每个请求都这样做,它会扼杀你的表现。此外,您需要注意将密钥从内存中安全擦除,否则将毫无意义。

于 2015-01-02T15:00:32.210 回答