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.