Похоже, у вас нет файла закрытого ключа в папке MachineKeys
.
Чтобы проверить, есть ли у вас физический файл в папке, выполните команду powershell:
$certThumb = "1D6523F622E33DF46382D081BCA9AE9A2D8D78CC"
Try
{
$WorkingCert = Get-ChildItem CERT:\LocalMachine\My |where {$_.Thumbprint -match $certThumb} | sort $_.NotAfter -Descending | select -first 1 -erroraction STOP
$TPrint = $WorkingCert.Thumbprint
$rsaFile = $WorkingCert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
}
Catch
{
"Error: unable to locate certificate for $($CertCN)"
Exit
}
if ($WorkingCert.PrivateKey) {
$WorkingCert.PrivateKey
}
else
{
"No private key found"
}
Если вы получаете сообщение No private key found
, это означает, что в папке MachineKeys
нет закрытого ключа. Хотя свойства сертификата могут требовать иного (есть значок ключа и сообщение You have a private key that corresponds to this certificate
). Хотя я не знаю почему, но для некоторых сертификатов вышеописанная ситуация случается.
В качестве обходного пути выполните следующие действия:
- Перейдите в локальное хранилище сертификатов и удалите сертификат.
- Сначала импортируйте свой сертификат в локальный пользовательский магазин .
- Затем импортируйте свой сертификат в локальное машинное хранилище.
- Установка прав доступа для
Network Service
пользователя.
Если вы выполните указанные выше шаги, личный ключ будет добавлен в папку MachineKeys
, и ошибка исчезнет.
Очевидно, вы должны повторить эти шаги для каждого узла кластера.