Openssl x509v3扩展密钥使用
我知道,您可以通过在openssl.cfg文件中添加这样一行来指定证书公钥的用途: 但是,由于我有几个证书要创建,每个证书都有不同的扩展密钥用法,所以可以在命令行中指定我需要的属性吗(不使用openssl.cfg文件)?比如:Openssl x509v3扩展密钥使用,openssl,x509certificate,Openssl,X509certificate,我知道,您可以通过在openssl.cfg文件中添加这样一行来指定证书公钥的用途: 但是,由于我有几个证书要创建,每个证书都有不同的扩展密钥用法,所以可以在命令行中指定我需要的属性吗(不使用openssl.cfg文件)?比如: openssl req -newkey rsa:4096 \ -extendedKeyUsage "serverAuth,clientAuth" \ -keyform PEM \ -keyout se
openssl req -newkey rsa:4096 \
-extendedKeyUsage "serverAuth,clientAuth" \
-keyform PEM \
-keyout server-key.pem \
-out server-req.csr \
-outform PEM
谢谢 我最后做的是创建几个不同的openssl.cfg文件,并通过使用-config或-extfile开关来引用正确的文件。您只能使用以下内容:
openssl -extensions mysection -config myconfig.cnf
和myconfig.cnf:
[mysection]
keyUsage = digitalSignature
extendedKeyUsage = codeSigning
我不知道此功能的命令行界面。与处理SAN相同
openssl请求-subc“/CN=client”-sha256-新建-key client-key.pem-out client.csr\
-REQUEXTS SAN-config您可以尝试ADEXT:
openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout privateKey.key -out certificate.crt \
-subj '/CN=User1' \
-addext extendedKeyUsage=1.3.6.1.4.1.311.80.1 \
-addext keyUsage=keyEncipherment
适用于openssl 1.1.1aMike Twc,绝对正确!不幸的是,没有足够的声誉来标记他的答案是正确的,并为他的答案添加一个扩展,所以我写了一个新的答案。。。
您需要使用-addext,但请记住,key->value
参数在这里,所有值必须用逗号分隔
openssl req -x509 -nodes -newkey rsa:4096 -keyout efs.key -out efs.crt -days 36500 -subj '/CN=EFS/O=Company' -addext 'extendedKeyUsage=1.3.6.1.4.1.311.10.3.4,1.3.6.1.4.1.311.10.3.4.1'
你可能想“接受”你自己的答案(这样它就不会再显示为未回答的问题)我明白了:无法在config
@MarinosAn中找到“distributed_name”,因为config只包含与问题相关的部分。您可能需要再提供几个额外的参数。这超出了原始问题的范围。您可以向该答案添加注释,而不是单独添加注释answer@dtech由于评级限制,我以前无法执行此操作序列1.3.6.1.4.1.311.80.1
代表什么?应替换为extendedKeyUsage=serverAuth、clientAuth、codeSigning、emailProtection
?这是Microsoft特定的扩展(PKI)(我猜openssl中没有相应的名称)。这更像是一个可以使用OID而不是使用名称(您可能不知道名称)的示例
openssl req -x509 -nodes -newkey rsa:4096 -keyout efs.key -out efs.crt -days 36500 -subj '/CN=EFS/O=Company' -addext 'extendedKeyUsage=1.3.6.1.4.1.311.10.3.4,1.3.6.1.4.1.311.10.3.4.1'