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