0 Pluspunkte 0 Minuspunkte
Ich habe ein Zertifikat im Windows Zertifikate Store und möchte davon den Public Key haben. Wie mache ich das in Powershell?
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Zertifikat aus dem Store holen

$cert = Get-ChildItem -Path Cert:\CurrentUser\My | Where-Object { $_.Subject -like "*localhost*" }

Öffentlichen Schlüssel extrahieren

$publicKeyBytes = $cert.PublicKey.EncodedKeyValue.RawData

In Base64 umwandeln

$base64 = [System.Convert]::ToBase64String($publicKeyBytes)

In Zeilen zu je 64 Zeichen splitten

$lines = ($base64 -split "(.{64})" | Where-Object { $_ -ne "" })

PEM-Format zusammensetzen

$pem = @()
$pem += "-----BEGIN PUBLIC KEY-----"
$pem += $lines
$pem += "-----END PUBLIC KEY-----"

In Datei schreiben

$pem | Set-Content -Path ".\key.pub" -Encoding ascii
von (1.1k Punkte)