Dela via


Kryptografifunktioner

Kryptografifunktioner kategoriseras enligt användning enligt följande:

CryptXML Functions

De kryptografiska XML-funktionerna tillhandahåller ett API för att skapa och representera digitala signaturer med hjälp av XML-formaterade data. Information om XML-formaterade signaturer finns i specifikationen XML-Signature syntax och bearbetning på https://go.microsoft.com/fwlink/p/?linkid=139649.

Funktion Beskrivning
A_SHAFinal Beräknar den sista hashen för de data som anges av funktionen MD5Update.
A_SHAInit Initierar hashning av en dataström.
A_SHAUpdate Lägger till data i ett angivet hash-objekt.
CryptXmlCreateReference Skapar en referens till en XML-signatur.
CryptXmlAddObject Lägger till elementet Object i signaturen i dokumentkontexten som öppnats för kodning.
CryptXmlClose Stänger ett kryptografiskt XML-objekthandtag.
CryptXmlDigestReference Används av ett program för att sammanfatta den lösta referensen. Den här funktionen tillämpar transformeringar innan du uppdaterar sammanfattningen.
CryptXmlDllCloseDigest Frigör CRYPT_XML_DIGEST som allokerats av funktionen CryptXmlDllCreateDigest.
CryptXmlDllCreateDigest Skapar ett sammandragsobjekt för den angivna metoden.
CryptXmlDllCreateKey Parsar KeyValue--elementet och skapar ett kryptografi-API: Nästa generations BCrypt-nyckelhandtag (CNG) för att verifiera en signatur.
CryptXmlDllDigestData Placerar data i sammandraget.
CryptXmlDllEncodeAlgorithm Kodar SignatureMethod eller DigestMethod element för agila algoritmer med standardparametrar.
CryptXmlDllEncodeKeyValue Kodar ett KeyValue--element.
CryptXmlDllFinalizeDigest Hämtar sammandragsvärdet.
CryptXmlDllGetAlgorithmInfo Avkodar XML-algoritmen och returnerar information om algoritmen.
CryptXmlDllGetInterface Hämtar en pekare till de kryptografiska tilläggsfunktionerna för den angivna algoritmen.
CryptXmlDllSignData Signerar data.
CryptXmlDllVerifySignature Verifierar en signatur.
CryptXmlEncode Kodar signaturdata med hjälp av den angivna återanropsfunktionen för XML-skrivare.
CryptXmlGetAlgorithmInfo Avkodar CRYPT_XML_ALGORITHM struktur och returnerar information om algoritmen.
CryptXmlGetDocContext Returnerar dokumentkontexten som anges av det angivna handtaget.
CryptXmlGetReference Returnerar elementet Reference som anges av det angivna handtaget.
CryptXmlGetSignature Returnerar ett XML-signatur--element.
CryptXmlGetStatus Returnerar en CRYPT_XML_STATUS struktur som innehåller statusinformation om objektet som anges av det angivna handtaget.
CryptXmlGetTransforms Returnerar information om standardmotorn för transformeringskedjan.
CryptXmlImportPublicKey Importerar den offentliga nyckel som anges av det angivna handtaget.
CryptXmlOpenToEncode Öppnar en digital XML-signatur för att koda och returnerar ett handtag för det öppnade Signature-elementet. Handtaget kapslar in en dokumentkontext med en enda CRYPT_XML_SIGNATURE struktur och förblir öppen tills funktionen CryptXmlClose anropas.
CryptXmlOpenToDecode Öppnar en digital XML-signatur för att avkoda och returnerar handtaget för dokumentkontexten som kapslar in en CRYPT_XML_SIGNATURE struktur. Dokumentkontexten kan innehålla ett eller flera signaturer element.
CryptXmlSetHMACSecret Anger HMAC-hemligheten på handtaget innan du anropar funktionen CryptXmlSign eller CryptXmlVerify.
CryptXmlSign Skapar en kryptografisk signatur för ett SignedInfo--element.
CryptXmlVerifySignature Utför en krypteringssignaturverifiering av ett SignedInfo--element.
PFN_CRYPT_XML_WRITE_CALLBACK Skapar en transformering för en angiven dataprovider.
PFN_CRYPT_XML_CREATE_TRANSFORM Skriver kryptografiska XML-data.
PFN_CRYPT_XML_DATA_PROVIDER_READ Läser kryptografiska XML-data.
PFN_CRYPT_XML_DATA_PROVIDER_CLOSE Släpper den kryptografiska XML-dataprovidern.
PFN_CRYPT_XML_ENUM_ALG_INFO Räknar upp fördefinierade och registrerade CRYPT_XML_ALGORITHM_INFO poster.

 

Signer Functions

Tillhandahåller funktioner för att signera och tidsstämpeldata.

Funktion Beskrivning
SignerFreeSignerContext Frigör en SIGNER_CONTEXT struktur som allokerats av ett tidigare anrop till funktionen SignerSignEx.
SignError Anropar funktionen GetLastError och konverterar returkoden till en HRESULT-.
SignerSign Signerar den angivna filen.
SignerSignEx Signerar den angivna filen och returnerar en pekare till signerade data.
SignerSignEx2 Tecken och tid stämplar den angivna filen, vilket tillåter flera kapslade signaturer.
SignerTimeStamp Tidsstämplar det angivna ämnet. Den här funktionen stöder Authenticode-tidsstämpling. Om du vill utföra tidsstämpling för X.509 Public Key Infrastructure (RFC 3161) använder du funktionen SignerTimeStampEx2.
SignerTimeStampEx Tid stämplar det angivna ämnet och returnerar eventuellt en pekare till en SIGNER_CONTEXT struktur som innehåller en pekare till en BLOB-. Den här funktionen stöder Authenticode-tidsstämpling. Om du vill utföra tidsstämpling för X.509 Public Key Infrastructure (RFC 3161) använder du funktionen SignerTimeStampEx2.
SignerTimeStampEx2 Tid stämplar det angivna ämnet och returnerar eventuellt en pekare till en SIGNER_CONTEXT struktur som innehåller en pekare till en BLOB-. Den här funktionen kan användas för att utföra X.509 Public Key Infrastructure, RFC 3161-kompatibla tidsstämplar.
SignerTimeStampEx3 Tid stämplar det angivna ämnet och stöder inställning av tidsstämplar för flera signaturer.

 

Grundläggande kryptografifunktioner

Grundläggande kryptografiska funktioner är det mest flexibla sättet att utveckla kryptografiprogram. All kommunikation med en kryptografitjänstprovider (CSP) sker via dessa funktioner.

En CSP är en oberoende modul som utför alla kryptografiska åtgärder. Minst en CSP krävs för varje program som använder kryptografiska funktioner. Ett enda program kan ibland använda mer än en CSP.

Om mer än en CSP används kan den som ska användas anges i kryptografiska kryptografiska funktionsanrop för CryptoAPI. En CSP, Microsoft Base Cryptographic Provider, paketeras med CryptoAPI-. Den här CSP:n används som standardprovider av många av CryptoAPI-funktionerna om ingen annan CSP har angetts.

Varje CSP tillhandahåller en annan implementering av kryptografiskt stöd som ges till CryptoAPI. Vissa tillhandahåller starkare kryptografiska algoritmer. andra innehåller maskinvarukomponenter, till exempel smartkort. Dessutom kan vissa CSP:er ibland kommunicera direkt med användare, till exempel när digitala signaturer utförs med hjälp av användarens privata signaturnyckel.

Grundläggande kryptografiska funktioner finns i följande breda grupper:

  • Tjänstleverantörsfunktioner
  • Nyckelgenerering och Exchange Functions
  • Objektkodning och avkodningsfunktioner
  • Datakryptering och dekrypteringsfunktioner
  • Funktioner för hash- och digital signatur

Tjänstleverantörsfunktioner

Program använder följande tjänstfunktioner för att ansluta och koppla från en kryptografitjänstprovider (CSP).

Funktion Beskrivning
CryptAcquireContext Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Hämtar en referens till den aktuella användarens nyckelcontainer inom en viss CSP.
CryptContextAddRef Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Ökar referensantalet på en HCRYPTPROV--handtag.
CryptEnumProviders Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Räknar upp leverantörerna på en dator.
CryptEnumProviderTypes Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Räknar upp de typer av leverantörer som stöds på datorn.
CryptGetDefaultProvider Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Avgör standard-CSP för den aktuella användaren eller för datorn för en angiven providertyp.
CryptGetProvParam Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Hämtar de parametrar som styr driften av en CSP.
CryptInstallDefaultContext Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Installerar en tidigare förvärvad HCRYPTPROV kontext som ska användas som standardkontext.
CryptReleaseContext Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Släpper handtaget som hämtas av funktionen CryptAcquireContext.
CryptSetProvider och CryptSetProviderEx Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Anger användarens standard-CSP för en viss CSP-typ.
CryptSetProvParam Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Anger attribut för en CSP.
CryptUninstallDefaultContext Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Tar bort en standardkontext som tidigare installerats av CryptInstallDefaultContext.
FreeCryptProvFromCertEx Släpper handtaget antingen till en kryptografitjänstprovider (CSP) eller till en CNG-nyckel (Cryptography API: Next Generation).

 

Nyckelgenerering och Exchange Functions

Nyckelgenererings- och utbytesfunktioner utbyta nycklar med andra användare och skapa, konfigurera och förstöra kryptografiska nycklar.

Funktion Beskrivning
CryptDeriveKey Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Skapar en nyckel som härleds från ett lösenord.
CryptDestroyKey Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Förstör en nyckel.
CryptDuplicateKey Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Gör en exakt kopia av en nyckel, inklusive tillstånd av nyckeln.
CryptExportKey Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Överför en nyckel från CSP:en till en nyckelblob i programmets minnesutrymme.
CryptGenKey Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Skapar en slumpmässig nyckel.
CryptGenRandom Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Genererar slumpmässiga data.
CryptGetKeyParam Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Hämtar en nyckels parametrar.
CryptGetUserKey Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Hämtar ett handtag till nyckelutbytet eller signaturnyckeln.
CryptImportKey Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Överför en nyckel från en BLOB- till en CSP.
CryptSetKeyParam Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Anger en nyckels parametrar.

 

Objektkodning och avkodningsfunktioner

Dessa är generaliserade kodnings- och avkodningsfunktioner. De används för att koda och avkoda certifikat, listor över återkallade certifikat (CRL), certifikatbegärandenoch certifikattillägg.

Funktion Beskrivning
CryptDecodeObject Avkodar en struktur av typen lpszStructType.
CryptDecodeObjectEx Avkodar en struktur av typen lpszStructType. CryptDecodeObjectEx stöder alternativet för minnesallokering med ett enda pass.
CryptEncodeObject Kodar en struktur av typen lpszStructType.
CryptEncodeObjectEx Kodar en struktur av typen lpszStructType. CryptEncodeObjectEx stöder alternativet för minnesallokering med ett pass.

 

Datakryptering och dekrypteringsfunktioner

Följande funktioner stöder krypterings- och dekrypteringsåtgärder. CryptEncrypt och CryptDecrypt kräva en kryptografisk nyckel innan den anropas. Detta görs med hjälp av funktionen CryptGenKey, CryptDeriveKeyeller CryptImportKey. Krypteringsalgoritmen anges när nyckeln skapas. CryptSetKeyParam kan ange ytterligare krypteringsparametrar.

Funktion Beskrivning
CryptDecrypt Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Dekrypterar ett avsnitt i chiffertext med hjälp av den angivna krypteringsnyckeln.
CryptEncrypt Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Krypterar ett avsnitt i klartext med hjälp av den angivna krypteringsnyckeln.
CryptProtectData Utför kryptering på data i en DATA_BLOB struktur.
CryptProtectMemory Krypterar minne för att skydda känslig information.
CryptUnprotectData Utför en dekrypterings- och integritetskontroll av data i en DATA_BLOB.
CryptUnprotectMemory Dekrypterar minne som krypterades med hjälp av CryptProtectMemory.

 

Funktioner för hash- och digital signatur

Dessa funktioner beräknar hashar data och skapar och verifierar även digitala signaturer. Hashar kallas även för meddelandesammandrag.

Funktion Beskrivning
CryptCreateHash Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Skapar ett tomt hash-objekt.
CryptDestroyHash Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Förstör ett hash-objekt.
CryptDuplicateHash Duplicerar ett hash-objekt.
CryptGetHashParam Hämtar en hash-objektparameter.
CryptHashData Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Hashar ett datablock och lägger till det i det angivna hash-objektet.
CryptHashSessionKey Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Hashar en sessionsnyckel och lägger till den i det angivna hash-objektet.
CryptSetHashParam Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Anger en hash-objektparameter.
CryptSignHash Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Signerar det angivna hash-objektet.
CryptUIWizDigitalSign Visar en guide som signerar ett dokument digitalt eller en BLOB-.
CryptUIWizFreeDigitalSignContext Släpper en pekare till en CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT struktur.
CryptVerifySignature Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Verifierar en digital signatur med ett handtag till hash-objektet.
PFNCFILTERPROC Filtrerar de certifikat som visas i guiden för digital signatur som visas av funktionen CryptUIWizDigitalSign.

 

Funktioner för certifikat- och certifikatarkiv

Funktioner för certifikat- och certifikatarkiv hanterar användning, lagring och hämtning av certifikat, listor över återkallade certifikat (CRL) och listor över betrodda certifikat (CTL). Dessa funktioner är indelade i följande grupper:

  • Funktioner för certifikatarkiv
  • Underhållsfunktioner för certifikat och certifikatarkiv
  • Certifikatfunktioner
  • Funktioner i listan över återkallade certifikat
  • Funktioner för certifikatförtroendelista
  • Utökade egenskapsfunktioner
  • MakeCert Functions

Funktioner för certifikatarkiv

En användarwebbplats kan med tiden samla in många certifikat. Vanligtvis har en webbplats certifikat för användaren av webbplatsen samt andra certifikat som beskriver de individer och entiteter som användaren kommunicerar med. För varje entitet kan det finnas fler än ett certifikat. För varje enskilt certifikat bör det finnas en kedja med verifierande certifikat som ger en spårning tillbaka till ett betrott rotcertifikat. Certifikatarkiv och deras relaterade funktioner ger funktioner för att lagra, hämta, räkna upp, verifiera och använda informationen som lagras i certifikaten.

Funktion Beskrivning
CertAddStoreToCollection Lägger till ett certifikatarkiv på samma nivå i ett samlingscertifikatarkiv.
CertCloseStore Stänger ett certifikatarkivhandtag.
CertControlStore Tillåter att ett program meddelas när det finns en skillnad mellan innehållet i ett cachelagrat arkiv och innehållet i arkivet som sparas i lagringen. Det ger också desynkronisering av det cachelagrade arkivet, om det behövs, och ger ett sätt att genomföra ändringar som gjorts i det cachelagrade arkivet till sparad lagring.
CertDuplicateStore Duplicerar ett butikshandtag genom att öka referensantalet.
CertEnumPhysicalStore Räknar upp de fysiska arkiven för ett angivet systemlager.
CertEnumSystemStore Räknar upp alla tillgängliga systemlager.
CertEnumSystemStoreLocation Räknar upp alla platser som har ett tillgängligt systemlager.
CertGetStoreProperty Hämtar en butiksegenskap.
CertOpenStore Öppnar ett certifikatarkiv med en angiven butiksleverantörstyp.
CertOpenSystemStore Öppnar ett systemcertifikatarkiv baserat på ett undersystemprotokoll.
CertRegisterPhysicalStore Lägger till ett fysiskt lager i en registersystemlagringssamling.
CertRegisterSystemStore Registrerar ett systemlager.
CertRemoveStoreFromCollection Tar bort ett certifikatarkiv på samma nivå från ett samlingsarkiv.
CertSaveStore Sparar certifikatarkivet.
CertSetStoreProperty Anger en butiksegenskap.
CertUnregisterPhysicalStore Tar bort ett fysiskt arkiv från en angiven systemlagersamling.
CertUnregisterSystemStore Avregistrerar ett angivet systemlager.
CryptUIWizExportera Visar en guide som exporterar ett certifikat, en lista över betrodda certifikat (CTL), listan över återkallade certifikat (CRL) eller certifikatarkivet.
CryptUIWizImportera Visar en guide som importerar ett certifikat, en lista över betrodda certifikat (CTL), listan över återkallade certifikat (CRL) eller ett certifikatarkiv.

 

Underhållsfunktioner för certifikat och certifikatarkiv

CryptoAPI tillhandahåller en uppsättning allmänna underhållsfunktioner för certifikat och certifikatarkiv.

Funktion Beskrivning
CertAddSerializedElementToStore Lägger till det serialiserade certifikatet eller CRL-elementet i arkivet.
CertCreateContext Skapar den angivna kontexten från kodade byte. Den nya kontexten placeras inte i ett arkiv.
CertEnumSubjectInSortedCTL Räknar upp TrustedSubjects i en sorterad CTL-kontext.
CertFindSubjectInCTL Söker efter det angivna ämnet i en CTL.
CertFindSubjectInSortedCTL Söker efter det angivna ämnet i en sorterad CTL.
OpenPersonalTrustDBDialog och OpenPersonalTrustDBDialogEx Visar dialogrutan Certifikat.

 

Certifikatfunktioner

De flesta certifikat funktioner har relaterade funktioner för att hantera CRL:er och CTL:er. Mer information om relaterade CRL- och CTL-funktioner finns i Funktioner i listan över återkallade certifikat och funktioner för betrodda certifikatlistor.

Funktion Beskrivning
CertAddCertificateContextToStore Lägger till en certifikatkontext i certifikatarkivet.
CertAddCertificateLinkToStore Lägger till en länk i ett certifikatarkiv till en certifikatkontext i ett annat arkiv.
CertAddEncodedCertificateToStore Konverterar det kodade certifikatet till en certifikatkontext och lägger sedan till kontexten i certifikatarkivet.
CertAddRefServerOcspResponse Ökar referensantalet för ett HCERT_SERVER_OCSP_RESPONSE-handtag.
CertAddRefServerOcspResponseContext Ökar referensantalet för en CERT_SERVER_OCSP_RESPONSE_CONTEXT struktur.
CertCloseServerOcspResponse Stänger ett ocsp-serversvarshandtag (online certificate status protocol).
CertCreateCertificateContext Skapar en certifikatkontext från ett kodat certifikat. Den skapade kontexten placeras inte i ett certifikatarkiv.
CertCreateSelfSignCertificate Skapar ett självsignerat certifikat.
CertDeleteCertificateFromStore Tar bort ett certifikat från certifikatarkivet.
CertDuplicateCertificateContext Duplicerar en certifikatkontext genom att öka dess referensantal.
CertEnumCertificatesInStore Räknar upp certifikatkontexterna i certifikatarkivet.
CertFindCertificateInStore Hittar den första eller nästa certifikatkontexten i certifikatarkivet som uppfyller ett sökvillkor.
CertFreeCertificateContext Frigör en certifikatkontext.
CertGetIssuerCertificateFromStore Hämtar en certifikatkontext från certifikatarkivet för den första eller nästa utfärdaren av det angivna ämnescertifikatet.
CertGetServerOcspResponseContext Hämtar ett icke-blockerande, tidsgiltigt svarskontext för onlinecertifikatstatusprotokollet (OCSP) för det angivna handtaget.
CertGetSubjectCertificateFromStore Hämtar från certifikatarkivet ämnescertifikatkontexten, som identifieras unikt av utfärdaren och serienumret.
CertGetValidUsages Returnerar en matris med användningar som består av skärningspunkten mellan giltiga användningar för alla certifikat i en matris med certifikat.
CertOpenServerOcspResponse Öppnar en referens till ett ocsp-svar (online certificate status protocol) som är associerat med en servercertifikatkedja.
CertRetrieveLogoOrBiometricInfo Utför en URL-hämtning av logotyp eller biometrisk information som anges i certifikattillägget szOID_LOGOTYPE_EXT eller szOID_BIOMETRIC_EXT.
CertSelectCertificate Visar en dialogruta där användaren kan välja certifikat från en uppsättning certifikat som matchar ett visst villkor.
CertSelectCertificateChains Hämtar certifikatkedjor baserat på angivna urvalsvillkor.
CertSelectionGetSerializedBlob En hjälpfunktion som används för att hämta ett serialiserat certifikat BLOB- från en CERT_SELECTUI_INPUT struktur.
CertSerializeCertificateStoreElement Serialiserar en certifikatkontexts kodade certifikat och en kodad representation av dess egenskaper.
CertVerifySubjectCertificateContext Utför de aktiverade verifieringskontrollerna på certifikatmottagaren med utfärdaren.
CryptUIDlgCertMgr Visar en dialogruta som gör att användaren kan hantera certifikat.
CryptUIDlgSelectCertificate Visar en dialogruta som gör att en användare kan välja ett certifikat.
CryptUIDlgSelectCertificateFromStore Visar en dialogruta som tillåter val av ett certifikat från ett angivet arkiv.
CryptUIDlgViewCertificate Visar en dialogruta som visar ett angivet certifikat.
CryptUIDlgViewContext Visar ett certifikat, crl eller ctl.
CryptUIDlgViewSignerInfo Visar en dialogruta som innehåller undertecknarinformationen för ett signerat meddelande.
GetFriendlyNameOfCert Hämtar visningsnamnet för ett certifikat.
RKeyCloseKeyService Stänger en nyckeltjänstreferens.
RKeyOpenKeyService Öppnar ett nyckeltjänsthandtag på en fjärrdator.
RKeyPFXInstall Installerar ett certifikat på en fjärrdator.

 

Funktioner i listan över återkallade certifikat

Dessa funktioner hanterar lagring och hämtning av listor över återkallade certifikat (CRL).

Funktion Beskrivning
CertAddCRLContextToStore Lägger till en CRL-kontext i certifikatarkivet.
CertAddCRLLinkToStore Lägger till en länk i ett arkiv till en CRL-kontext i ett annat arkiv.
CertAddEncodedCRLToStore Konverterar den kodade CRL till en CRL-kontext och lägger sedan till kontexten i certifikatarkivet.
CertCreateCRLContext Skapar en CRL-kontext från en kodad CRL. Den skapade kontexten placeras inte i ett certifikatarkiv.
CertDeleteCRLFromStore Tar bort en CRL från certifikatarkivet.
CertDuplicateCRLContext Duplicerar en CRL-kontext genom att öka referensantalet.
CertEnumCRLsInStore Räknar upp CRL-kontexterna i ett arkiv.
CertFindCertificateInCRL Söker i listan över återkallade certifikat (CRL) efter det angivna certifikatet.
CertFindCRLInStore Hittar den första, eller nästa, CRL-kontexten i certifikatarkivet som matchar ett specifikt kriterium.
CertFreeCRLContext Frigör en CRL-kontext.
CertGetCRLFromStore Hämtar den första eller nästa CRL-kontexten från certifikatarkivet för det angivna utfärdarcertifikatet.
CertSerializeCRLStoreElement Serialiserar CRL-kontextens kodade CRL och dess egenskaper.

 

Funktioner för certifikatförtroendelista

Dessa funktioner hanterar lagring och hämtning av certifikatförtroendelistor (CTL).

Funktion Beskrivning
CertAddCTLContextToStore Lägger till en CTL-kontext i certifikatarkivet.
CertAddCTLLinkToStore Lägger till en länk i ett arkiv till en CRL-kontext i ett annat arkiv.
CertAddEncodedCTLToStore Konverterar den kodade CTL:en till en CTL-kontext och lägger sedan till kontexten i certifikatarkivet.
CertCreateCTLContext Skapar en CTL-kontext från en kodad lista över betrodda certifikat. Den skapade kontexten placeras inte i ett certifikatarkiv.
CertDeleteCTLFromStore Tar bort en CTL från certifikatarkivet.
CertDuplicateCTLContext Duplicerar en CTL-kontext genom att öka referensantalet.
CertEnumCTLsInStore Räknar upp CTL-kontexterna i certifikatarkivet.
CertFindCTLInStore Hittar den första eller nästa CTL-kontexten i certifikatarkivet som matchar ett specifikt villkor.
CertFreeCTLContext Frigör en CTL-kontext.
CertModifyCertificatesToTrust Ändrar uppsättningen med certifikat i en CTL för ett visst syfte.
CertSerializeCTLStoreElement Serialiserar CTL-kontextens kodade CTL och dess egenskaper.

 

Utökade egenskapsfunktioner

Följande funktioner fungerar med utökade egenskaper för certifikat, CRL:er och CTL:er.

Funktion Beskrivning
CertEnumCertificateContextProperties Räknar upp egenskaperna för den angivna certifikatkontexten.
CertEnumCRLContextProperties Räknar upp egenskaperna för den angivna CRL-kontexten.
CertEnumCTLContextProperties Räknar upp egenskaperna för den angivna CTL-kontexten.
CertGetCertificateContextProperty Hämtar certifikategenskaper.
CertGetCRLContextProperty Hämtar CRL-egenskaper.
CertGetCTLContextProperty Hämtar CTL-egenskaper.
CertSetCertificateContextProperty Anger certifikategenskaper.
CertSetCRLContextProperty Anger CRL-egenskaper.
CertSetCTLContextProperty Anger CTL-egenskaper.

 

MakeCert Functions

Följande funktioner stöder verktyget MakeCert.

Funktion Beskrivning
FreeCryptProvFromCert Släpper handtaget till en kryptografitjänstprovider (CSP) och tar eventuellt bort den tillfälliga container som skapats av funktionen GetCryptProvFromCert.
GetCryptProvFromCert Hämtar ett handtag till en CSP och en nyckelspecifikation för en certifikatkontext.
PvkFreeCryptProv Släpper handtaget till en CSP och tar eventuellt bort den tillfälliga container som skapats av funktionen PvkGetCryptProv.
PvkGetCryptProv Hämtar ett handtag till en CSP baserat på antingen en privat nyckel filnamn eller ett nyckelcontainernamn.
PvkPrivateKeyAcquireContextFromMemory Skapar en tillfällig container i CSP och läser in en privat nyckel från minnet till containern.
PvkPrivateKeySpara Sparar en privat nyckel och dess motsvarande offentliga nyckel till en angiven fil.
SignError Anropar GetLastError och konverterar returkoden till en HRESULT-.

 

Certifikatverifieringsfunktioner

Certifikat verifieras med hjälp av CTL:er eller certifikatkedjor. Funktioner tillhandahålls för båda dessa:

  • Verifieringsfunktioner med hjälp av CTL:er
  • Verifieringsfunktioner för certifikatkedja

Verifieringsfunktioner med hjälp av CTL:er

Dessa funktioner använder CTL:er i verifieringsprocessen. Ytterligare funktioner för att arbeta med CTL:er finns i funktioner i listan över betrodda certifikat och utökade egenskapsfunktioner.

Följande funktioner använder CTL:er direkt för verifiering.

Funktion Beskrivning
CertVerifyCTLUsage Verifierar användningen av en CTL.
CryptMsgEncodeAndSignCTL Kodar och signerar en CTL som ett meddelande.
CryptMsgGetAndVerifySigner Hämtar och verifierar en CTL från ett meddelande.
CryptMsgSignCTL Signerar ett meddelande som innehåller en CTL.

 

Verifieringsfunktioner för certifikatkedja

Certifikatkedjor skapas för att ge förtroendeinformation om enskilda certifikat.

Funktionsnamn Beskrivning
CertCreateCertificateChainEngine Skapar en ny nondefault-kedjemotor för ett program.
CertCreateCTLEntryFromCertificateContextProperties Skapar en CTL-post vars attribut är certifikatkontextens egenskaper.
CertDuplicateCertificateChain Duplicerar en certifikatkedja genom att öka kedjans referensantal och returnera en pekare till kedjan.
CertFindChainInStore Hittar den första eller nästa kontexten för certifikatkedjan i ett arkiv.
CertFreeCertificateChain Frigör en certifikatkedja genom att minska dess referensantal.
CertFreeCertificateChainEngine Frigör en nondefault-certifikatkedjemotor.
CertFreeCertificateChainList Frigör matrisen med pekare till kedjekontexter.
CertGetCertificateChain Skapar en kedjekontext från ett slutcertifikat och går tillbaka till ett betrott rotcertifikat, om möjligt.
CertIsValidCRLForCertificate Kontrollerar en CRL- för att avgöra om det skulle innehålla ett specifikt certifikat om certifikatet återkallades.
CertSetCertificateContextPropertiesFromCTLEntry Anger egenskaper för certifikatkontexten med hjälp av attributen i CTL-posten.
CertVerifyCertificateChainPolicy Kontrollerar en certifikatkedja för att verifiera dess giltighet, inklusive dess kompatibilitet med eventuella angivna giltighetsprincipvillkor.

 

Meddelandefunktioner

CryptoAPI meddelandefunktioner består av två grupper av funktioner: meddelandefunktioner på låg nivå och förenklade meddelandefunktioner.

Meddelandefunktioner på låg nivå skapar och fungerar direkt med PKCS #7-meddelanden. Dessa funktioner kodar PKCS #7-data för överföring och avkoda mottagna PKCS #7-data. De dekrypterar och verifierar också signaturerna för mottagna meddelanden. En översikt över PKCS #7-standardmeddelanden och lågnivåmeddelanden finns i Meddelanden på låg nivå.

Förenklade meddelandefunktioner är på en högre nivå och omsluter flera meddelandefunktioner på låg nivå och certifikatfunktioner i enskilda funktioner som utför en specifik uppgift på ett specifikt sätt. Dessa funktioner minskar antalet funktionsanrop som krävs för att utföra en uppgift, vilket förenklar användningen av CryptoAPI. En översikt över förenklade meddelanden finns i Förenklade meddelanden.

  • Meddelandefunktioner på låg nivå
  • Förenklade meddelandefunktioner

Meddelandefunktioner på låg nivå

Meddelandefunktioner på låg nivå ger de funktioner som krävs för att koda data för överföring och för att avkoda mottagna PKCS #7-meddelanden. Funktioner tillhandahålls också för att dekryptera och verifiera signaturerna för mottagna meddelanden. Användning av dessa meddelandefunktioner på låg nivå i de flesta program rekommenderas inte. För de flesta program är användningen av förenklade meddelandefunktioner, som omsluter flera lågnivåmeddelandefunktioner i ett enda funktionsanrop, att föredra.

Funktion Beskrivning
CryptMsgCalculateEncodedLength Beräknar längden på ett kodat kryptografiskt meddelande.
CryptMsgClose Stänger ett handtag för ett kryptografiskt meddelande.
CryptMsgControl Utför en särskild kontrollfunktion efter den sista CryptMsgUpdate av ett kodat eller avkodat kryptografiskt meddelande.
CryptMsgCountersign Räknar en redan befintlig signatur i ett meddelande.
CryptMsgCountersignEncoded Räknar in en redan befintlig signatur (kodad SignerInfo, definierad av PKCS #7).
CryptMsgDuplicate Duplicerar ett kryptografiskt meddelandehandtag genom att öka referensantalet. Referensantalet håller reda på meddelandets livslängd.
CryptMsgGetParam Hämtar en parameter efter kodning eller avkodning av ett kryptografiskt meddelande.
CryptMsgOpenToDecode Öppnar ett kryptografiskt meddelande för avkodning.
CryptMsgOpenToEncode Öppnar ett kryptografiskt meddelande för kodning.
CryptMsgUpdate Uppdaterar innehållet i ett kryptografiskt meddelande.
CryptMsgVerifyCountersignatureEncoded Verifierar en motsignering när det gäller SignerInfo-strukturen (definierad av PKCS #7).
CryptMsgVerifyCountersignatureEncodedEx Verifierar att parametern pbSignerInfoCounterSignature innehåller den krypterade hash- för fältet encryptedDigest i pbSignerInfo parameterstruktur.

 

Förenklade meddelandefunktioner

förenklade meddelandefunktioner omsluta meddelandefunktioner på låg nivå till en enda funktion för att utföra en angiven uppgift.

Funktion Beskrivning
CryptDecodeMessage Avkodar ett kryptografiskt meddelande.
CryptDecryptAndVerifyMessageSignature Dekrypterar det angivna meddelandet och verifierar undertecknaren.
CryptDecryptMessage Dekrypterar det angivna meddelandet.
CryptEncryptMessage Krypterar meddelandet för mottagaren eller mottagarna.
CryptGetMessageCertificates Returnerar certifikatarkivet som innehåller meddelandets certifikat och CRL:er.
CryptGetMessageSignerCount Returnerar antalet undertecknare i det signerade meddelandet.
CryptHashMessage Skapar en hash för meddelandet.
CryptSignAndEncryptMessage Signerar meddelandet och krypterar det sedan för mottagaren eller mottagarna.
CryptSignMessageWithKey Signerar ett meddelande med hjälp av en CSP:s privata nyckel som anges i parametrarna till funktionen.
CryptSignMessage Signerar meddelandet.
CryptVerifyDetachedMessageHash Verifierar ett hash-meddelande som innehåller en frånkopplad hash.
CryptVerifyDetachedMessageSignature Verifierar ett signerat meddelande som innehåller en frånkopplad signatur eller signaturer.
CryptVerifyMessageHash Verifierar ett hash-meddelande.
CryptVerifyMessageSignature Verifierar ett signerat meddelande.
CryptVerifyMessageSignatureWithKey Verifierar signaturen för ett signerat meddelande med hjälp av angiven offentlig nyckelinformation.

 

Extrafunktioner

Extrafunktionerna grupperas på följande sätt:

  • Datahanteringsfunktioner
  • Datakonverteringsfunktioner
  • Förbättrade funktioner för nyckelanvändning
  • Funktioner för nyckelidentifierare
  • OID-stödfunktioner
  • Funktioner för hämtning av fjärrobjekt
  • PFX-funktioner

Datahanteringsfunktioner

Följande CryptoAPI-funktioner hanterar data och certifikat.

Funktion Beskrivning
CertCompareCertificate Jämför två certifikat för att avgöra om de är identiska.
CertCompareCertificateName Jämför två certifikatnamn för att avgöra om de är identiska.
CertCompareIntegerBlob Jämför två heltal BLOB-.
CertComparePublicKeyInfo Jämför två offentliga nycklar för att avgöra om de är identiska.
CertFindAttribute Hittar det första attributet som identifieras av dess objektidentifierare (OID).
CertFindExtension Hittar det första tillägget som identifieras av dess OID.
CertFindRDNAttr Hittar det första RDN--attributet som identifieras av dess OID i namnlistan för relativa unika namn.
CertGetIntendedKeyUsage Hämtar de avsedda byteen för nyckelanvändning från certifikatet.
CertGetPublicKeyLength Hämtar den offentliga/privata nyckelns bitlängd från offentliga nyckelblob.
CertIsRDNAttrsInCertificateName Jämför attributen i certifikatnamn med den angivna CERT_RDN för att avgöra om alla attribut ingår där.
CertIsStrongHashToSign Avgör om den angivna hash-algoritmen och den offentliga nyckeln i signeringscertifikatet kan användas för att utföra stark signering.
CertVerifyCRLRevocation Verifierar att certifikatmottagaren inte finns med i listan över återkallade certifikat (CRL).
CertVerifyCRLTimeValidity Verifierar tids giltigheten för en CRL.
CertVerifyRevocation Verifierar att certifikatet för certifikatmottagaren inte finns på listan över återkallade certifikat.
CertVerifyTimeValidity Verifierar tids giltigheten för ett certifikat.
CertVerifyValidityNesting Verifierar att ämnets tids giltighet kapslas inom utfärdarens tids giltighet.
CryptExportPKCS8 Den här funktionen ersätts av funktionen CryptExportPKCS8Ex.
CryptExportPKCS8Ex Exporterar den privata nyckeln i PKCS #8-format.
CryptExportPublicKeyInfo Exporterar den offentliga nyckelinformation som är associerad med leverantörens motsvarande privata nyckel.
CryptExportPublicKeyInfoEx Exporterar den offentliga nyckelinformation som är associerad med leverantörens motsvarande privata nyckel. Den här funktionen skiljer sig från CryptExportPublicKeyInfo genom att användaren kan ange algoritmen för offentlig nyckel, vilket åsidosätter standardvärdet som tillhandahålls av CSP.
CryptExportPublicKeyInfoFromBCryptKeyHandle Exporterar den offentliga nyckelinformation som är associerad med en providers motsvarande privata nyckel.
CryptFindCertificateKeyProvInfo Räknar upp kryptografiska providers och deras nyckelcontainrar för att hitta den privata nyckel som motsvarar ett certifikats offentliga nyckel.
CryptFindLocalizedName Söker efter det lokaliserade namnet för ett angivet namn, till exempel hitta det lokaliserade namnet på rotsystemets butiksnamn.
CryptHashCertificate Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Hashar det kodade innehållet.
CryptHashCertificate2 Hashar ett datablock med hjälp av en kryptografi-API: nästa generations hash-provider (CNG).
CryptHashPublicKeyInfo Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Beräknar hashen för den kodade offentliga nyckelinformationen.
CryptHashToBeSigned Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Beräknar hashen för informationen "som ska signeras" i det kodade signerade innehållet (CERT_SIGNED_CONTENT_INFO).
CryptImportPKCS8 Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Importerar privat nyckel i PKCS #8-format till en kryptografisk tjänstprovider (CSP).
CryptImportPublicKeyInfo Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Konverterar och importerar information om offentlig nyckel till providern och returnerar en referens för den offentliga nyckeln.
CryptImportPublicKeyInfoEx Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Konverterar och importerar den offentliga nyckelinformationen till providern och returnerar en referens för den offentliga nyckeln. Ytterligare parametrar (jämfört med de som anges av CryptImportPublicKeyInfo) som kan användas för att åsidosätta standardvärden tillhandahålls för att komplettera CERT_PUBLIC_KEY_INFO.
CryptImportPublicKeyInfoEx2 Importerar en offentlig nyckel till en Asymmetrisk CNG-provider.
CryptMemAlloc Allokerar minne för en buffert. Det här minnet används av alla Crypt32.lib-funktioner som returnerar allokerade buffertar.
CryptMemFree Frigör minne som allokerats av CryptMemAlloc eller CryptMemRealloc.
CryptMemRealloc Frigör minne som för närvarande allokeras för en buffert och allokerar minne för en ny buffert.
CryptQueryObject Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Hämtar information om innehållet i en BLOB eller en fil.
CryptSignAndEncodeCertificate Kodar informationen "som ska signeras", signerar den här kodade informationen och kodar den resulterande signerade, kodade informationen.
CryptSignCertificate Signerar informationen "som ska signeras" i det kodade, signerade innehållet.
CryptSIPAddProvider Lägger till ett ämnesgränssnittspaket (SIP).
CryptSIPCreateIndirectData Returnerar en SIP_INDIRECT_DATA struktur som innehåller en hash- av den angivna SIP_SUBJECTINFO struktur, sammandragsalgoritmen och ett kodningsattribut. Hashen kan användas som en indirekt referens till data.
CryptSIPGetCaps Hämtar funktionerna i en SIP.
CryptSIPGetSignedDataMsg Hämtar en Authenticode-signatur från filen.
CryptSIPLoad Läser in det dynamiska länkbiblioteket som implementerar ett ämnesgränssnittspaket och tilldelar lämpliga biblioteksexportfunktioner till en SIP_DISPATCH_INFO struktur.
CryptSIPPutSignedDataMsg Lagrar en Authenticode-signatur i målfilen.
CryptSIPRemoveProvider Tar bort en SIP som lagts till av ett tidigare anrop till funktionen CryptSIPAddProvider.
CryptSIPRemoveSignedDataMsg Tar bort en angiven Authenticode-signatur.
CryptSIPRetrieveSubjectGuid Hämtar ett GUID baserat på rubrikinformationen i en angiven fil.
CryptSIPRetrieveSubjectGuidForCatalogFile Hämtar det ämnes-GUID som är associerat med den angivna filen.
CryptSIPVerifyIndirectData Validerar de indirekta hashade data mot det angivna ämnet.
CryptUpdateProtectedState Migrerar den aktuella användarens huvudnycklar när användarens säkerhetsidentifierare (SID) har ändrats.
CryptVerifyCertificateSignature Verifierar signaturen för ett ämnescertifikat eller en CRL- med hjälp av informationen om offentlig nyckel.
CryptVerifyCertificateSignatureEx En utökad version av CryptVerifyCertificateSignature.
GetEncSChannel Lagrar det krypterade DLL-innehållet för Schannel i minnet.
pCryptSIPGetCaps Implementerad av en SIP för att rapportera funktioner.

 

Datakonverteringsfunktioner

Följande CryptoAPI-funktioner konverterar certifikatstrukturmedlemmar till olika formulär.

Funktion Beskrivning
CertAlgIdToOID Konverterar en CryptoAPI-algoritmidentifierare (ALG_ID) till en abstrakt syntax notation en (ASN.1) objektidentifierare (OID) sträng.
CertGetNameString Hämtar ämnes- eller utfärdarnamnet från ett certifikat och konverterar det till en null-avslutad teckensträng.
CertNameToStr Konverterar ett certifikatnamn BLOB- till en sträng som inte avslutas.
CertOIDToAlgId Konverterar ASN.1-objektidentifierarsträngen till CSP-algoritmidentifieraren.
CertRDNValueToStr Konverterar ett namnvärde till en null-avslutad sträng.
CertStrToName Konverterar en null-avslutad X.500 sträng till ett kodat certifikatnamn.
CryptBinaryToString Konverterar en binär sekvens till en formaterad sträng.
CryptFormatObject Formaterar kodade data och returnerar en Unicode-sträng.
CryptStringToBinary Konverterar en formaterad sträng till en binär sekvens.

 

Förbättrade funktioner för nyckelanvändning

Följande funktioner hanterar tillägget förbättrad nyckelanvändning (EKU) och den utökade EKU-egenskapen för certifikat. EKU-tillägget och den utökade egenskapen anger och begränsar giltiga användningar av ett certifikat. Tilläggen är en del av själva certifikatet. De anges av utfärdaren av certifikatet och är skrivskyddade. Certifikatutsträckta egenskaper är värden som är associerade med ett certifikat som kan anges i ett program.

Funktion Beskrivning
CertAddEnhancedKeyUsageIdentifier Lägger till en användningsidentifierare i ett certifikats EKU-egenskap.
CertGetEnhancedKeyUsage Hämtar information om EKU-tillägget eller egenskapen från ett certifikat.
CertRemoveEnhancedKeyUsageIdentifier Tar bort användningsidentifieraren från ett certifikats utökade EKU-egenskap.
CertSetEnhancedKeyUsage Anger EKU-egenskapen för ett certifikat.

 

Funktioner för nyckelidentifierare

Med funktioner för nyckelidentifierare kan användaren skapa, ange, hämta eller hitta en nyckelidentifierare eller dess egenskaper.

En nyckelidentifierare är den unika identifieraren för ett offentligt/privat nyckelpar. Det kan vara vilken unik identifierare som helst, men är vanligtvis sha1-hashen på 20 byte för en kodad CERT_PUBLIC_KEY_INFO struktur. Du kan hämta en nyckelidentifierare via certifikatets CERT_KEY_IDENTIFIER_PROP_ID. Med nyckelidentifieraren kan du använda det nyckelparet för att kryptera eller dekryptera meddelanden utan att använda certifikatet.

Nyckelidentifierare är inte associerade med CRL:er eller CTL:er.

En nyckelidentifierare kan ha samma egenskaper som en certifikatkontext. Mer information finns i CertCreateContext.

Funktion Beskrivning
CryptCreateKeyIdentifierFrånCSP Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Skapar en nyckelidentifierare från en CSP:s offentlig nyckel blob.
CryptEnumKeyIdentifierProperties Räknar upp nyckelidentifierare och deras egenskaper.
CryptGetKeyIdentifierProperty Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Hämtar en specifik egenskap från en angiven nyckelidentifierare.
CryptSetKeyIdentifierProperty Viktigt:
Det här API:et är inaktuellt. Ny och befintlig programvara bör börja använda Kryptografi-API:er för nästa generation. Microsoft kan ta bort det här API:et i framtida versioner.
Anger en egenskap för en angiven nyckelidentifierare.

 

OID-stödfunktioner

Dessa funktioner ger stöd för objektidentifierare (OID). Dessa funktioner installerar, registrerar och skickar till OID- och kodningstypspecifika funktioner.

Följande CryptoAPI-funktioner använder dessa OID-stödfunktioner:

En översikt över den här processen finns i Utöka CryptoAPI-funktioner.

Följande funktioner fungerar med OID:er.

Funktion Beskrivning
CryptEnumOIDFunction Räknar upp de registrerade OID-funktioner som identifieras av deras kodningstyp, funktionsnamn och OID.
CryptEnumOIDInfo Räknar upp den registrerade OID-information som identifieras av deras grupp och anropar pfnEnumOIDInfo för matchningar.
CryptFindOIDInfo Använder den angivna nyckeln och gruppen för att hitta OID-information.
CryptFreeOIDFunctionAddress Släpper det antal referenser som har ökats och returnerats av CryptGetOIDFunctionAddress eller CryptGetDefaultOIDFunctionAddress.
CryptGetDefaultOIDDllList Hämtar listan över registrerade DLL-standardposter för den angivna funktionsuppsättningen och kodningstypen.
CryptGetDefaultOIDFunctionAddress Hämtar antingen den första eller nästa installerade standardfunktionen eller läser in den DLL som innehåller standardfunktionen.
CryptGetOIDFunctionAddress Söker i listan över installerade funktioner efter en kodningstyp och en OID-matchning. Om en matchning inte hittas där söks registret efter en matchning.
CryptGetOIDFunctionValue Hämtar värdet för den angivna kodningstypen, funktionsnamnet, OID och värdenamnet.
CryptInitOIDFunctionSet Initierar och returnerar ett handtag för OID-funktionsuppsättningen som identifieras av det angivna funktionsnamnet.
CryptInstallOIDFunctionAddress Installerar en uppsättning anropsbara OID-funktionsadresser.
CryptRegisterDefaultOIDFunction Registrerar den DLL som innehåller standardfunktionen som ska anropas för den angivna kodningstypen och funktionsnamnet.
CryptRegisterOIDFunction Registrerar den DLL som innehåller funktionen som ska anropas för den angivna kodningstypen, funktionsnamnet och OID.
CryptRegisterOIDInfo Registrerar den OID-information som anges i CRYPT_OID_INFO-strukturen och bevarar den i registret.
CryptSetOIDFunctionValue Anger värdet för den angivna kodningstypen, funktionsnamnet, OID och värdenamnet.
CryptUnregisterDefaultOIDFunction Tar bort registreringen för den DLL som innehåller standardfunktionen som ska anropas för den angivna kodningstypen och funktionsnamnet.
CryptUnregisterOIDFunction Tar bort registreringen för den DLL som innehåller funktionen som ska anropas för den angivna kodningstypen, funktionsnamnet och OID.
CryptUnregisterOIDInfo Tar bort registreringen för den angivna OID-informationen.

 

Funktioner för hämtning av fjärrobjekt

Med följande funktioner kan användaren hämta ett PKI-objekt (Public Key Infrastructure), hämta URL:en för ett certifikat, en CTL eller en CRL eller extrahera en URL från ett objekt.

Funktion Beskrivning
CryptGetObjectUrl Hämtar URL:en för fjärrobjektet från ett certifikat, en CTL eller en CRL.
CryptRetrieveObjectByUrl Hämtar PKI-objektet från en plats som anges av en URL.

 

PFX-funktioner

Följande funktioner stöder PFX-format (Personal Information Exchange) BLOBs.

Funktion Beskrivning
PFXExportCertStore Exporterar från det refererade certifikatarkivet certifikaten och, om tillgängligt, deras associerade privata nycklar.
PFXExportCertStoreEx Exporter från det refererade certifikatet lagrar certifikaten och, om det är tillgängligt, deras associerade privata nycklar.
PFXImportCertStore Importerar en PFX-BLOB och returnerar handtaget för ett arkiv som innehåller certifikat och eventuella associerade privata nycklar.
PFXIsPFXBlob Försöker avkoda det yttre lagret i en BLOB som ett PFX-paket.
PFXVerifyPassword Försöker avkoda det yttre lagret i en BLOB som ett PFX-paket och dekryptera det med det angivna lösenordet.

 

Funktioner för säkerhetskopiering och återställning av Certifikattjänster

Certifikattjänster innehåller funktioner för att säkerhetskopiera och återställa Certificate Services-databasen. Dessa funktioner för säkerhetskopiering och återställning av Certifikattjänster finns i Certadm.dll. Till skillnad från andra API-element som är associerade med Certificate Services kapslas dessa funktioner inte in i ett objekt som kan användas för att anropa klassmetoder. I stället anropas API:erna för säkerhetskopiering och återställning genom att först läsa in Certadm.dll-biblioteket i minnet genom att anropa LoadLibrary och sedan fastställa adressen till funktionerna genom att anropa GetProcAddress. När du har anropat funktionerna för säkerhetskopiering och återställning av Certifikattjänster anropar du FreeLibrary för att frigöra Certadm.dll resurser från minnet.

Not

Säkerhetskopierings- och återställningsfunktioner som tillhandahålls av Certadm.dll säkerhetskopiera eller återställa inte certifikattjänstens privata nycklar. Information om hur du säkerhetskopierar privata certifikattjänster finns i Säkerhetskopiering och återställning av den privata certifikattjänstens.

Om du vill anropa funktionerna för säkerhetskopiering och återställning måste du ha säkerhetskopiering och återställning behörigheter. Mer information finns i Ange behörigheter för säkerhetskopiering och återställning.

 

Not

Om CoInitializeEx- tidigare anropades i samma tråd som används för att anropa API:er för säkerhetskopiering och återställning av Certifikattjänster måste flaggan COINIT_APARTMENTTHREADED ha skickats till CoInitializeEx. När du använder samma tråd kan du alltså inte anropa API:et för säkerhetskopiering och återställning av Certifikattjänster om tråden tidigare har skickats i flaggan COINIT_MULTITHREADED i ett anrop till CoInitializeEx.

 

API:erna för säkerhetskopiering av Certifikattjänster definieras i Certbcli.h. Men när du skapar programmet använder du Certsrv.h som inkluderingsfil.

Följande API:er exporteras av Certadm.dll.

Funktion Beskrivning
CertSrvBackupClose Stänger en öppnad fil.
CertSrvBackupEnd Avslutar en säkerhetskopieringssession.
CertSrvBackupFree Frigör en buffert som allokeras av API:erna för säkerhetskopiering och återställning.
CertSrvBackupGetBackupLogs Returnerar en lista över loggfiler som måste säkerhetskopieras.
CertSrvBackupGetDatabaseNames Returnerar en lista över databasfiler som måste säkerhetskopieras.
CertSrvBackupGetDynamicFileList Hämtar listan över dynamiska Certifikattjänster-filnamn som måste säkerhetskopieras för den angivna säkerhetskopieringskontexten.
CertSrvBackupOpenFile Öppnar en fil som förberedelse för säkerhetskopiering.
CertSrvBackupPrepare Förbereder databasen för onlinesäkerhetskopiering.
CertSrvBackupRead Läser innehållet i en öppnad fil.
CertSrvBackupTruncateLogs Trunkerar loggfilerna.
CertSrvIsServerOnline Avgör om en Certificate Services-server är online (körs aktivt).
CertSrvRestoreEnd Avslutar en återställningssession.
CertSrvRestoreGetDatabaseLocations Hämtar databasplatser (används för både säkerhetskopierings- och återställningsscenarier).
CertSrvRestorePrepare Påbörjar en återställningssession.
CertSrvRestoreRegister Registrerar en återställningsåtgärd.
CertSrvRestoreRegisterComplete Slutför en tidigare registrerad återställningsåtgärd.
CertSrvRestoreRegisterThroughFile Registrerar en återställningsåtgärd.
CertSrvServerControl Skickar ett kontrollkommando till Certificate Services-instansen.

 

Återanropsfunktioner

Återanropsfunktionerna i det här avsnittet används för att registrera eller installera programdefinierade certifikatarkiv providers och för att tillhandahålla relaterade funktioner via återanropsfunktioner. Återanropsfunktioner implementeras av ett program och anropas av CryptoAPI- funktioner. Återanropsfunktioner gör det möjligt för programmet att delvis styra hur CryptoAPI-funktioner manipulerar data.

Återanropsfunktion Använda
CertChainFindByIssuerCallback En programdefinierad återanropsfunktion som gör att programmet kan filtrera certifikat som kan läggas till i certifikatkedjan.
CertDllOpenStoreProv Definierar butiksproviderns öppna funktion.
CertEnumPhysicalStoreCallback Återanropsfunktionen som används av funktionen CertEnumPhysicalStore för att formatera och presentera information om varje fysiskt arkiv som hittas.
CertEnumSystemStoreCallback Återanropsfunktionen som används av funktionen CertEnumSystemStore för att formatera och presentera information om varje fysiskt arkiv som hittas.
CertEnumSystemStoreLocationCallback Återanropsfunktionen som används av funktionen CertEnumSystemStoreLocation för att formatera och presentera information om varje fysiskt arkiv som hittas.
CertStoreProvCloseCallback Avgör vad som händer när ett öppet butiks referensantal blir noll.
CertStoreProvControl Tillåter att ett program meddelas när det finns en skillnad mellan innehållet i ett cachelagrat arkiv som används och innehållet i det arkivet när det sparas till lagring.
CertStoreProvDeleteCertCallback Avgör vilka åtgärder som ska vidtas innan ett certifikat tas bort från ett certifikatarkiv.
CertStoreProvDeleteCRLCallback Avgör vilka åtgärder som ska vidtas innan en lista över återkallade certifikat (CRL) tas bort från ett certifikatarkiv.
CertStoreProvDeleteCTL Avgör om en CTL kan tas bort.
CertStoreProvFindCert Hittar det första eller nästa certifikatet i ett arkiv som matchar angivna villkor.
CertStoreProvFindCRL Hittar den första, eller nästa, CRL:en i ett arkiv som matchar angivna villkor.
CertStoreProvFindCTL Hittar den första, eller nästa, CTL i ett arkiv som matchar angivna villkor.
CertStoreProvFreeFindCert Frigör en tidigare hittad certifikatkontext.
CertStoreProvFreeFindCRL Frigör en tidigare hittad CRL-kontext.
CertStoreProvFreeFindCTL Frigör en tidigare hittad CTL-kontext.
CertStoreProvGetCertProperty Hämtar en angiven egenskap för ett certifikat.
CertStoreProvGetCRLProperty Hämtar en angiven egenskap för en CRL.
CertStoreProvGetCTLProperty Hämtar en angiven egenskap för en CTL.
CertStoreProvReadCertCallback Används för närvarande inte men kan exporteras till framtida CSP:er.
CertStoreProvReadCRLCallback Används för närvarande inte men kan exporteras till framtida CSP:er.
CertStoreProvReadCTL Läs providerns kopia av CTL-kontexten och skapa en ny CTL-kontext om den finns.
CertStoreProvSetCertPropertyCallback Avgör vilka åtgärder som ska vidtas före ett anrop till CertSetCertificateContextProperty eller CertGetCertificateContextProperty.
CertStoreProvSetCRLPropertyCallback Avgör vilka åtgärder som ska vidtas före ett anrop till CertSetCRLContextProperty eller CertGetCRLContextProperty.
CertStoreProvSetCTLProperty Avgör om en egenskap kan anges på en CTL.
CertStoreProvWriteCertCallback Avgör vilka åtgärder som ska vidtas innan du lägger till ett certifikat i ett arkiv.
CertStoreProvWriteCRLCallback Avgör vilka åtgärder som ska vidtas innan du lägger till en CRL i ett arkiv.
CertStoreProvWriteCTL Avgör om en CTL kan läggas till i arkivet.
CRYPT_ENUM_KEYID_PROP Återanropsfunktionen som används av funktionen CryptEnumKeyIdentifierProperties.
CRYPT_ENUM_OID_FUNCTION Återanropsfunktionen som används av funktionen CryptEnumOIDFunction.
CRYPT_ENUM_OID_INFO Återanropsfunktionen som används av funktionen CryptEnumOIDInfo.
CryptGetSignerCertificateCallback Återanropsfunktionen används med CRYPT_VERIFY_MESSAGE_PARA struktur för att hämta och verifiera certifikatet för en meddelandesignerare.
PCRYPT_DECRYPT_PRIVATE_KEY_FUNC Återanropsfunktionen som används av funktionen CryptImportPKCS8.
PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC Återanropsfunktionen används när du skapar CRYPT_ENCRYPTED_PRIVATE_KEY_INFO struktur.
PCRYPT_RESOLVE_HCRYPTPROV_FUNC Återanropsfunktionen som används av funktionen CryptImportPKCS8.
PFN_CDF_PARSE_ERROR_CALLBACK En användardefinierad funktion som kallas för katalogdefinitionsfunktionsfel vid parsning av en katalogdefinitionsfil (CDF).
PFN_CERT_CREATE_CONTEXT_SORT_FUNC Anropade för varje sorterad kontextpost när en kontext skapas.
PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY En CNG-objektidentifierare (OID) för import av en redan dekrypterad innehållskrypteringsnyckel (CEK).
PFN_CMSG_CNG_IMPORT_KEY_AGREE Importerar en innehållskrypteringsnyckel för en nyckeltransportmottagare av ett omslutet meddelande.
PFN_CMSG_CNG_IMPORT_KEY_TRANS En CNG OID-installationsfunktion för import och dekryptering av en nyckeltransportmottagare, krypterat innehåll kryptering nyckel (CEK).
PFN_CMSG_EXPORT_KEY_AGREE Krypterar och exporterar innehållskrypteringsnyckeln för en nyckelavtalsmottagare av ett omslutet meddelande.
PFN_CMSG_EXPORT_KEY_TRANS Krypterar och exporterar innehållskrypteringsnyckeln för en nyckeltransportmottagare för ett omslutet meddelande.
PFN_CMSG_EXPORT_MAIL_LIST Krypterar och exporterar innehållskrypteringsnyckeln för en mottagare av en e-postlista för ett kuverterat meddelande.
PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY Genererar den symmetriska nyckeln används för att kryptera innehåll för ett omslutet meddelande.
PFN_CMSG_IMPORT_KEY_AGREE Importerar en innehållskrypteringsnyckel för en nyckeltransportmottagare av ett omslutet meddelande.
PFN_CMSG_IMPORT_KEY_TRANS Importerar en innehållskrypteringsnyckel för en nyckeltransportmottagare av ett omslutet meddelande.
PFN_CMSG_IMPORT_MAIL_LIST Importerar en innehållskrypteringsnyckel för en nyckeltransportmottagare av ett omslutet meddelande.
PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC Anropas av CryptExportPublicKeyInfoEx för att exportera en offentlig nyckel-BLOB och koda den.
PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC Anropad för att avkoda och returnera hash-algoritmidentifieraren och eventuellt signaturparametrarna.
PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC Anropas för att signera och koda en beräknad hash.
PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC Anropas för att dekryptera en kodad signatur och jämföra den med en beräknad hash.
PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC Anropas av CryptImportPublicKeyInfoEx2 för att avkoda algoritmen offentlig nyckel identifierare, läsa in algoritmprovidern och importera nyckelparet.
PFNCCERTDISPLAYPROC En användardefinierad återanropsfunktion som gör att anroparen för CryptUIDlgSelectCertificate funktion för att hantera visningen av certifikat som användaren väljer att visa.
PFNCMFILTERPROC Filtrerar varje certifikat för att avgöra om det ska visas i dialogrutan för val av certifikat som visas av funktionen CertSelectCertificate.
PFNCMHOOKPROC Anropas innan meddelanden bearbetas av dialogrutan för val av certifikat som skapas av funktionen CertSelectCertificate.

 

Katalogdefinitionsfunktioner

Dessa funktioner används för att skapa en katalog. Alla dessa funktioner anropas av MakeCat.

Funktion Beskrivning
CryptCATCDFClose Stänger en katalogdefinitionsfil och frigör minne för motsvarande CRYPTCATCDF- struktur.
CryptCATCDFEnumAttributesWithCDFTag Räknar upp attributen för medlemsfiler i avsnittet CatalogFiles i en CDF.
CryptCATCDFEnumCatAttributes Räknar upp attribut på katalognivå i avsnittet CatalogHeader i en CDF.
CryptCATCDFEnumMembersByCDFTagEx Räknar upp enskilda filmedlemmar i avsnittet CatalogFiles i en CDF.
CryptCATCDFOpen Öppnar en befintlig CDF för att läsa och initiera en CRYPTCATCDF- struktur.

 

Katalogfunktioner

Dessa funktioner används för att hantera en katalog.

Funktion Beskrivning
CryptCATAdminAcquireContext Hämtar en referens till en katalogadministratörskontext. Det här handtaget kan användas av efterföljande anrop till funktionerna CryptCATAdminAddCatalog, CryptCATAdminEnumCatalogFromHashoch CryptCATAdminRemoveCatalog.
CryptCATAdminAcquireContext2 Hämtar ett handtag till en katalogadministratörskontext för en viss hash-algoritm och hash-princip.
CryptCATAdminAddCatalog Lägger till en katalog i katalogdatabasen.
CryptCATAdminCalcHashFromFileHandle Beräknar hashen för en fil.
CryptCATAdminCalcHashFromFileHandle2 Beräknar hashen för en fil med hjälp av den angivna algoritmen.
CryptCATAdminEnumCatalogFromHash Räknar upp katalogerna som innehåller en angiven hash.
CryptCATAdminReleaseCatalogContext Släpper ett handtag till en katalogkontext som tidigare returnerats av funktionen CryptCATAdminAddCatalog.
CryptCATAdminReleaseContext Släpper handtaget som tidigare tilldelats av funktionen CryptCATAdminAcquireContext.
CryptCATAdminRemoveCatalog Tar bort en katalogfil och tar bort katalogens post från Windows-katalogdatabasen.
CryptCATAdminResolveCatalogPath Hämtar den fullständigt kvalificerade sökvägen för den angivna katalogen.
CryptCATCatalogInfoFromContext Hämtar kataloginformation från en angiven katalogkontext.
CryptCATClose Stänger ett kataloghandtag som öppnats tidigare av funktionen CryptCATOpen.
CryptCATEnumerateAttr Räknar upp attributen som är associerade med en medlem i en katalog.
CryptCATEnumerateCatAttr Räknar upp attributen som är associerade med en katalog.
CryptCATEnumerateMember Räknar upp medlemmarna i en katalog.
CryptCATGetAttrInfo Hämtar information om ett attribut för en medlem i en katalog.
CryptCATGetMemberInfo Hämtar medlemsinformation från katalogens PKCS #7. Förutom att hämta medlemsinformationen för en angiven referenstagg öppnar den här funktionen en medlemskontext.
CryptCATOpen Öppnar en katalog och returnerar en kontextreferens till den öppna katalogen.
IsCatalogFile Hämtar ett booleskt värde som anger om den angivna filen är en katalogfil.

 

WinTrust Functions

Följande funktioner används för att utföra olika förtroendeåtgärder.

Funktion Beskrivning
WintrustAddActionID Lägger till en förtroendeprovideråtgärd i användarens system.
WintrustGetRegPolicyFlags Hämtar principflaggor för en principprovider.
WintrustAddDefaultForUsage Anger standardinformation om användningsidentifierare och återanrop för en provider
WintrustGetDefaultForUsage Hämtar standardinformation om användningsidentifierare och återanrop.
WintrustLoadFunctionPointers Läser in funktionsinmatningspunkter för en angiven åtgärds-GUID.
WintrustRemoveActionID Tar bort en åtgärd som lagts till av funktionen WintrustAddActionID.
WintrustSetDefaultIncludePEPageHashes Anger standardinställningen som avgör om sidhashvärden ingår när du skapar indirekta data för ämnesgränssnittspaket (SIP) för portabla körbara filer.
WintrustSetRegPolicyFlags Anger principflaggor för en principprovider.
WinVerifyTrust Utför en förtroendeverifieringsåtgärd på ett angivet objekt.
WinVerifyTrustEx Utför en förtroendeverifieringsåtgärd på ett angivet objekt och tar en pekare till en WINTRUST_DATA struktur.
WTHelperCertCheckValidSignature Kontrollerar om en signatur är giltig.
WTHelperCertFindIssuerCertificate Söker efter ett utfärdarcertifikat från de angivna certifikatarkiven som matchar det angivna ämnescertifikatet.
WTHelperCertIsSelfSigned Kontrollerar om ett certifikat är självsignerat.
WTHelperGetFileHash Verifierar signaturen för en signerad fil och hämtar hash-värdet och algoritmidentifieraren för filen.
WTHelperGetProvCertFromChain Hämtar ett förtroendeprovidercertifikat från certifikatkedjan.
WTHelperGetProvPrivateDataFromChain Tar emot en CRYPT_PROVIDER_PRIVDATA struktur från kedjan med hjälp av provider-ID:t.
WTHelperGetProvSignerFromChain Hämtar en undertecknare eller motsignerare efter index från kedjan.
WTHelperProvDataFromStateData Hämtar information om förtroendeprovidern från en angiven referens.

 

Objektlokaliserarfunktioner

Följande återanropsfunktioner kan implementeras av en anpassad provider som är avsedd att anropas av säkerhetspaketet Säker kanal (Schannel) för att hämta certifikat.

Funktion Beskrivning
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH Anger att ett objekt har ändrats.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET Hämtar ett objekt.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE Släpper providern.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD Släpper lösenordet som används för att kryptera en PFX-bytematris.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE Släpper objektet som returneras av providern.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER Frigör minne för en objektidentifierare.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE Initierar providern.