gpt4 book ai didi

powershell - 使用 .NET API 导入时无法将证书绑定(bind)到 SSL

转载 作者:太空宇宙 更新时间:2023-11-03 13:40:46 24 4
gpt4 key购买 nike

我已经使用 openssl 创建了一个自签名 SSL 证书。当我使用 .NET API 导入证书时,无法使用 netsh 将其绑定(bind)到我的网站。我正在使用 PowerShell 导入证书:

$Certificate = New-Object 'security.Cryptography.X509Certificates.X509Certificate2' $PathToCertificate
$keyFlags = [Security.Cryptography.X509Certificates.X509KeyStorageFlags]::MachineKeySet
$keyFlags = $keyFlags -bor [Security.Cryptography.X509Certificates.X509KeyStorageFlags]::PersistKeySet
$keyFlags = $keyFlags -bor [Security.Cryptography.X509Certificates.X509KeyStorageFlags]::Exportable

$store = New-Object 'Security.Cryptography.X509Certificates.X509Store' 'My','LocalComputer'
$store.Open( 'ReadWrite' )
$store.Remove( $Certificate )
$store.Add( $Certificate )
$store.Close()

然后我使用 netsh 绑定(bind)到证书:

netsh http add sslcert ipport=0.0.0.0:443 certhash=<thumbprint> appid=<app ID>

第一次运行成功,但在随后的尝试中失败并出现此错误:

SSL Certificate add failed, Error: 1312
A specified logon session does not exist. It may already have been terminated.

但是,当我通过 Certificates MMC/snap-in 手动导入证书时,运行 netsh 命令从来没有任何问题。

我在我们的某些 Windows 7 和 Windows 2012 R2 计算机上看到此错误。奇怪的是,我们一半以上的电脑没有这个问题。我是否错误地添加了证书?我可能生成了错误的证书吗?

最佳答案

我撒谎了。看起来我以为我在上面的代码中设置了 key 存储标志。原来我是在我们脚本的不同部分加载证书,它没有指定正确的 key 存储标志。在更正我的脚本使其实际执行我声称的操作后,一切正常。

关于powershell - 使用 .NET API 导入时无法将证书绑定(bind)到 SSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24170120/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com