Tipps für Zwischendurch: Den Public Key eines Zertifikats erhalten

Den Public Key eines Zertifikats erhält man sehr einfach durch einen Aufruf der GetPublicKey-Methode jenes Objekts (X509Certificate2), den ein Get-Childitem mit dem Cert-Laufwerk liefert:

(Get-childitem Cert:\currentuser\my | Where { $_.Subject -like „CN=ActiveTraining*“ }).GetPublicKey()

Alternativ steht die GetPublicKeyString()-Methode zur Auswahl, die den Public Key nicht als Byte-Folge,sondern als String liefert.

Und wie bekomme ich den Key im Base64-Format und am besten gleich in die Zwischenablage?  Das erledigen die PowerShell Community Extensions 2.0 sehr elegant:

(Get-childitem Cert:\currentuser\my | Where { $_.Subject -like „CN=ActiveTraining*“ }).GetPublicKey() | ConvertTo-Base64 | Set-Clipboard

Alles eine Frage der Technik (sprich der passenden Cmdlets)

Leider ließ sich die Anforderung, derer ich überhaupt auf die Idee kam, einen Public Key aus einen Zertifikat zu extrahieren, damit nicht realisieren: Für die Registrierung auf einer Projektplattform (GitHub) wird ein Public Key benötigt, der aus Open SSH heraus generiert werden soll. Das Einfügen meines Keys führte zu keinem Erfolg, das Einfügen eines per Ssh-Keygen (in einer Bash-Shell unter Windows) funktioniert (natürlich) problemlos. Offenbar ist Public Key nicht gleich Public Key oder ich habe wieder einmal eine Kleinigkeit übersehen.

Schreibe einen Kommentar

Bitte logge dich mit einer dieser Methoden ein, um deinen Kommentar zu veröffentlichen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s