ssl - 您可以为现有证书生成私钥吗?

标签 ssl server

我获得了 BaltimoreCyber​​TrustRoot 颁发的证书,但没有获得 key ,我可以为现有证书生成 key 吗?

最佳答案

显然,您不能从现有证书生成私钥,否则您基本上可以模拟任何给定的 HTTPS 网站(如何?证书是公开的,您下载它并神奇地创建关联的私钥,然后您就拥有了该证书名称的经过验证的网站...)

通常生成证书是这样的:

  • 生成公钥/私钥,公钥用于计算包含公钥和一些元数据的 CSR 或证书签名请求
  • 您将 CSR 交给 CA
  • CA 会根据 CSR 的内容返回给你一个证书,并由他们自己的私钥签名(这样通过使用 CA 证书 - 它有相应的 CA 公钥 - 你可以验证这个生成的证书是确实由该特定 CA 签署/颁发)。

所以你有私钥。

如果您遇到 CA 或中间机构为您生成所有内容的情况(这在安全方面很糟糕,这意味着他们拥有私钥,因此可以冒充),那么您必须请他们向您发送证书和私钥!

关于ssl - 您可以为现有证书生成私钥吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53673931/

相关文章:

php - cURL PHP SSL - 无法验证服务器端,但并非总是如此

google-app-engine - 使用 Let's Encrypt "could not be inserted"的 Google App Engine SSL

apache - 如何在代理后面隐藏弱 SSL?

http - Golang使用 "template"包生成动态网页给客户端耗时太长

server - 无法从服务器下载 .apk 文件

php - 无法使用本地计算机作为服务器在客户端运行桌面应用程序

javascript - Cordova - 如何使用 Node.js 服务器制作在线应用程序/游戏

ssl - Istio:无法通过 HTTP/HTTPS 使用网关访问服务

c# - 我可以从 System.Net.Security.SslStream 获得什么级别的线程安全?

windows - 无需登录即可在系统启动时启动应用程序