如何使用 StartSSL 的 SSL 证书文本创建 SSL 证书?

如何使用 StartSSL 的 SSL 证书文本创建 SSL 证书?

我已经收到来自启动SSL为了我的领域纯文本看起来有点像:

-----BEGIN CERTIFICATE----- [...]Many letters and digits[...] -----END CERTIFICATE-----

.cer我正在尝试从中创建一个文件text 使用此处的说明。除了证书文本,我还需要传递私钥文本 (如果错了请纠正我)就像这样OpenSSL命令行:

openssl pkcs12 -export -out mycertkey.p12 -in certificate.txt -inkey key.txt

更新:创建 PKCS#12 (PFX) 文件StartSSL 网站上的选项也需要文本形式的私钥。已尝试迈克尔的 评论

根据最近与 StartSSL 人员的对话,我尝试在转换器网站但没有生成 .cer 文件的选项

根据我与 StartSSL 人员的讨论电子邮件,我相信私钥在我的 CSR 中,但是当我使用pkcsOpenSSL 工具上的实用程序将其作为密钥提供时,并没有得到很好的结果:

无法加载私钥

问题:我如何提供私钥文本?我的意思是 StartSSL 工具箱上的私钥文本在哪里?或者我如何从证书中提取它作为文本?

答案1

你说你想创建一个.cer文件,但你链接的说明并没有这样做。.cer文件通常包含仅有的一个证书,或者很少是多个证书,而一个.p12或一个.pfx文件(它们基本上是同一个东西)的全部目的是包含一个私钥和证书。如果您尝试运行 SSL/TLS 服务器(例如 HTTPS,但也包括 LDAPS SMTPS FTPS 等),则您确实需要私钥和证书,否则通常不需要。

私钥用于生成CSR,但不在其中;CSR 已发送给其他人,因此它不是私有的。它不在 StartSSL 中,因为那不是私有的。它不在您的证书中,因为那不是私有的。

看看你的.pfxwith中有什么openssl pkcs12 -in whatever.pfx -nodes。如果输出至少包含一个以一行开头的块,后面跟着几行全部或几乎全部字母和数字,那么你就有-----BEGIN PRIVATE KEY-----一行-----END PRIVATE KEY-----一些私钥。(如果使用版本低于 1.0.0 的 OpenSSL,它将显示RSA PRIVATE KEY而不是PRIVATE KEY。)如果是这样,请执行以下操作: openssl pkcs12 -in whatever.pfx -nocerts -nodes -out key.txt现在尝试openssl pkcs12 -export在你的问题中。如果它没有给出错误,并且没有说“没有证书与私钥匹配”,您有正确的密钥。此时,结果可以导入到 Windows 存储并由 IIS 等程序使用,或由 Tomcat 等程序直接使用。

但是,SSL/TLS 服务器还应具有链证书。如今,CA 大多使用一个链证书(以及根证书,但这里不需要);有些使用两个或更多。哪个链证书是正确的,取决于您获得的证书类型(验证和类别);StartSSL 网站应该可以告诉您。如果您没有获取和配置正确的链证书,您的服务器将运行,但客户端有时会无法连接到它,可能几乎总是如此,也可能很少如此。获取 PEM 格式的正确链证书(您已经看到的格式,通过-----BEGIN CERTIFICATE----------END CERTIFICATE-----,并将它们放在文件中,例如chain.txt,然后添加-certfile chain.txt到您的pkcs12 -export命令中。

PS- 大多数人和示例都使用.pemnot.txt作为这些 PEM 格式文件的扩展名。openssl无论哪种方式,软件都可以使用,但这种方式对人们来说更有意义、更有帮助。

相关内容