Проверка домена сертификата в OpenSSL

Мне нужно проверить домен сертификата X509, используя C-land OpenSSL.

Я так понимаю, что библиотека не делает этого за меня, и что я должен реализовать примерно следующий алгоритм:

  1. Если присутствует поле dnsName расширения subjectAlternativeName, установить nameк этому значению.
  2. В противном случае установите имяв поле CN темы.
  3. Сравните имяс запрошенным именем хоста, позволяя каждой звездочке соответствовать [A-Za-z0-9_]+, но не 'точке' (.).

Мне кажется, что для этого должно быть много кода, но я не нашел ни одного.

Кто-нибудь может найти пример этого? Или, в качестве альтернативы, проверить мой алгоритм на вменяемость?

РЕДАКТИРОВАТЬ: Вот что я придумал: https://gist.github.com/2821083. Кажется действительно странным, что OpenSSL оставил это на усмотрение вызывающего кода.

5
задан 28 May 2012 в 20:26
поделиться