X.509 Zertifikate prüfen
-
Hallo,
ich suche nach Informationen, welcher Teil in einem X.509 v3 Zertifikat genau in die Signatur mit eingeht. Ich entwickle ein TLS das auf einer embedded Microcontroller Plattform laufen soll, und das Ganze soll in C programmiert werden. Die Programmiersprache sollte aber bei der Lösung meines Problems keine Rolle spielen, ich will damit nur klar machen dass ich nicht auf irgendwelche Bibliotheken zurückgreifen kann.
Meine Schwierigkeit liegt gerade darin dass ich keine gute Information finde, welche Teile des (im Handshake verschickten) Zertifikats zur Bildung des Hashs für die Signatur herangezogen wird. Generell muss wohl das eigentliche Zertifikat herangezogen werden, die Kapitel SignatureAlgorithm und Signature dagegen nicht. Aber entweder fehlt mir da noch ein wichtiges Detail, oder ich stelle mich zu blöd an beim entschlüsseln der Signatur.
Das Zertifikat liegt mir ASN.1-kodiert vor (so wie es übertragen wird), und ich kann die Kapitel auch interpretieren. Nur ob ich manche auslassen muss, oder ob ich deren Längeninformation mit in den Hash werfen muss, das weiß ich eben nicht.
Kann mir da jemand mit ein paar Tipps weiterhelfen?
-
RFC 3280 und RFC 5280 sollten dir weiterhelfen. Und dann gibt's da noch den recht brauchbaren Wikipedia-Artikel ...