Учитывая отпечаток сертификата, я хочу найти абсолютный путь к сертификату в локальной файловой системе.Получить сертификат Абсолютный путь с использованием UniqueKeyContainerName
Этот фрагмент почти всегда работает.
$thumb = <mythumbprint string>
$cert = Get-ChildItem "Cert:\LocalMachine\My" | Where-Object {$_.Thumbprint -eq $thumb};
$keyName = (($cert.PrivateKey).CspKeyContainerInfo).UniqueKeyContainerName
$keyPath = $env:ProgramData + "\Microsoft\Crypto\RSA\MachineKeys\"
$fullPath = $keyPath+$keyName
Это не соответствует сертификатам, в которых PrivateKey не является экспортируемым. При маркировке как NOT Exportable, $cert.PrivateKey
больше не доступен и, следовательно, не может построить полный путь сертификата.
Есть ли альтернатива powershell для определения уникального имени сертификатаKeyContainerName сертификата?
ОБНОВЛЕНИЕ: Все сертификаты, которые меня интересуют, имеют личные ключи. Проблема в том, что я не могу предположить, что они отмечены как экспортируемые. Если NOT отмечено экспортируемым, на .PrivateKey нельзя ссылаться. Мне нужен другой способ получить UniqueKeyContainerName без сцепления через .Privatekey
Ever это цифра? Я пытаюсь выполнить сценарий разрешений для развертывания, и мои ключи не экспортируются, и я не могу найти способ сделать это. –