【问题标题】:How to import a certificate using powershell如何使用 powershell 导入证书
【发布时间】:2013-04-25 12:17:52
【问题描述】:

我们正在创建一个脚本来自动创建证书。我们能够完成所有阶段,但是当我们尝试将证书导入商店时,我们遇到了问题。证书确实安装到WSUS -> Certificate Store,但未关联私钥。如果我们手动执行它就可以了。

以下代码表示将证书导入商店的部分:

$cert = new-object system.security.cryptography.x509certificates.x509certificate2 c:\lup.crt
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store WSUS, LocalMachine
$store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
$store.Add($cert)
$store.Close()

我仍处于 powershell 的学习曲线上,证书的添加使这变得困难。 证书导入到 wsus 存储时不允许关联私钥是我做错了什么?


更新

所以我已经用Neossian 的建议更新了我的代码,它确实有效。但是,我注意到它不会从Enrollment Requests 中删除私钥。我可以手动删除它,但是为什么没有像手动导入证书那样删除它?

【问题讨论】:

    标签: powershell certificate powershell-2.0 x509certificate


    【解决方案1】:

    尝试运行:

    certutil -repairstore WSUS "SerialNumber"
    

    其中“SerialNumber”为导入证书的序列号。

    【讨论】:

    • 那行得通,但是您知道为什么需要运行修复吗?如果每次代码启动时都需要运行它,我将不得不找到一种方法来获取证书的序列号,以便可以运行该命令。
    • 这似乎不应该工作,但它确实......它从哪里获得私钥?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 2016-09-04
    • 1970-01-01
    • 2020-04-30
    • 2017-06-23
    • 2013-12-10
    相关资源
    最近更新 更多