Para un mensaje específico, puedes usar openssl asn1parse
para mirar dentro.
Me envié un mensaje usando el correo de iOS, firmado y cifrado para mí, y usando la línea de comandos
$ openssl smime -pk7out -in message.eml | openssl asn1parse
y el contenido de los resultados mostró que el mensaje parece estar cifrado con 3DES EDE en modo CBC:
913:d=5 hl=2 l= 8 prim: OBJECT :des-ede3-cbc
Encontrar el algoritmo de firma es otro desafío. Creo que es SHA-1, pero el mensaje descifrado incluye muchas firmas de certificados, y no estoy seguro de cuál es el mensaje.
$ openssl smime -decrypt -in smime.eml -recip me.crt -inkey me.key | \
openssl smime -pk7out | openssl asn1parse
...
30:d=5 hl=2 l= 5 prim: OBJECT :sha1
Si bien la pregunta es realmente sobre el algoritmo simétrico y de hash utilizado para cifrar los datos del mensaje, los parámetros para el certificado en sí (que contiene la clave pública utilizada para cifrar la clave simétrica que, a su vez, se utiliza para tratar la datos) se seleccionan en el momento de la generación de claves. He visto esto en acción mientras generaba un nuevo par de claves personales en StartSSL ; la interfaz web solicita el tamaño de la clave RSA y el algoritmo de firma que deseo usar, junto con la advertencia de que elegir SHA-1 le dejará un certificado incompatible con algunos sistemas.
Para su valor, mi propio certificado personal utiliza RSA de 2048 bits y el algoritmo de firma SHA-1, que he encontrado que funciona bien en varios sistemas diferentes, incluyendo OS X Mail.app, iOS Mail y Outlook 2007 .