「已注销」 2024-08-30 17:19 采纳率: 0%
浏览 9
已结题

关于OpenSSL的req子命令的疑惑

关于OpenSSL的openssl req命令,我查看了它的帮助文档,对于里面的内容有几处问题,以下是我所记录的相关问题

  1. openssl req的-key选项,帮助文档内描述 对于证书签名,此选项被-CA选项所取代 ,被-CA选项所取代?我测试并没有这种情况
  2. openssl req的-key选项,帮助文档内描述 除非给出了-in,否则将在新证书或证书请求中放置相应的公钥,从而产生自签名 ,这应在指定了-x509选项的情况中才会发生
  3. openssl req的-x509选项,帮助文档内描述 它隐含了-CA选项 ,在-CA的帮助内也是 它隐含了-x509”选项 ,-CA选项应该需要一个参数,但我在使用-x509时并不需要指定参数,我也并不理解这是什么意思,-CA和-x509应该是一个用来签署证书,一个用来生成自签证书

这些问题是文档的编写错误吗?还是我理解错了?

  • 写回答

1条回答 默认 最新

  • 吃不了席 2024-08-30 17:20
    关注

    以下回复参考:皆我百晓生券券喵儿等免费微信小程序作答:

    1. 关于-key选项被-CA选项所取代的问题,实际上-key选项用于指定私钥文件,而-CA选项用于指定证书颁发机构(CA)的证书。这两个选项在生成证书请求时并不冲突,可以同时使用。例如:
    openssl req -new -key private_key.pem -out request.csr -subj "/CN=example.com"
    

    这里,-key选项用于指定私钥文件private_key.pem,而-out选项用于指定输出的证书请求文件request.csr

    1. 关于-key选项的描述问题,确实有些混淆。-key选项用于指定私钥文件,而不是公钥文件。当没有指定-in选项时,OpenSSL会从私钥文件中提取公钥并将其放入新证书或证书请求中。因此,在这种情况下,-key选项确实会导致生成自签名证书。但是,如果指定了-in选项并提供了一个包含公钥的文件,那么-key选项将不再影响证书的生成。

    2. 关于-x509选项和-CA选项的描述问题,这里的描述可能有些误导。-x509选项用于生成X.509格式的证书,而-CA选项用于指定证书颁发机构的证书。当你使用-x509选项时,你实际上是在创建一个X.509格式的证书,而不是一个证书请求。在这种情况下,你需要提供一个私钥文件(通过-key选项),以便OpenSSL可以使用它来签署证书。而-CA选项通常用于签署证书请求,而不是直接创建证书。如果你想要创建一个自签名证书,你可以省略-CA选项,并使用-x509选项。例如:

    openssl req -x509 -newkey rsa:2048 -keyout private_key.pem -out certificate.pem -days 365 -subj "/CN=example.com"
    

    这里,-x509选项用于生成X.509格式的证书,-newkey选项用于生成一个新的RSA私钥,-keyout选项用于指定输出的私钥文件,-out选项用于指定输出的证书文件,-days选项用于设置证书的有效期,-subj选项用于设置证书的主题。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月10日
  • 创建了问题 8月30日