Verificando el dominio de un certificado en OpenSSL

Necesito verificar el dominio de un certificado X509 usando C-land OpenSSL.

Entiendo que la biblioteca no hace esto por mí, y que tengo que implementar aproximadamente el siguiente algoritmo:

Si el campo dnsName de la extensión subjectAlternativeName está presente, establezcaname a ese valor.De lo contrario, establecername Al campo CN del sujeto.Compararname contra el nombre de host solicitado, permitiendo que cada asterisco coincida con [A-Za-z0-9 _] +, pero no con "puntos" (.).

Me parece que debería haber un montón de código para hacer esto, pero no he encontrado ninguno.

¿Alguien puede encontrar un ejemplo de esto? O, alternativamente, ¿cordura comprobar mi algoritmo?

EDIT: esto es lo que se me ocurrió:https://gist.github.com/2821083. Parece realmente extraño que OpenSSL deje esto para el código de llamada.

Respuestas a la pregunta(2)

Su respuesta a la pregunta