Catene di certificati
Per usare i certificati per la sicurezza, è necessario verificare l'autenticità e la validità di ogni certificato ricevuto. Questa verifica dipende dal concetto di attendibilità e dalla delega di attendibilità; per altre informazioni, vedere Gerarchia di attendibilità.
Ogni certificato contiene un campo oggetto che identifica il singolo o il gruppo a cui è stato rilasciato il certificato. Ogni certificato contiene anche un campo emittente che identifica l'autorità di certificazione (CA) abilitata per certificare l'identità dell'oggetto.
Una catena di certificati è costituita da tutti i certificati necessari per certificare l'oggetto identificato dal certificato finale. In pratica, questo include il certificato finale, i certificati delle autorità di certificazione intermedie e il certificato di una CA radice attendibile da tutte le parti della catena. Ogni CA intermedia nella catena contiene un certificato rilasciato dalla CA un livello superiore a esso nella gerarchia di attendibilità. La CA radice rilascia un certificato per se stesso.
Il processo di verifica dell'autenticità e della validità di un certificato appena ricevuto comporta il controllo di tutti i certificati nella catena di certificati dall'autorità di certificazione originale, universalmente attendibile, tramite qualsiasi CA intermedio, fino al certificato appena ricevuto che viene chiamato certificato finale. Un nuovo certificato può essere attendibile solo se ogni certificato della catena del certificato viene rilasciato correttamente e valido.
Tenere traccia di tutti i certificati che tornano a un nuovo certificato finale possono diventare complicati. Pertanto, la tecnologia CryptoAPI 2.0 offre funzioni che automatizzano la creazione della catena di certificati che supportano qualsiasi certificato finale specificato. Queste funzioni controllano e segnalano anche la validità di ogni certificato in una catena.
Le funzioni di creazione e controllo della catena di CryptoAPI 2.0 usano un motore di catena per creare e verificare catene di certificati. Un motore di catena definisce uno spazio dei nomi dell'archivio e il partizionamento della cache per l'infrastruttura di concatenamento certificati. CryptoAPI 2.0 fornisce un motore di catena predefinito per qualsiasi processo di applicazione che usa solo archivi di sistema predefiniti (ad esempio MY, Root, CA e Trust) per la compilazione e la memorizzazione nella cache della catena. Un'applicazione può definire uno spazio dei nomi dell'archivio personalizzato o avere la propria cache partizionata creando il proprio motore di catena. Per ottenere un comportamento di memorizzazione nella cache ottimale, è consigliabile creare un singolo motore di catena all'avvio dell'applicazione e usare tale motore di catena durante tutta la durata dell'applicazione.
Per un elenco di funzioni, vedere Funzioni di verifica della catena di certificati. Per un programma che compila catene di certificati e verifica i certificati, vedere Programma C di esempio: Creazione di una catena di certificati.