Stavo giocando un po 'con gli algoritmi delle firme, cercando di determinare quali CA tra quelle che uso stanno attualmente emettendo certificati SHA2.
 Ho generato un CSR che specifica l'hash SHA256 (utilizzando   gnutls-certtool    con   hash    param e   openssl req    con   -sha256    param) e il CSR mostra chiaramente   sha256WithRSAEncryption    come algoritmo di firma. 
$ openssl req -noout -text -in test.csr
Certificate Request:
    ...
    Signature Algorithm: sha256WithRSAEncryption
        ...
 Tuttavia, il certificato risultante dalla CA è stato sottoposto a hash con   sha1WithRSAEncryption   . 
$ openssl x509 -noout -text -in test.crt
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: ... (...)
        Signature Algorithm: sha1WithRSAEncryption
 Ovviamente, generando un CSR con   --hash SHA1    (% hash disha1WithRSAEncryption) il certificato risultante utilizzerà   sha1WithRSAEncryption    (come previsto). 
La CA afferma che l'hash deve essere specificato come parte dell'ordine, non del CSR (che è qualcosa che non posso fare in ogni caso dato che sto inoltrando l'ordine tramite un servizio di terze parti).
Di qui la domanda. La CA deve obbedire all'algoritmo hash specificato nel CSR?