Dal RFC - link
A.2.4 RSASSA-PKCS1-v1_5
Per ogni OID, il campo parametri associato a questo OID in un valore di tipo AlgorithmIdentifier deve avere un valore di tipo NULL. L'OID deve essere scelto in base alla seguente tabella:
Hash algorithm OID
--------------------------------------------------------
MD2 md2WithRSAEncryption ::= {pkcs-1 2}
MD5 md5WithRSAEncryption ::= {pkcs-1 4}
SHA-1 sha1WithRSAEncryption ::= {pkcs-1 5}
SHA-256 sha256WithRSAEncryption ::= {pkcs-1 11}
SHA-384 sha384WithRSAEncryption ::= {pkcs-1 12}
SHA-512 sha512WithRSAEncryption ::= {pkcs-1 13}
Quando eseguo open asn1parse
su un certificato, posso trovare questo campo
984:d=2 hl=2 l= 9 prim: OBJECT :sha256WithRSAEncryption
995:d=2 hl=2 l= 0 prim: NULL
997:d=1 hl=4 l= 257 prim: BIT STRING
Tuttavia, vi è anche un campo DigestAlgorithm nell'appendice RFC
Il metodo di codifica EMSA-PKCS1-v1_5 include un valore di tipo ASN.1 DigestInfo, dove il tipo DigestInfo ha la sintassi
DigestInfo ::= SEQUENCE {
digestAlgorithm DigestAlgorithm,
digest OCTET STRING
}
digestAlgorithm identifica la funzione di hash e deve essere un ID algoritmo con un OID nel set PKCS1-v1-5DigestAlgorithms. Per una discussione sulle funzioni di hash supportate, vedi Appendice B.1.
DigestAlgorithm ::=
AlgorithmIdentifier { {PKCS1-v1-5DigestAlgorithms} }
PKCS1-v1-5DigestAlgorithms ALGORITHM-IDENTIFIER ::= {
{ OID id-md2 PARAMETERS NULL }|
{ OID id-md5 PARAMETERS NULL }|
{ OID id-sha1 PARAMETERS NULL }|
{ OID id-sha256 PARAMETERS NULL }|
{ OID id-sha384 PARAMETERS NULL }|
{ OID id-sha512 PARAMETERS NULL }
Come posso individuare questo parametro usando openssl asn1parse o qualsiasi altro strumento o utility?