我有一个csr(证书签名请求)。
我必须改变CN从csr,留下其他领域完整。这就像更新现有的企业社会责任。
这应该自动完成。在c/c++/openssl中有什么方法可以这样做吗?
发布于 2016-01-04 16:33:09
您不能更改请求文件中的任何内容,因为它是数字签名的消息。如果您在那里更改了至少一位,则会使签名无效。CA服务器将拒绝它。
你能做的是:
发布于 2022-01-10 07:36:50
TL;DR:
试试这个:
openssl req -in /your/csr/file.csr -out /your/csr/newfile.csr -subj "/C=ID/ST=REDACTED/L=REDACTED/O=REDACTED/OU=REDACTED/CN=newsubdomain.example.com"更多描述方式:
如果您使用openssl命令openssl req -in /your/csr/file.csr -noout -text描述CSR,您将看到其中的一些部分:
Certificate Request:
Data:
Version: 0 (0x0)
Subject: C=ID, ST=REDACTED, L=REDACTED, O=REDACTED, OU=REDACTED, CN=subdomain.example.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:aa:bb:cc:dd:ee:ff:aa:bb:cc:dd:ee:ff:00:11:要获得CSR的当前Subject部分,可以运行以下命令:openssl req -in /your/csr/file.csr -noout -subject,您将得到以下命令:
subject=/C=ID/ST=REDACTED/L=REDACTED/O=REDACTED/OU=REDACTED/CN=subdomain.example.com您可以通过运行以下命令来更改它以满足您的需要:
openssl req -in /your/csr/file.csr -out /your/csr/newfile.csr -subj "/C=ID/ST=REDACTED/L=REDACTED/O=REDACTED/OU=REDACTED/CN=newsubdomain.example.com"那你瞧!您有一个新的CSR,它具有相同的公钥( Subject Public Key Info部分)和更新的Subject部件。您可以使用上面的命令再次检查您的CSR,但请记住指定正确的文件(即/your/csr/newfile.csr)。
https://stackoverflow.com/questions/34594937
复制相似问题