Verificando o domínio de um certificado no OpenSSL

Eu preciso verificar o domínio de um certificado X509 usando o C-land OpenSSL.

Meu entendimento é que a biblioteca não faz isso para mim e eu tenho que implementar aproximadamente o seguinte algoritmo:

Se o campo dnsName da extensão subjectAlternativeName estiver presente, definaname para esse valor.Caso contrário, definaname para o campo CN do assunto.Compararname contra o nome do host solicitado, permitindo que cada asterisco combine [A-Za-z0-9 _] +, mas não 'ponto' (.).

Parece-me que deve haver muitos códigos para fazer isso, mas não encontrei nenhum.

Alguém pode encontrar um exemplo disso? Ou, alternativamente, checar meu algoritmo?

EDIT: Isso é o que eu vim com:https://gist.github.com/2821083. Parece realmente estranho que o OpenSSL deixe isso para o código de chamada.

questionAnswers(2)

yourAnswerToTheQuestion