简而言之,我需要将一个数字签名放到我的Yubikey的9c槽中。如果从Yubikey生成证书,则私钥不可导出。因此,我试图从计算机本身生成pfx文件,这样我就可以将多个密钥导入到多个密钥中,而不需要多个不同的证书。
我花了6+几个小时在谷歌上,这一切都变得令人困惑。我想我想要的是一个“自我签名”的数字签名证书。
通过提供简单的参数,我遇到了使用certreq -new .\certname.txt的方法。
但我唯一知道的是我需要在我的档案里:
[NewRequest]
Subject = "CN=Test Sign, E=email@address.com"
KeyLength = 2048
HashAlgorithm = Sha256
KeyUsage = 0x0080 ; Digital Signature
RequestType = Cert
ValidityPeriodUnits = 1
ValidityPeriod = Years但我不知道这里还有什么能让它成为一个合适的签名证书。
我想要能够使用这个签名文件在任何项目,我要去。
我与Acrobat混在一起,您可以在该程序中创建一个数字sig;但是它将OID限制在1.2.840.113583.1.10,这是为Adobe设计的。
之后,我找到了一种方法,它说可以通过OpenSSL (我安装的)生成一个;但是我不太确定我需要采取哪些步骤。我只知道我需要RSA 2048 / SHA256。我甚至不确定我读过的文档是否OpenSSL是一条正确的路线。因为我需要生成密钥,然后将其导出到pfx / p12,以便将其导入智能卡。
如果能帮助结束这场噩梦,我们将不胜感激。
发布于 2022-10-10 06:49:25
如果您想成为一个CA或者只是生成您的自签名证书,有一个建议为您,使用OpenSSL来完成。
您可以通过以下操作生成自签名的结束条目证书:
openssl genrsa -out /path/to/privkey.pem 2048 # Generate RSA private key with 2048 bits
(在我的习惯中,我通常生成一个空白的CSR并在签名证书中添加扩展)
(1)。打开文件,创建一个新的部分,您可以给它取一个名称(比如[v3_mycert])。
(2)。将这些行添加到新的部分。如果要在"#“之后添加扩展名,请删除”#“。
#authorityInfoAccess=OCSP;URI:http://www.example.com, #caIssuers;URI:http://www.example.com/ca.crt
#crlDistributionPoints=crlDistributionPoint0_sect
extendedKeyUsage=1.2.840.113583.1.1.10
keyUsage=critical,digitalSignature, nonRepudiation, dataEncipherment
subjectKeyIdentifier=hash
basicConstraints=critical,CA:FALSE
authorityKeyIdentifier=keyid
[crlDistributionPoint0_sect]
fullname=URI:http://www.example.com/foo.crl该部分的格式为KEY=VALUE。可以用扩展名和OID替换密钥。该值必须与键匹配,否则可以由OpenSSL识别。(比如DER:05:00)。我想你能理解这些配置线。
openssl req -new -key /path/to/privkey.pem -out /path/to/cert.csr -addext v3_mycert
并键入证书的主题信息。注意:如果不更改OpenSSL配置文件中的设置,则必须输入所有主题。
openssl x509 -req -days 365 -in /path/to/cert.csr -signkey /path/to/privkey.pem -out /path/to/cert.crt
在OpenSSL (1.1.1或新的)中,默认的算法是SHA256。"RSA“是您的密钥算法,"2048”是您的密钥位。
https://security.stackexchange.com/questions/265387
复制相似问题