In che modo Chrome diffida dei certificati Symantec?

5

Qualche tempo fa Google Chrome aveva annunciato piani per diffidare dei certificati Symantec . Sto cercando di capire come è fatto per un POC.

Quando visito chase.com su Google Chrome, ottengo il seguente messaggio nella console di sviluppo:

The SSL certificate used to load resources from https://www.chase.com will be distrusted in M70. Once distrusted, users will be prevented from loading these resources. See https://g.co/chrome/symantecpkicerts for more information.

Dalla fonte Chromium, ho potuto vedere che hanno una lista di hash che controllano - symantec_certs.cc e in questo README.md usano il seguente comando openssl per ottenere gli hash dai certificati.

for f in roots/*.pem; 
do openssl x509 -noout -pubkey -in "${f}" | openssl asn1parse -inform pem -out /tmp/pubkey.out -noout; 
digest='cat /tmp/pubkey.out | openssl dgst -sha256 -c | awk -F " " '{print $2}' | sed s/:/,0x/g '; 
echo "0x${digest} ${f##*/}"; 
done | sort 

Ora per chase.com , ho ottenuto i certificati usando il seguente comando

openssl s_client -host chase.com -port 443 -prexit -showcerts

Questo produce due certificati entrambi di cui ho copiato in file separati (da 'inizio certificato' a 'fine certificato') cert1.cert e cert2.cert

Per ottenere gli hash, eseguire il seguente

for f in ./*.cert; 
do cat "${f}" | openssl x509 -noout -pubkey | openssl asn1parse -inform pem -out /tmp/pubkey.out -noout; 
digest='cat /tmp/pubkey.out | openssl dgst -sha256 -c | awk -F " " '{print $2}' | sed s/:/,0x/g '; 
echo "0x${digest}"; 
done

che dà

0x14,0x72,0x0b,0x47,0x2b,0x12,0x3d,0xc2,0xfd,0xcc,0x13,0x2a,0x81,0x09,0xc7,0x29,0x97,0x13,0x36,0xaf,0x95,0x38,0x9f,0x89,0x12,0xa4,0x71,0xa8,0x78,0xdd,0xb7,0x37
0x80,0xcc,0x56,0x3a,0xb5,0xf8,0x3c,0xc4,0x1e,0xb0,0xaf,0x6a,0x14,0xd6,0xd8,0x07,0x18,0xc1,0x7e,0x35,0x2f,0x96,0x49,0xff,0xbc,0xdd,0x67,0xf8,0xbf,0x65,0x13,0x91

entrambi non sono in symantec_certs.cc

Credo che la catena di certificati non contenga il certificato della CA radice, dovrei calcolare anche l'hash della chiave pubblica del root e verificarlo con le radici diffidate del know-how? Se sì, come ottenere il certificato di root?

    
posta Krishnaraj 27.12.2017 - 06:54
fonte

0 risposte

Leggi altre domande sui tag