certificati HPKP e curve ellittiche

4

Ci sono alcune informazioni sul web su come estrarre la codifica di base 64 dell'impronta digitale SHA-256 (necessaria per l'intestazione Pinning chiave pubblica) per i certificati RSA (ad esempio su Mozilla ).

Tuttavia, non sono sicuro di come ottenere le stesse informazioni per un certificato ECC. Sostituire rsa di ec sembra un'idea decente, tuttavia openssl ec -in my-key-file.key -outform der -pubout non stampa solo il contenuto effettivo della chiave, ma anche

read EC key
writing EC key

in anticipo. Immagino che questo output di boilerplate sia incluso nella roba SHA-256-hash, invalidando così l'intera procedura. C'è un modo per aggirare questo?

    
posta TheWolf 22.06.2015 - 15:11
fonte

1 risposta

1

C'è un output di stato extra, ma va al flusso StdErr. Quindi va alla console (ad esempio la visualizzazione dello schermo) e NON scende nella pipe. L'output regolare fa parte del flusso "StdOut". Quel flusso va nella pipa. Questo vale anche per * nix e Windows.

Ecco un esempio.

Genera una chiave:

C:\>openssl ecparam -name secp256k1 -genkey -noout -out secp256k1-key.pem

Se non si reindirizza nulla, entrambi i flussi finiscono sullo schermo:

C:\>openssl ec -in secp256k1-key.pem -noout -text
read EC key
Private-Key: (256 bit)
priv:
    00:d6:09:84:21:77:32:86:bb:5d:c9:da:30:ce:dc:
    98:28:f1:f2:f2:2e:2a:9a:91:28:c3:88:b2:bb:80:
    51:24:39
pub:
    04:e3:4b:2c:96:44:08:18:9f:37:bb:b5:8e:44:52:
    69:f4:4b:7f:a7:2a:61:9e:5a:39:1a:07:7a:d6:27:
    e8:8f:83:36:fa:a6:72:e9:f5:7c:41:53:0c:b6:16:
    ab:24:7a:0d:82:2c:b9:cc:2d:2b:08:38:83:e2:ac:
    4e:d7:9a:09:91
ASN1 OID: secp256k1

Se passi il flusso "1", che è StdOut, allora quello che ti rimane è lo stream "2", che è solo StdErr:

C:\>openssl ec -in secp256k1-key.pem -noout -text 1>NUL
read EC key

Puoi anche buttare via lo stream "2":

C:\>openssl ec -in secp256k1-key.pem -noout -text 2>NUL
Private-Key: (256 bit)
priv:
    00:d6:09:84:21:77:32:86:bb:5d:c9:da:30:ce:dc:
    98:28:f1:f2:f2:2e:2a:9a:91:28:c3:88:b2:bb:80:
    51:24:39
pub:
    04:e3:4b:2c:96:44:08:18:9f:37:bb:b5:8e:44:52:
    69:f4:4b:7f:a7:2a:61:9e:5a:39:1a:07:7a:d6:27:
    e8:8f:83:36:fa:a6:72:e9:f5:7c:41:53:0c:b6:16:
    ab:24:7a:0d:82:2c:b9:cc:2d:2b:08:38:83:e2:ac:
    4e:d7:9a:09:91
ASN1 OID: secp256k1

Per quanto riguarda il "Perché?": non lo so. Penso che sia solo una delle molte stranezze delle utility della riga di comando di OpenSSL.

    
risposta data 30.08.2018 - 22:05
fonte

Leggi altre domande sui tag