Openssl x509v3扩展密钥使用

Openssl x509v3扩展密钥使用,openssl,x509certificate,Openssl,X509certificate,我知道,您可以通过在openssl.cfg文件中添加这样一行来指定证书公钥的用途: 但是,由于我有几个证书要创建,每个证书都有不同的扩展密钥用法,所以可以在命令行中指定我需要的属性吗(不使用openssl.cfg文件)?比如: openssl req -newkey rsa:4096 \ -extendedKeyUsage "serverAuth,clientAuth" \ -keyform PEM \ -keyout se

我知道,您可以通过在openssl.cfg文件中添加这样一行来指定证书公钥的用途:

但是,由于我有几个证书要创建,每个证书都有不同的扩展密钥用法,所以可以在命令行中指定我需要的属性吗(不使用openssl.cfg文件)?比如:

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.1a

Mike 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'