Weryfikacja domeny certyfikatu w OpenSSL

Muszę zweryfikować domenę certyfikatu X509 za pomocą C-land OpenSSL.

Rozumiem, że biblioteka nie robi tego dla mnie i że muszę z grubsza wdrożyć następujący algorytm:

Jeśli obecne jest pole dnsName rozszerzenia subjectAlternativeName, ustawname do tej wartości.W przeciwnym razie ustawname do pola CN tematu.Porównaćname przeciwko żądanej nazwie hosta, pozwalając, aby każda gwiazdka pasowała do [A-Za-z0-9 _] +, ale nie „kropka” (.).

Wydaje mi się, że w tym celu powinno być mnóstwo kodu, ale nie znalazłem żadnego.

Czy ktoś może znaleźć taki przykład? Albo, alternatywnie, sprawdź mój algorytm w rozsądku?

EDYCJA: Oto, co wymyśliłem:https://gist.github.com/2821083. Wydaje się naprawdę dziwne, że OpenSSL pozostawiłby to do kodu wywołującego.

questionAnswers(2)

yourAnswerToTheQuestion