I need to analyze the output of rbsec's sslscan which reports a server's SSL/TLS configuration as reported by OpenSSL.
I'm interested in the Certificate's Signature Algorithm in particular, and I was hoping to find a complete list of possible values for this entry. During some quick tests, I saw that sslscan reports the long name for the algorithm. For example, RSA encryption with a SHA-512 hash is reported as "sha512WithRSAEncryption".
<certificate>
<signature-algorithm>sha256WithRSAEncryption</signature-algorithm>
...
</certificate>
I've been trying for hours to pin down where these strings come from, and it seems that they aren't from the RFC specification for SSL (RFC 6101), but I could be wrong about that. I did find the names in OpenSSL's obj_dat.h file, however that header file contains a significant number of defined strings which are clearly not also signature algorithms.
...
{"id-ppl-independent", "Independent", NID_Independent, 8, &so[4500]},
{"RSA-SHA256", "sha256WithRSAEncryption", NID_sha256WithRSAEncryption, 9, &so[4508]},
{"RSA-SHA384", "sha384WithRSAEncryption", NID_sha384WithRSAEncryption, 9, &so[4517]},
{"RSA-SHA512", "sha512WithRSAEncryption", NID_sha512WithRSAEncryption, 9, &so[4526]},
{"RSA-SHA224", "sha224WithRSAEncryption", NID_sha224WithRSAEncryption, 9, &so[4535]},
{"SHA256", "sha256", NID_sha256, 9, &so[4544]},
...
Is there a list of the (OpenSSL specific?) long names for the Signature Algorithms that OpenSSL reports? Preferably one that is easily digestible for a program or human?
"sha256WithRSAEncryption"
is a signature algorithm, that's a miss-namer. And that could be several signature or encryption schemes (the hash used by MGF1 of RSASSA-PSS or RSAES-OAEP is not necessarily the same as the other hash, and one can use anything as MGF, and why not SHA-3, or BLAKE2). To me it looks like the question involves what does (program) actually does when (other program) tells (something), which is arguably an off-topic nightmare. $\endgroup$