New-SelfSignedCertificate -Subject "CN=me.com, OU=ounit, O=company, L=state, C=country" -FriendlyName "me.com"
-HashAlgorithm SHA256 -KeyLength 4096 -KeyUsage DigitalSignature,KeyEncipherment
-NotAfter (Get-Date).AddDays(1024) -CertStoreLocation cert:\LocalMachine\My
-TextExtension @("2.5.29.19={text}CA=false") -KeyExportPolicy Exportable
字符串
我正在使用上面的命令,并尝试在证书上设置此属性:
的数据
我尝试了以下方法,但出现了错误:
-TextExtension @("2.5.29.19={text}CA=false","2.5.29.35={2.5.29.14}")
型
我知道,在自签名证书中,授权密钥标识符KeyID将被分配给自签名证书中的主题密钥标识符,但正确的方法是什么呢?Microsoft的文档没有明确说明:https://learn.microsoft.com/en-us/powershell/module/pki/new-selfsignedcertificate?view=windowsserver2022-ps
我也没能通过搜索找到任何具体的任务。
1条答案
按热度按时间7cjasjjr1#
使用-TextExtension解决此问题似乎是留给读者的练习。但是如果附加-TestRoot选项,它将有效地“取消隐藏”生成的代码签名证书中的
Authority Key Identifier
扩展。如文档所述,-TestRoot使用主题为CertReq Test Root
的内置CA证书作为代码签名证书的颁发者。例如,下面的PowerShell命令将创建一个代码签名证书,其中包括否则会丢失的扩展名:字符串
以下是生成的证书的属性,其中包括
Authority Key Identifier
扩展名:x1c 0d1x的数据这个证书在技术上不是自签名的,所以它的状态在右下角被描述为“okay”。根据需要在
Intermediate Certificate Authorities/Certificates
位置创建的内置颁发者证书是自签名的,并在左上角显示警告。以下是它的属性面板:的
如左上角所示,如果导出此证书,然后将其导入到
Trusted Root Certification Authorities/Certificates
位置,则代码签名的应用程序将在本地Windows系统上运行时可验证。但是,您也可以通过将其导入到其他系统(例如Windows、Linux和OpenJDK环境)上的根CA存储来扩展测试范围。