Acho que você está ficando confuso com certificados X.509 e TLS. O TLS é apenas uma (mas a maior) aplicação de certificados.
- O algoritmo da chave de sessão depende do aplicativo. Se, por exemplo, você estiver usando o certificado com o servidor da web Apache para TLS, a lista de possíveis algoritmos será configurada no arquivo de configuração do Apache. Depois de configurar um servidor da Web para usar seu certificado e sua chave privada, você poderá verificar quais algoritmos são usados com várias ferramentas, como
openssl s_client
ounmap
ou se o servidor está acessível pela Internet usando um site como SSL Labs - Nenhum, exceto que ambos começam com
openssl
. O OpenSSL é um kit de ferramentas para trabalhar com várias tecnologias criptográficas. Seu comando acima gerou um par de chaves e um certificado X.509; o comandoopenssl ciphers
lista os ciphersuites SSL / TLS usando a mesma lógica 'cipherstring' que ao configurar aplicativos como o Apache, oferecendo uma maneira conveniente de testar essas configurações. O programaopenssl
também pode ser usado para criptografar / descriptografar arquivos, computar resumos de mensagens e números aleatórios, entre outras coisas. - O TLS pode usar muitos algoritmos conforme acordado pelo seu servidor e cliente. Você não está usando o Diffie-Hellman para criar o certificado X.509. Esse certificado pode ser usado para o TLS, que pode usar o formato simples (inteiro) ou Curva Elíptica do Diffie-Hellman.
- A ativação e a desativação de códigos geralmente são controladas pelo aplicativo (como o Apache) e não pelo certificado, embora haja alguns casos de canto (por exemplo, o certificado do DSA é incompatível com o RC4).