我运行了以下命令:
openssl req -x509 -sha256 -nodes -newkey rsa:2048 -days 365 -keyout localhost.key -out localhost.crt
它创建了localhost.key和localhost.crt,但我还需要localhost.bundle.crt和localhost.csr。
我该如何创建另外两个?现在,我只是创建了文件并将 localhost.key 的内容复制到 localhost.csr 和 localhost.bundle.crt 中。
我认为在这些文件中放入什么并不重要,因为我将把它们用于我刚刚设置的暂存环境。有没有更好的方法?
答案1
您已使用单个命令创建了自签名证书。
另一种创建方法是.csr
先生成中间证书签名请求 ( ) 文件,然后使用另一个 OpenSSL 命令对其进行签名。最终结果相同 - localhost.crt
。除非您将证书请求发送给 CA 进行签名,否则您不需要该.csr
文件。如果您将请求发送给 CA,那么您只是使用了错误的命令,并生成了证书而不是证书签名请求。
证书包是证书的集合,当您拥有多个自签名证书时,证书包是必需的。也就是说,如果您有一个 CA 和一个终端实体(例如 Web 服务器),则可以创建两个证书的证书包,然后由终端实体使用。创建一个证书的证书包会产生与localhost.crt
您已经创建的文件相同的文件。如果您真的非常想要一个,那就cp localhost.crt localhost.bundle.crt
这样做吧 :-) 如果您确实打算创建证书签名请求并将其发送给 CA 进行签名,那么您希望从 CA 收到证书包。