Eu estou tentando verificar um certificado usando o openssl. Verifiquei a cadeia de certificados e desejo verificar se o assunto do certificado corresponde ao nome do servidor do campo SSL.
Meu código é executado sobre as sessões ssl, primeiro eu quero extrair o nome do servidor do pacote (para este propósito eu estou tentando usar ssl.handshake.extensions_server_name
campo no tshark) e verificá-lo contra os domínios na saída do comando openssl x509 -text -noout cert.pem
sob o título: "X509v3 Subject Alternative Name".
Funcionou bem nos meus arquivos de teste, mas ao executar o código em um arquivo grande, parece que há sessões ssl que não possuem pacote com o campo mencionado (mesmo que o navegador não tenha alertado nada).
Como posso ainda verificar o nome do servidor?
Nota: Eu verifiquei manualmente o "X509v3 Subject Alternative Name" do certificado e os nomes incluem a seguinte lista:
*.akamaihd.net, *.akamaihd-staging.net, a248.e.akamai.net, *.akamaized.net, *.akamaized-staging.net
É possível que meu problema tenha ocorrido porque os nomes pertencem à Akamai? Como posso resolver o problema?
Editar: A nota não é relevante, eu verifiquei o código em outro arquivo e recebi o mesmo problema com o servidor que o certificado contém seu nome especificamente. A pergunta é: como é possível que o nome do servidor não esteja incluído no handshake? Quando tal situação acontece, como posso obter um nome que deve ser verificado em relação ao do certificado?
Obrigado !