如何生成 CSR 以将 SSL 证书附加到站点?有关安装 SSL 证书的各种文章描述了生成私钥和 CSR 的不同方法。这就像两个不同的版本: (a)openssl req -nodes -newkey rsa: 2048 -keyout myserver.key -out server.csr
和 (b) openssl genrsa -des3 -out www.mydomain.com.key 2048
。
所以 -
- 如何生成CSR和私钥?
- 生成 CSR 和关键 (a) 和 (b) 的团队之间有什么区别?
- 生成CSR和密钥时是否需要设置密码?
- 减少网站是否因为私钥的密码而容易受到攻击?
答案1
我将向您粘贴在我创建 ssl 证书时真正帮助我的网站,它非常有用。
答案2
SSL 通过匹配公钥和私钥来工作。这就是为什么您首先必须生成密钥,然后根据该密钥生成 CSR。稍后,当您使用此证书时,您会发现您的应用程序或服务需要知道证书和密钥在哪里。您需要密钥才能正确使用证书。在某些情况下,密钥和证书可以连接到同一文件中,或导入到 java 密钥库中。
当你在 openssl req 上看到像“-sha256”这样的标志时,它告诉 openssl 你想在这个证书上放置一个密码(这是一个非常糟糕的主意,而且令人头疼,99% 的可能性你不需要任何密码。密码只会让任何人都无法查看您的资源,除非他们有专门用于证书的密码。这从未使用过,7 年来我从未见过任何人使用 ssl 密码。
这回答了你为什么的问题。现在你该怎么做:
- openssl genrsa -out mydomain.com.key 2048
现在您刚刚创建了一个 2048 位加密的密钥。您现在至少需要 2048,否则您的证书将无法通过审核,您必须重做。
- openssl req -new -key ./mydomain.com.key -out mydomain.com.csr
现在,您告诉 openssl 根据您在第 1 部分中创建的密钥创建一个 CSR。您现在拥有此 CSR。您还可以使用 openssl 生成您自己的未签名证书,或者您可以发送给注册商为您提供证书(费用为 美元)。
当您获得该证书时,您将向您的应用程序或服务发出指令,告诉它密钥在哪里以及证书在哪里。如果您使用未签名的证书,它仍然会像签名一样加密,但浏览器会将其视为不可信,因为资本主义(和安全性)。