Dela via


Mellanhänder

Mellanhänder kommunicerar med klientprogram så att de kan skicka certifikatbegärandenoch (förutsatt att begäran resulterar i ett utfärdat certifikat) för att ladda ned det utfärdade certifikatet till klienten. Varje transportskiktsprotokoll kräver sin egen mellanhand.

Microsoft Certificate Services levereras med en mellanhand (sidorna för webbregistrering) för HTTP. Ett annat exempel på en mellanhand är MMC-snapin-modulen Microsoft Windows Certificates (som gör att guiden för certifikatbegäran kan anropas). Om andra transportlagerprotokoll ska användas med Certificate Services kan en utvecklare skapa en mellanhand för varje önskat transportlagerprotokoll.

Mellanhänder kommunicerar med Certificate Services med hjälp av ICertRequest och ICertConfig gränssnitt som tillhandahålls av servermotorn. Metoden ICertRequest::Submit används för att skicka en certifikatbegäranoch ICertRequest::GetCertificate används för att hämta det resulterande utfärdade certifikatet. På samma sätt används ICertConfig::GetConfig för att avgöra vilken certifikatutfärdare som kan användas för att utfärda certifikatet.

En mellanhand är inte språkberoende. Det kan vara ett program skrivet i C++, Visual Basic, Java, skript eller ett annat språk.

Förutom att samla in data från klienten för att skapa en certifikatbegäran kan en mellanhand ange begärandeattribut. Begäranden som skickas till en certifikatutfärdare som kör företagsprincipmodulen måste ange vilken typ av certifikat som begärs genom att antingen ange attributet "CertificateTemplate" eller ett certifikatmallstillägg i själva begäran.

Observera att utvecklare (och mellanhänder) under skapandet av en certifikatbegäran ansvarar för att upprätthålla sekretessen för den privata nyckeln. När en privat nyckel har komprometterats (förlorat sitt hemlighetsmakeri) är den värdelös.

På certifikattjänsternas webbregistreringssidor används certifikatregistreringsgränssnitt, som skyddar privata nycklar genom att generera dem på arbetsstationen. Förutom att upprätthålla sekretessen för den privata nyckeln tillåter certifikatregistreringskontrollen en mellanhand att ange kryptografitjänstprovidern, nyckelspecifikationen, nyckelstyrkan och hash-algoritmen.

MMC-snapin-modulen Certifikat använder också certifikatregistreringskontrollen (Xenroll.dll). Men om certifikattjänsternas webbregistreringssidor gör att certifikatregistreringskontrollresursen (Xenroll.dll) laddas ned till klienten om det behövs, körs MMC-snapin-modulen Certifikat i en miljö där Xenroll.dll redan är en tillgänglig resurs.

Förutom ICertRequest och ICertConfigkan utvecklare av mellanhänder hitta certifikatregistreringsgränssnitt och smartkortsregistreringskontroll vara användbara.