我目前正在使用Powershell制作RootCA和SAN证书。 现在,一切都在正常进行,因为似乎所有浏览器在信任证书时都非常严格。我目前正在通过短绒棉衣(在这种情况下为Z-lint)运行证书时遇到最后一个错误。
zlint错误根CA证书:绝对不能存在extendedKeyUsage。t
现在错误非常明显...创建我的RootCA时,我的powershell命令中不应该存在extendedKeyUsage
但是,我仅在命令中使用-keyUsage。我不太确定我需要对命令进行调整以消除错误。
$rootCert = New-SelfSignedCertificate -CertStoreLocation cert:\LocalMachine\My -keyUsage KeyEncipherment,DigitalSignature,CrlSign,CertSign -Subject "CN=AgionRootCA, OU=supplied, O=supplied, C=supplied, L=supplied, S=supplied" -TextExtension @("1.3.6.1.4.1.311.21.10={text}1.3.6.1.5.5.7.3.1,1.3.6.1.5.5.7.3.2", "2.5.29.19={text}CA=true","2.5.29.37={text}1.3.6.1.4.1.311.10.12.1")
关注之后->
在查看Microsoft文档中的New-SelfSignedCertificate cmdlet时,它会显示有关-KeyUsage开关的以下内容:
指定在证书的密钥用法扩展中设置的密钥用法。 此参数可接受的值为:
- CertSign
- CRLSign
- 数据加密
- 仅解密
- DigitalSignature
- 仅加密
- 密钥协议
- 密钥加密
- 无(默认)
- 不可否认
默认值“无”表示此cmdlet不包含KeyUsage 新证书中的扩展名。 因此,如果您不希望extendedKeyUsage出现,则需要将-keyUsage KeyEncipherment,DigitalSignature,CrlSign,CertSign更改为-keyUsage None,如果您根本不包括该开关,则将是默认设置。
错误消息增加,表明我确实需要常规的-KeyUsage,而不需要-extendedKeyUsage
错误消息:
zlint错误根和从属CA证书密钥必须设置使用扩展的crlSign位 zlint错误根CA证书:必须设置keyCertSign和cRLSign的位位置。
zlint错误根CA证书:绝对不能存在extendedKeyUsage。t
答案 0 :(得分:2)
我设法解决了这个问题。 在我的Powershell命令中,我在最后添加了OID 2.5.29.37,显然 OID 2.5.29.37是ExtendedKeyUsage。因此,我不断遇到这个问题。关闭!
有关此事的更多信息Self signed certificates