Inhaltsverzeichnis

OpenSsl PFX, P12 erstellen und Fix Windows Code-Sign

Eigentlich ist das Erstellen eines PKCS12 Public-Private-Key-Pair unter openssl nicht schwierig.
Das Ding lässt sich auch bequem unter Windos in den Zertifikatsspeicher mit Zertifikat und Schlüssel installieren.
Nur das Signieren von Assemblies (.Net ⇒ SN.exe) oder die Digitale Signatur als Herausgeber (SIGNTOOL) gestalten sich als schwierig. Aber nun Step by Step.

Der Schlüssel muss zum Signieren auch freigegeben sein. Achtet daher darauf, dass der CSR (Certificate Request) die Verwendung des Schlüssels beinhaltet. Was bedeutet:

Wer es besser weiß, bitte mal ne Info an mich. Ich habe es nur so hinbekommen. Zumal es auch noch die extendedKeyUsage gibt, wo codeSigning angegeben werden kann: Hat bei mir aber nicht funktioniert.

Hat man von der CA das Zertifikat, so erstellt man die PFX mit folgendem Befehl:

openssl pkcs12 -export -in certificate.pem -inkey key.pem -out dein.pfx

Super. PFX erstellt - aber das Ding geht eben noch nicht wirklich.

Fix: Schlüssel extrahieren

openssl pkcs12 -in dein.pfx -out tmp.key

So: Nun Schlüssel wieder rein in das PFX ….

openssl pkcs12 -export -out dein.pfx -kaysig -in tmp.key

Der tmp.key kann auch gleich wieder gelöscht werden, den braucht man nicht :D