Dela via


Certifikatkedjor

Om du vill använda certifikat för säkerhet måste äktheten och giltigheten för varje mottaget certifikat verifieras. Denna verifiering beror på begreppet förtroende och delegering av förtroende. Mer information finns i Hierarki av förtroende.

Varje certifikat innehåller ett ämnesfält som identifierar den person eller grupp som certifikatet utfärdades till. Varje certifikat innehåller också ett utfärdarfält som identifierar certifikatutfärdare (CA) som har behörighet att certifiera ämnets identitet.

En certifikatkedja består av alla certifikat som behövs för att certifiera det ämne som identifieras av slutcertifikatet. I praktiken omfattar detta slutcertifikatet, certifikaten för mellanliggande certifikatutfärdare och certifikatet för en rotcertifikatutfärdare som är betrodd av alla parter i kedjan. Varje mellanliggande certifikatutfärdare i kedjan har ett certifikat som utfärdats av certifikatutfärdare en nivå ovanför den i förtroendehierarkin. Rotcertifikatutfärdare utfärdar ett certifikat för sig själv.

Processen för att verifiera äktheten och giltigheten för ett nyligen mottaget certifikat innebär att kontrollera alla certifikat i kedjan av certifikat från den ursprungliga, universellt betrodda certifikatutfärdare, via mellanliggande certifikatutfärdare, ner till det certifikat som just tagits emot som kallas slutcertifikatet. Ett nytt certifikat kan bara vara betrott om varje certifikat i certifikatkedjan är korrekt utfärdat och giltigt.

Det kan bli besvärligt att spåra alla certifikat som stöder ett nytt slutcertifikat. Därför tillhandahåller CryptoAPI- 2.0-teknik funktioner som automatiserar skapandet av kedjan med certifikat som stöder ett visst slutcertifikat. Dessa funktioner kontrollerar och rapporterar även giltigheten för varje certifikat i en kedja.

Kedjebygg- och kontrollfunktionerna i CryptoAPI 2.0 använder en kedjemotor för att skapa och verifiera certifikatkedjor. En kedjemotor definierar ett butiksnamnområde och cachepartitionering för infrastrukturen för certifikatlänkning. CryptoAPI 2.0 tillhandahåller en standardkedjemotor för alla programprocesser som endast använder standardsystemlager (till exempel MY, Root, CA och Trust) för kedjeskapande och cachelagring. Ett program kan definiera sitt eget butiksnamnområde eller ha en egen partitionerad cache genom att skapa en egen kedjemotor. För att uppnå optimalt cachelagringsbeteende rekommenderar vi att du skapar en enda kedjemotor vid programstart och använder den kedjemotorn under programmets livslängd.

En lista över funktioner finns i Certificate Chain Verification Functions. Ett program som skapar certifikatkedjor och verifierar certifikat finns i Exempel C-program: Skapa en certifikatkedja.