Überprüfen der Domäne eines Zertifikats in OpenSSL

Ich muss die Domäne eines X509-Zertifikats mit C-land OpenSSL überprüfen.

Mein Verständnis ist, dass die Bibliothek dies nicht für mich tut und dass ich ungefähr den folgenden Algorithmus implementieren muss:

Wenn das Feld dnsName der Erweiterung subjectAlternativeName vorhanden ist, legen Sie festname auf diesen Wert.Ansonsten setzenname zum CN-Feld des Subjekts.Vergleichen Siename mit dem angeforderten Hostnamen abgleichen, sodass jedes Sternchen mit [A-Za-z0-9 _] + übereinstimmt, jedoch nicht mit 'Punkt' (.).

Es scheint mir, dass es genügend Code geben sollte, um dies zu tun, aber ich habe keinen gefunden.

Kann jemand ein Beispiel dafür finden? Oder alternativ, meinen Algorithmus auf seine Richtigkeit prüfen?

EDIT: Dies ist, was ich mir ausgedacht habe:https://gist.github.com/2821083. Es scheint wirklich seltsam, dass OpenSSL dies dem Aufruf von Code überlässt.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage