È perfettamente possibile avere la stessa chiave pubblica in diversi certificati distinti. Matematicamente , la chiave pubblica e privata sono collegate (nel linguaggio RSA, usano lo stesso modulo) e non c'è nulla che tu possa fare a favore o contro di essa. È solo.
Tecnicamente , una determinata macchina può memorizzare certificati e chiavi private in alcune strutture dedicate e una chiave privata dovrebbe in qualche modo essere collegata al certificato e / o viceversa, in modo che le applicazioni possano ottenere le cose andare senza molta ambiguità.
Nel mondo Windows (CryptoAPI e CNG), il collegamento è da il certificato (nell'archivio certificati "My") a la chiave privata (in un vecchio -style CryptoAPI CSP, o un KSP CNG nuovo stile). È perfettamente possibile avere più certificati che puntano alla stessa chiave privata; questa è anche la situazione normale in caso di rinnovo del certificato senza creare una nuova coppia di chiavi. I collegamenti dai certificati alle chiavi private possono essere impostati in modo semi-automatico con certutil
con il comando secondario -repairstore
(in genere il processo di rilascio del certificato tiene traccia della richiesta e imposta correttamente il collegamento, ma in alcuni casi il collegamento deve essere ripristinato ). Può anche essere fatto a livello di programmazione. Il collegamento è fatto per nome (il "nome del contenitore" nella terminologia Microsoft).
Nei sistemi PKCS # 11 (ad esempio Firefox, e la maggior parte delle cose basate su certificati in Linux che non sono puramente software), i certificati e le chiavi sono collegati in virtù dello stesso attributo CKA_ID
, e poiché tale attributo dovrebbe essere univoci per un determinato tipo di oggetto, potresti avere problemi ad avere due certificati contemporaneamente che puntano alla stessa chiave privata.
In ogni caso, un certo numero di dispositivi hardware che memorizzano e utilizzano chiavi private (in particolare smart card) non possono davvero mantenere una relazione molti-a-uno dai certificati alle chiavi. Anche con il "Base Smart Card Provider" di Windows e la sua API companion "MiniDriver", è previsto che un solo certificato alla volta possa essere memorizzato su una smart card con un collegamento alla chiave privata. Tuttavia, è ancora possibile avere copie di più certificati nell'archivio certificati (sulla macchina, non sulla smart card), tutti puntati sulla chiave privata della smart card.
Revoca è in base al certificato. Ciò che viene revocato è il certificato (cioè il legame tra la tua chiave e la tua identità), non la chiave. Naturalmente, se diverse CA hanno emesso certificati che legano la tua chiave al tuo nome e la tua chiave viene rubata, ti piacerebbe tutti questi certificati essere revocati. Tuttavia, se una CA revoca il certificato per qualche altro motivo (ad es. Non ha pagato una tariffa annuale di "manutenzione del certificato"), ciò non ha alcun impatto sullo stato di revoca dei certificati emessi da altre CA, anche se contengono lo stesso nome (il tuo) e la stessa chiave pubblica (anche la tua) come certificato revocato.