Alcune settimane fa, abbiamo abilitato l'intestazione HTTP Key Pinning sul nostro sito web. In base alle specifiche, abbiamo incluso non solo l'impronta digitale SHA-256 della nostra chiave RSA corrente, ma anche quella di una chiave di backup (RSA).
Ora, tuttavia, vorremmo aggiungere una seconda chiave (ECC) al nostro sito. Abbiamo creato un server di test con due certificati autofirmati (uno RSA, uno ECC). Quando si guarda l'handshake TLS in Wireshark, sembra che il server invii solo un certificato (quello ECC). Utilizzando l'opzione -cipher
di openssl s_client
, tuttavia, posso provare che entrambi i certificati possono essere forniti dal server (forzando OpenSSL a utilizzare solo suite di crittografia aRSA o ECDSA).
A mio avviso, quando un visitatore con un browser abbastanza moderno visiterà il nostro sito di produzione, il server presenterà solo la chiave ECC e il browser si lamenterà con l'utente che non conosce quella chiave, poiché era non incluso nell'intestazione HPKP inviata durante l'ultima visita. C'è un modo per far sì che il server (Apache 2.4.7) presenti sempre entrambi i certificati? Oppure il browser in qualche modo riesce a ottenere la (nota) chiave RSA dal server?