powershell - Powershell - 代表注册 SSL 证书
问题描述
我创建了注册代理证书,通过 GUI 我可以为另一个用户安装证书。现在,我想使用 Powershell 自动执行此过程。
在我的本地证书存储中安装了注册代理证书(模板名称:注册代理)以及我想向其他用户颁发的证书(模板名称:GP)
$PKCS10 = New-Object -ComObject X509Enrollment.CX509CertificateRequestPkcs10
# cert template name i want to issue to user
$PKCS10.InitializeFromTemplateName(0x1,"GP")
$PKCS10.Encode()
$pkcs7 = New-Object -ComObject X509enrollment.CX509CertificateRequestPkcs7
$pkcs7.InitializeFromInnerRequest($pkcs10)
$pkcs7.RequesterName = "domain\some.user"
$signer = New-Object -ComObject X509Enrollment.CSignerCertificate
# bellow is thumbprint of certificate i want to issue (GP)
$signer.Initialize(0,0,0xc,"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
$pkcs7.SignerCertificate = $signer
$Request = New-Object -ComObject X509Enrollment.CX509Enrollment
$Request.InitializeFromRequest($pkcs7)
$Request.Enroll()
最后一行失败并出现错误
CertEnroll::CX509Enrollment::Enroll: Error Verifying Request Signature
or Signing Certificate The certificate is not valid for the requested usage.
0x800b0110 (-2146762480 CERT_E_WRONG_USAGE)
解决方案
已解决,必须指定注册代理指纹
推荐阅读
- c# - C# NET 5.0 源代码生成器基本示例不生成输出
- c# - WebAPI 可编辑的只读字段
- import - 在 Python 中导入 xes 文件
- python - 如何在递归序列中计算 U(n)?
- php - PHP 站点重新加载并且不处理数据 - 没有错误
- node.js - 如何使用gridfs nodeJS调整图像大小并存储不同的sizet?
- ffmpeg - 使用 ffmpeg/vlc 其他资源将多个公共域直播保存到磁盘?
- python - 在 pandas 的 to_markdown() 中抑制科学记数法
- c# - 验证字典键是否存在
- aws-lambda - 如何强制 AWS SAM CLI 检测更改?