Das stellte sich als direkt heraus. Die Gutschrift geht an https://stackoverflow.com/a/18359743/1045881 . Ich habe es einfach für Neulinge wie mich umgeschrieben.
Sagen wir mal die Seite ist example.com
Windows
Erhalten Sie Ihr Zertifikat
Wenn Sie sich auf der Signaturseite befinden, kontrollieren Sie Ihr Zertifikat. Sie können die guten Anweisungen unter folgender Adresse befolgen: https://www.thawte.nl/de/support/manuals/microsoft/all+windows+servers/export+private+key+or+certificate/
Dadurch erhalten Sie Ihren privaten Schlüssel und das für die folgenden Schritte erforderliche Zertifikat.
Wenn Sie sich nur auf der Überprüfungsseite befinden, können Sie in Ihrem Browser auf die Sperre neben der Webadresse klicken, das Zertifikat anzeigen und base64 in eine CRT- oder CER-Datei exportieren. Der Dateiname ist nicht wichtig, domain.crt
ist aber ein guter Name.
Installiere openssl
Installiere openssl. Ich habe https://indy.fulgan.com/SSL/ von https://wiki.openssl.org/index.php/Binaries verwendet . Extrahieren Sie es in einen Installationsordner von openssl. Ich nenne das den openssl-Ordner.
Führen Sie openssl aus
Gehen Sie einfach in Ihren openssl-Ordner openssl
und geben Sie die Eingabetaste ein. Jetzt bist du in einer openssl
Aufforderung.
Zeichen
Sie benötigen Ihren privaten Schlüssel. Es sieht aus wie das:
-----BEGIN RSA PRIVATE KEY----- (bunch of base64 text)== -----END RSA PRIVATE KEY-----
Speichern Sie es zum Beispiel example.key
. Aber der Dateiname ist nicht wichtig, nur hilfreich.
Dann speichern Sie eine Nachricht in einer Datei namens message.txt
. Es kann leer sein. Und der Dateiname ist nicht wichtig.
Führen Sie dann in Ihrem openssl-Ordner (in dem Sie die Binärdateien extrahiert haben) aus
dgst -sha256 -sign example.key -out signature.txt message.txt
Es verwendet die Nachricht und den Schlüssel, um die Signatur zu erstellen.
message+ key=>signature
Überprüfen
Sie benötigen das Zertifikat der Site. Es sieht aus wie das:
-----BEGIN CERTIFICATE----- (bunch of base64)== -----END CERTIFICATE-----
Speichern Sie es in example.crt
. Der Name spielt keine Rolle.
Zunächst müssen Sie aus der Zertifikatsdatei ( example.crt
) einen öffentlichen Schlüssel wie folgt erstellen :
x509 -in example.crt -pubkey -noout -out example.pub
Dadurch wird das Zertifikat zum Erstellen des öffentlichen Schlüssels verwendet.
certificate => public key
Dann können Sie die Nachricht folgendermaßen überprüfen:
dgst -sha256 -verify example.pub -signature signature.txt -out result.txt message.txt
Es verwendet den öffentlichen Schlüssel und die Signatur, um die Nachricht zu überprüfen, und das Überprüfungsergebnis wird in die Datei eingefügt result.txt
.
public key+ signature+ message=>result
result.txt
enthält entweder "Verified OK" oder "Verification Failure".
Linux
Anweisungen folgen in Kürze. Ich denke, es ist ziemlich ähnlich, abgesehen von der kleineren Syntax.