3 Stimmen

Windows-Zertifikat kann nicht als pkcs12 exportiert werden - "Key not valid for use in specified state"

Ich versuche, ein Zertifikat mit Powershell nach pkcs12 zu exportieren. Ich kann es gut in MMC exportieren. Aber powershell barfs

    PS C:\Users\paul> $cert.export('PFX'," pass")
Exception calling "Export" with "2" argument(s): "Key not valid for use in specified state.
"
At line:1 char:13
+ $cert.export <<<< ('PFX'," pass")
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException

Der private Schlüssel ist exportierbar

PS C:\Users\paul> $cert.privatekey.cspkeycontainerinfo

MachineKeyStore        : True
ProviderName           : Microsoft RSA SChannel Cryptographic Provider
ProviderType           : 12
KeyContainerName       : fd6ce48f23c5a94dee97bf7e87ef3da2_2868494a-a319-4976-80a7-e0f129e23cfd
UniqueKeyContainerName : fd6ce48f23c5a94dee97bf7e87ef3da2_2868494a-a319-4976-80a7-e0f129e23cfd
KeyNumber              : Exchange
Exportable             : True
HardwareDevice         : False
Removable              : False
Accessible             : True
Protected              : False
CryptoKeySecurity      : System.Security.AccessControl.CryptoKeySecurity
RandomlyGenerated      : False

läuft als lokaler Administrator

1voto

Goyuix Punkte 22754

Es scheint weit hergeholt zu sein, aber haben Sie versucht, die Pfx-Aufzählung anstelle der Zeichenfolge zu verwenden?

$pfx = [System.Security.Cryptography.X509Certificates.X509ContentType]::Pfx
$cert.Export($pfx,"pass")

Der Grund für meine Frage ist, dass Pfx, wenn man sich den Wert ansieht, der der Aufzählung zugrunde liegt, tatsächlich den Wert 3 hat.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X