Teilen über


Kryptografiefunktionen

Kryptografiefunktionen werden nach Verwendung wie folgt kategorisiert:

CryptXML-Funktionen

Die kryptografischen XML-Funktionen stellen eine API zum Erstellen und Darstellen digitaler Signaturen mithilfe von XML-formatierten Daten bereit. Informationen zu XML-formatierten Signaturen finden Sie in der spezifikation XML-Signature Syntax und Verarbeitung unter https://go.microsoft.com/fwlink/p/?linkid=139649.

Funktion Beschreibung
A_SHAFinal Berechnet den endgültigen Hash der daten, die von der MD5Update-Funktion eingegeben wurden.
A_SHAInit Initiiert das Hashing eines Datenstroms.
A_SHAUpdate Fügt Daten zu einem angegebenen Hashobjekt hinzu.
CryptXmlCreateReference Erstellt einen Verweis auf eine XML-Signatur.
CryptXmlAddObject- Fügt das Object-Element zur Signatur im Dokumentkontext hinzu, das für die Codierung geöffnet wurde.
CryptXmlClose- Schließt ein kryptografisches XML-Objekthandle.
CryptXmlDigestReference Wird von einer Anwendung verwendet, um den aufgelösten Verweis zu digestieren. Diese Funktion wendet Transformationen an, bevor der Digest aktualisiert wird.
CryptXmlDllCloseDigest Gibt die vom CryptXmlDllCreateDigateDigest zugewiesene CRYPT_XML_DIGEST frei.
CryptXmlDllCreateDigateDigest Erstellt ein Digestobjekt für die angegebene Methode.
CryptXmlDllCreateKey Parses the KeyValue element and creates a Cryptography API: Next Generation (CNG) BCrypt key handle to verify a signature.
CryptXmlDllDigestData Fügt Daten in den Digest ein.
CryptXmlDllEncodeAlgorithm Codiert SignatureMethod oder DigestMethod Elemente für agile Algorithmen mit Standardparametern.
CryptXmlDllEncodeKeyValue Codiert ein KeyValue--Element.
CryptXmlDllFinalizeDigest Ruft den Digestwert ab.
CryptXmlDllGetAlgorithmInfo Decodiert den XML-Algorithmus und gibt Informationen zum Algorithmus zurück.
CryptXmlDllGetInterface- Ruft einen Zeiger auf die Kryptografieerweiterungsfunktionen für den angegebenen Algorithmus ab.
CryptXmlDllSignData- Signiert Daten.
CryptXmlDllVerifySignature Überprüft eine Signatur.
CryptXmlEncode- Codiert Signaturdaten mithilfe der bereitgestellten XML Writer-Rückruffunktion.
CryptXmlGetAlgorithmInfo Decodiert die CRYPT_XML_ALGORITHM Struktur und gibt Informationen zum Algorithmus zurück.
CryptXmlGetDocContext- Gibt den vom angegebenen Handle angegebenen Dokumentkontext zurück.
CryptXmlGetReference- Gibt das vom angegebenen Handle angegebene Reference-Element zurück.
CryptXmlGetSignature Gibt ein XML-Signature-Element zurück.
CryptXmlGetStatus- Gibt eine CRYPT_XML_STATUS Struktur zurück, die Statusinformationen zu dem vom angegebenen Handle angegebenen Objekt enthält.
CryptXmlGetTransforms- Gibt Informationen zum Standardtransformationskettenmodul zurück.
CryptXmlImportPublicKey Importiert den vom angegebenen Handle angegebenen öffentlichen Schlüssel.
CryptXmlOpenToEncode- Öffnet eine digitale XML-Signatur zum Codieren und Gibt ein Handle des geöffneten Signature-Elements zurück. Das Handle kapselt einen Dokumentkontext mit einer einzelnen CRYPT_XML_SIGNATURE Struktur und bleibt geöffnet, bis die CryptXmlClose--Funktion aufgerufen wird.
CryptXmlOpenToDecode- Öffnet eine digitale XML-Signatur zum Decodieren und gibt das Handle des Dokumentkontexts zurück, der eine CRYPT_XML_SIGNATURE Struktur kapselt. Der Dokumentkontext kann ein oder mehrere Signature--Elemente enthalten.
CryptXmlSetHMACSecret Legt den geheimen HMAC-Schlüssel auf dem Handle fest, bevor die CryptXmlSign-- oder CryptXmlVerify-funktion aufgerufen wird.
CryptXmlSign- Erstellt eine kryptografische Signatur eines SignedInfo--Elements.
CryptXmlVerifySignature Führt eine überprüfung der kryptografischen Signatur eines SignedInfo-Elements aus.
PFN_CRYPT_XML_WRITE_CALLBACK Erstellt eine Transformation für einen angegebenen Datenanbieter.
PFN_CRYPT_XML_CREATE_TRANSFORM Schreibt kryptografische XML-Daten.
PFN_CRYPT_XML_DATA_PROVIDER_READ Liest kryptografische XML-Daten.
PFN_CRYPT_XML_DATA_PROVIDER_CLOSE Gibt den kryptografischen XML-Datenanbieter frei.
PFN_CRYPT_XML_ENUM_ALG_INFO Listet vordefinierte und registrierte CRYPT_XML_ALGORITHM_INFO Einträge auf.

 

Signiererfunktionen

Stellt Funktionen zum Signieren und Zeitstempeldaten bereit.

Funktion Beschreibung
SignerFreeSignerContext- Gibt eine SIGNER_CONTEXT Struktur frei, die einem vorherigen Aufruf der SignerSignEx--Funktion zugeordnet ist.
SignError- Ruft die GetLastError--Funktion auf und konvertiert den Rückgabecode in ein HRESULT-.
SignerSign- Signiert die angegebene Datei.
SignerSignEx- Signiert die angegebene Datei und gibt einen Zeiger auf die signierten Daten zurück.
SignerSignEx2- Signiert und Zeitstempel der angegebenen Datei, sodass mehrere geschachtelte Signaturen zugelassen werden.
SignerTimeStamp- Zeitstempel des angegebenen Betreffs. Diese Funktion unterstützt Authenticode-Zeitstempel. Verwenden Sie die SignerTimeStampEx2--Funktion, um die Zeitstempel der X.509 Public Key Infrastructure (RFC 3161) auszuführen.
SignerTimeStampEx- Zeitstempel des angegebenen Betreffs und gibt optional einen Zeiger auf eine SIGNER_CONTEXT Struktur zurück, die einen Zeiger auf einen BLOB-enthält. Diese Funktion unterstützt Authenticode-Zeitstempel. Verwenden Sie die SignerTimeStampEx2--Funktion, um die Zeitstempel der X.509 Public Key Infrastructure (RFC 3161) auszuführen.
SignerTimeStampEx2- Zeitstempel des angegebenen Betreffs und gibt optional einen Zeiger auf eine SIGNER_CONTEXT Struktur zurück, die einen Zeiger auf einen BLOB-enthält. Diese Funktion kann verwendet werden, um X.509 Public Key Infrastructure, RFC 3161-konform, Zeitstempel auszuführen.
SignerTimeStampEx3- Zeitstempel des angegebenen Betreffs und unterstützt das Festlegen von Zeitstempeln für mehrere Signaturen.

 

Basiskryptografiefunktionen

Basisgrafiefunktionen bieten die flexibelsten Mittel zum Entwickeln von Kryptografieanwendungen. Die gesamte Kommunikation mit einem kryptografischen Dienstanbieter (CSP) erfolgt über diese Funktionen.

Ein CSP ist ein unabhängiges Modul, das alle kryptografischen Vorgänge ausführt. Mindestens ein CSP ist für jede Anwendung erforderlich, die kryptografische Funktionen verwendet. Eine einzelne Anwendung kann gelegentlich mehrere CSP verwenden.

Wenn mehr als ein CSP verwendet wird, kann der zu verwendende in den Kryptografiefunktionsaufrufen der CryptoAPI angegeben werden. Ein CSP, der Microsoft Base Cryptographic Provider, wird mit dem CryptoAPIgebündelt. Dieser CSP wird von vielen der CryptoAPI-Funktionen als Standardanbieter verwendet, wenn kein anderer CSP angegeben ist.

Jeder CSP bietet eine andere Implementierung der kryptografischen Unterstützung für CryptoAPI. Einige bieten stärkere Kryptografiealgorithmen; andere enthalten Hardwarekomponenten, z. B. Smartcards. Darüber hinaus können einige CSPs gelegentlich direkt mit Benutzern kommunizieren, z. B. wenn digitale Signaturen mithilfe des signatur privaten Schlüssels des Benutzersausgeführt werden.

Grundlegende kryptografische Funktionen befinden sich in den folgenden breiten Gruppen:

  • Dienstanbieterfunktionen
  • Schlüsselgenerierung und Exchange-Funktionen
  • Objektcodierungs- und Decodierungsfunktionen
  • Datenverschlüsselungs- und Entschlüsselungsfunktionen
  • Hash- und Digitale Signaturfunktionen

Dienstanbieterfunktionen

Anwendungen verwenden die folgenden Dienstfunktionen, um einen kryptografischen Dienstanbieter (CSP) zu verbinden und zu trennen.

Funktion Beschreibung
CryptAcquireContext- Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Erwirbt ein Handle für den Schlüsselcontainer des aktuellen Benutzers innerhalb eines bestimmten CSP.
CryptContextAddRef Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Erhöht die Verweisanzahl auf einem HCRYPTPROV- Handle.
CryptEnumProviders Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Listet die Anbieter auf einem Computer auf.
CryptEnumProviderTypes Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Listet die auf dem Computer unterstützten Anbietertypen auf.
CryptGetDefaultProvider Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Bestimmt den Standard-CSP entweder für den aktuellen Benutzer oder für den Computer für einen angegebenen Anbietertyp.
CryptGetProvParam Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Ruft die Parameter ab, die die Vorgänge eines CSP steuern.
CryptInstallDefaultContext- Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Installiert einen zuvor erworbenen HCRYPTPROV Kontext, der als Standardkontext verwendet werden soll.
CryptReleaseContext Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Gibt den von der CryptAcquireContext Funktion erworbenen Handle frei.
CryptSetProvider und CryptSetProviderEx Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Gibt den Standard-CSP des Benutzers für einen bestimmten CSP-Typ an.
CryptSetProvParam Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Gibt Attribute eines CSP an.
CryptUninstallDefaultContext- Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Entfernt einen Standardkontext, der zuvor von CryptInstallDefaultContextinstalliert wurde.
FreeCryptProvFromCertEx Gibt das Handle entweder an einen kryptografischen Dienstanbieter (CSP) oder an einen Kryptografie-API: Next Generation (CNG)-Schlüssel frei.

 

Schlüsselgenerierung und Exchange-Funktionen

Schlüsselgenerierungs- und Austauschfunktionen Austauschschlüssel mit anderen Benutzern und erstellen, konfigurieren und zerstören kryptografischen Schlüssel.

Funktion Beschreibung
CryptDeriveKey- Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Erstellt einen von einem Kennwort abgeleiteten Schlüssel.
CryptDestroyKey Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Zerstört einen Schlüssel.
CryptDuplicateKey- Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Erstellt eine genaue Kopie eines Schlüssels, einschließlich des Zustands des Schlüssels.
CryptExportKey- Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Überträgt einen Schlüssel vom CSP in einen Schlüssel-BLOB- im Arbeitsspeicher der Anwendung.
CryptGenKey- Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Erstellt einen Zufälligen Schlüssel.
CryptGenRandom Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Generiert zufällige Daten.
CryptGetKeyParam- Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Ruft die Parameter eines Schlüssels ab.
CryptGetUserKey- Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Ruft ein Handle für den Schlüsselaustausch oder signaturschlüssel ab.
CryptImportKey- Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Überträgt einen Schlüssel von einem Schlüssel-BLOB- an einen CSP.
CryptSetKeyParam- Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Gibt die Parameter eines Schlüssels an.

 

Objektcodierungs- und Decodierungsfunktionen

Dies sind generalisierte Codierungs- und Decodierungsfunktionen. Sie werden verwendet, um Zertifikate, Zertifikatsperrlisten (CRLs), Zertifikatanforderungenund Zertifikaterweiterungen zu codieren und zu decodieren.

Funktion Beschreibung
CryptDecodeObject- Decodiert eine Struktur vom Typ lpszStructType.
CryptDecodeObjectEx- Decodiert eine Struktur vom Typ lpszStructType. CryptDecodeObjectEx- unterstützt die One-Pass-Speicherzuordnungsoption.
CryptEncodeObject- Codiert eine Struktur vom Typ lpszStructType.
CryptEncodeObjectEx- Codiert eine Struktur vom Typ lpszStructType. CryptEncodeObjectEx- unterstützt die One-Pass-Speicherzuweisungsoption.

 

Datenverschlüsselungs- und Entschlüsselungsfunktionen

Die folgenden Funktionen unterstützen Verschlüsselungs- und Entschlüsselungsvorgänge. CryptEncrypt und CryptDecrypt erfordern einen kryptografischen Schlüssel, bevor sie aufgerufen werden. Dazu verwenden Sie die CryptGenKey, CryptDeriveKeyoder CryptImportKey Funktion. Der Verschlüsselungsalgorithmus wird angegeben, wenn der Schlüssel erstellt wird. CryptSetKeyParam- können zusätzliche Verschlüsselungsparameter festlegen.

Funktion Beschreibung
CryptDecrypt Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Entschlüsselt einen Abschnitt Chiffretext- mithilfe des angegebenen Verschlüsselungsschlüssels.
CryptEncrypt Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Verschlüsselt einen Abschnitt Nur-Text- mithilfe des angegebenen Verschlüsselungsschlüssels.
CryptProtectData- Führt verschlüsselung für die Daten in einer DATA_BLOB Struktur aus.
CryptProtectMemory Verschlüsselt den Speicher zum Schutz vertraulicher Informationen.
CryptUnprotectData- Führt eine Entschlüsselungs- und Integritätsprüfung der Daten in einem DATA_BLOBaus.
CryptUnprotectMemory Entschlüsselt speicher, der mit CryptProtectMemoryverschlüsselt wurde.

 

Hash- und Digitale Signaturfunktionen

Diese Funktionen berechnen Hashes von Daten und erstellen und überprüfen digitalen Signaturen. Hashes werden auch als Nachrichtendigeste bezeichnet.

Funktion Beschreibung
CryptCreateHash Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Erstellt ein leeres Hashobjekt.
CryptDestroyHash Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Zerstört ein Hashobjekt.
CryptDuplicateHash Dupliziert ein Hashobjekt.
CryptGetHashParam- Ruft einen Hashobjektparameter ab.
CryptHashData- Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Hasht einen Datenblock und fügt ihn dem angegebenen Hashobjekt hinzu.
CryptHashSessionKey- Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Hashes a session key, adding it to the specified hash object.
CryptSetHashParam Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Legt einen Hashobjektparameter fest.
CryptSignHash- Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Signiert das angegebene Hashobjekt.
CryptUIWizDigitalSign Zeigt einen Assistenten an, der ein Dokument oder ein BLOB-digital signiert.
CryptUIWizFreeDigitalSignContext Gibt einen Zeiger auf eine CRYPTUI_WIZ_DIGITAL_SIGN_CONTEXT Struktur frei.
CryptVerifySignature Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Überprüft eine digitale Signatur, wenn ein Handle für das Hashobjekt gegeben ist.
PFNCFILTERPROC Filtert die Zertifikate, die im Assistenten für digitale Signaturen angezeigt werden, die von der funktion CryptUIWizDigitalSign angezeigt werden.

 

Funktionen für Zertifikat- und Zertifikatspeicher

Zertifikat- und Zertifikatspeicherfunktionen verwalten die Verwendung, Speicherung und Abruf von Zertifikaten, Zertifikatsperrlisten (CRLs) und Zertifikatvertrauenslisten (CTLs). Diese Funktionen sind in die folgenden Gruppen unterteilt:

  • Zertifikatspeicherfunktionen
  • Wartungsfunktionen für Zertifikat- und Zertifikatspeicher
  • Zertifikatfunktionen
  • Funktionen der Zertifikatsperrliste
  • Listenfunktionen für Zertifikatvertrauenslisten
  • Erweiterte Eigenschaftenfunktionen
  • MakeCert-Funktionen

Zertifikatspeicherfunktionen

Eine Benutzerwebsite kann im Laufe der Zeit viele Zertifikate sammeln. In der Regel verfügt eine Website über Zertifikate für den Benutzer der Website sowie andere Zertifikate, die personen und Entitäten beschreiben, mit denen der Benutzer kommuniziert. Für jede Entität kann es mehrere Zertifikate geben. Für jedes einzelne Zertifikat sollte eine Kette der Überprüfung von Zertifikaten vorhanden sein, die einen Trail zurück zu einem vertrauenswürdigen Stammzertifikat. Zertifikatspeicher und ihre zugehörigen Funktionen bieten Funktionen zum Speichern, Abrufen, Aufzählen, Überprüfen und Verwenden der in den Zertifikaten gespeicherten Informationen.

Funktion Beschreibung
CertAddStoreToCollection- Fügt einem Sammlungszertifikatspeicher einen gleichgeordneten Zertifikatspeicher hinzu.
CertCloseStore- Schließt ein Zertifikatspeicherhandle.
CertControlStore- Ermöglicht es einer Anwendung, benachrichtigt zu werden, wenn ein Unterschied zwischen dem Inhalt eines zwischengespeicherten Speichers und dem Inhalt des Speichers besteht, der für den Speicher beibehalten wird. Darüber hinaus wird die Desynchronisierung des zwischengespeicherten Speichers bereitgestellt, falls erforderlich, und es gibt eine Möglichkeit, Änderungen, die im zwischengespeicherten Speicher vorgenommen wurden, zu übernehmen, um den dauerhaften Speicher zu speichern.
CertDuplicateStore- Dupliziert ein Speicherhandle, indem die Verweisanzahlerhöht wird.
CertEnumPhysicalStore Listet die physischen Speicher für einen angegebenen Systemspeicher auf.
CertEnumSystemStore- Listet alle verfügbaren Systemspeicher auf.
CertEnumSystemStoreLocation Listet alle Speicherorte auf, die über einen verfügbaren Systemspeicher verfügen.
CertGetStoreProperty Ruft eine Speichereigenschaft ab.
CertOpenStore- Öffnet einen Zertifikatspeicher mit einem angegebenen Speicheranbietertyp.
CertOpenSystemStore- Öffnet einen Systemzertifikatspeicher basierend auf einem Subsystemprotokoll.
CertRegisterPhysicalStore- Fügt einer Registrierungssystemspeichersammlung einen physischen Speicher hinzu.
CertRegisterSystemStore- Registriert einen Systemspeicher.
CertRemoveStoreFromCollection Entfernt einen gleichgeordneten Zertifikatspeicher aus einem Sammlungsspeicher.
CertSaveStore- Speichert den Zertifikatspeicher.
CertSetStoreProperty- Legt eine Speichereigenschaft fest.
CertUnregisterPhysicalStore Entfernt einen physischen Speicher aus einer angegebenen Systemspeichersammlung.
CertUnregisterSystemStore- Hebt die Registrierung eines angegebenen Systemspeichers auf.
CryptUIWizExport Stellt einen Assistenten dar, der ein Zertifikat, eine Zertifikatvertrauensliste (Certificate Trust List, CTL), eine Zertifikatsperrliste (CRL) oder einen Zertifikatspeicher exportiert.
CryptUIWizImport Stellt einen Assistenten dar, der ein Zertifikat, eine Zertifikatvertrauensliste (Certificate Trust List, CTL), eine Zertifikatsperrliste (Certificate Revocation List, CRL) oder einen Zertifikatspeicher importiert.

 

Wartungsfunktionen für Zertifikat- und Zertifikatspeicher

CryptoAPI bietet eine Reihe allgemeiner Zertifikat- und Zertifikatspeicher-Wartungsfunktionen.

Funktion Beschreibung
CertAddSerializedElementToStore- Fügt dem Speicher das serialisierte Zertifikat oder das CRL-Element hinzu.
CertCreateContext- Erstellt den angegebenen Kontext aus den codierten Bytes. Der neue Kontext wird nicht in einen Speicher eingefügt.
CertEnumSubjectInSortedCTL- Listet die TrustedSubjects in einem sortierten CTL-Kontext auf.
CertFindSubjectInCTL- Sucht den angegebenen Betreff in einer CTL.
CertFindSubjectInSortedCTL- Sucht den angegebenen Betreff in einer sortierten CTL.
OpenPersonalTrustDBDialog und OpenPersonalTrustDBDialogEx Zeigt das Dialogfeld Zertifikate an.

 

Zertifikatfunktionen

Die meisten -Funktionen von Zertifikaten verfügen über verwandte Funktionen, um CRLs und CTLszu behandeln. Weitere Informationen zu verwandten CRL- und CTL-Funktionen finden Sie unter Zertifikatsperrlistenfunktionen und Zertifikatvertrauenslistenfunktionen.

Funktion Beschreibung
CertAddCertificateContextToStore- Fügt dem Zertifikatspeicher einen Zertifikatkontext hinzu.
CertAddCertificateLinkToStore Fügt einem Zertifikatkontext in einem anderen Speicher einen Link in einem Zertifikatspeicher hinzu.
CertAddEncodedCertificateToStore Konvertiert das codierte Zertifikat in einen Zertifikatkontext und fügt dann den Kontext zum Zertifikatspeicher hinzu.
CertAddRefServerOcspResponse Erhöht die Referenzanzahl für ein HCERT_SERVER_OCSP_RESPONSE Handle.
CertAddRefServerOcspResponseContext Erhöht die Referenzanzahl für eine CERT_SERVER_OCSP_RESPONSE_CONTEXT Struktur.
CertCloseServerOcspResponse Schließt ein Onlinezertifikatstatusprotokoll (OCSP)-Serverantworthandle.
CertCreateCertificateContext Erstellt einen Zertifikatkontext aus einem codierten Zertifikat. Der erstellte Kontext wird nicht in einem Zertifikatspeicher abgelegt.
CertCreateSelfSignCertificate Erstellt ein selbstsigniertes Zertifikat.
CertDeleteCertificateFromStore Löscht ein Zertifikat aus dem Zertifikatspeicher.
CertDuplicateCertificateContext- Dupliziert einen Zertifikatkontext, indem die Referenzanzahlerhöht wird.
CertEnumCertificatesInStore- Listet die Zertifikatkontexte im Zertifikatspeicher auf.
CertFindCertificateInStore- Sucht den ersten oder nächsten Zertifikatkontext im Zertifikatspeicher, der ein Suchkriterium erfüllt.
CertFreeCertificateContext- Gibt einen Zertifikatkontext frei.
CertGetIssuerCertificateFromStore- Ruft einen Zertifikatkontext aus dem Zertifikatspeicher für den ersten oder nächsten Aussteller des angegebenen Antragstellerzertifikats ab.
CertGetServerOcspResponseContext Ruft einen nicht blockierenden, zeit gültigen Onlinezertifikatstatusprotokoll (OCSP)-Antwortkontext für das angegebene Handle ab.
CertGetSubjectCertificateFromStore Ruft aus dem Zertifikatspeicher den Zertifikatkontext des Antragstellers ab, der eindeutig durch seinen Aussteller und seine Seriennummer identifiziert wird.
CertGetValidUsages Gibt ein Array von Verwendungen zurück, die aus der Schnittmenge der gültigen Verwendungen für alle Zertifikate in einem Array von Zertifikaten bestehen.
CertOpenServerOcspResponse- Öffnet ein Handle für eine Onlinezertifikatstatusprotokoll- (OCSP)-Antwort, die einer Serverzertifikatskette zugeordnet ist.
CertRetrieveLogoOrBiometricInfo Führt einen URL-Abruf von Logo- oder biometrischen Informationen aus, die entweder in der szOID_LOGOTYPE_EXT oder szOID_BIOMETRIC_EXT Zertifikaterweiterung angegeben sind.
CertSelectCertificate- Stellt ein Dialogfeld dar, in dem der Benutzer Zertifikate aus einer Gruppe von Zertifikaten auswählen kann, die einem bestimmten Kriterium entsprechen.
CertSelectCertificateChains Ruft Zertifikatketten basierend auf angegebenen Auswahlkriterien ab.
CertSelectionGetSerializedBlob Eine Hilfsfunktion zum Abrufen eines serialisierten Zertifikats BLOB- aus einer CERT_SELECTUI_INPUT Struktur.
CertSerializeCertificateStoreElement Serialisiert das codierte Zertifikat eines Zertifikatkontexts und eine codierte Darstellung seiner Eigenschaften.
CertVerifySubjectCertificateContext Führt die aktivierten Überprüfungsprüfungen für das Antragstellerzertifikat mithilfe des Ausstellers aus.
CryptUIDlgCertMgr Zeigt ein Dialogfeld an, in dem der Benutzer Zertifikate verwalten kann.
CryptUIDlgSelectCertificate Zeigt ein Dialogfeld an, in dem ein Benutzer ein Zertifikat auswählen kann.
CryptUIDlgSelectCertificateFromStore Zeigt ein Dialogfeld an, das die Auswahl eines Zertifikats aus einem bestimmten Speicher zulässt.
CryptUIDlgViewCertificate Zeigt ein Dialogfeld an, in dem ein angegebenes Zertifikat angezeigt wird.
CryptUIDlgViewContext Zeigt ein Zertifikat, eine CRL oder eine CTL an.
CryptUIDlgViewSignerInfo Zeigt ein Dialogfeld an, das die Anmeldeinformationen für eine signierte Nachricht enthält.
GetFriendlyNameOfCert Ruft den Anzeigenamen für ein Zertifikat ab.
RKeyCloseKeyService- Schließt ein Schlüsseldiensthandle.
RKeyOpenKeyService- Öffnet ein Schlüsseldiensthandle auf einem Remotecomputer.
RKeyPFXInstall- Installiert ein Zertifikat auf einem Remotecomputer.

 

Funktionen der Zertifikatsperrliste

Diese Funktionen verwalten das Speichern und Abrufen von Zertifikatsperrlisten (CRLs).

Funktion Beschreibung
CertAddCRLContextToStore Fügt dem Zertifikatspeicher einen CRL-Kontext hinzu.
CertAddCRLLinkToStore Fügt einen Link in einem Speicher zu einem CRL-Kontext in einem anderen Speicher hinzu.
CertAddEncodedCRLToStore Konvertiert die codierte CRL in einen CRL-Kontext und fügt dann den Kontext zum Zertifikatspeicher hinzu.
CertCreateCRLContext- Erstellt einen CRL-Kontext aus einer codierten CRL. Der erstellte Kontext wird nicht in einem Zertifikatspeicher abgelegt.
CertDeleteCRLFromStore- Löscht eine CRL aus dem Zertifikatspeicher.
CertDuplicateCRLContext- Dupliziert einen CRL-Kontext, indem die Verweisanzahlerhöht wird.
CertEnumCRLsInStore- Listet die CRL-Kontexte in einem Speicher auf.
CertFindCertificateInCRL- Durchsucht die Zertifikatsperrliste (CRL) nach dem angegebenen Zertifikat.
CertFindCRLInStore- Sucht den ersten oder nächsten CRL-Kontext im Zertifikatspeicher, der einem bestimmten Kriterium entspricht.
CertFreeCRLContext- Gibt einen CRL-Kontext frei.
CertGetCRLFromStore- Ruft den ersten oder nächsten CRL-Kontext aus dem Zertifikatspeicher für das angegebene Ausstellerzertifikat ab.
CertSerializeCRLStoreElement Serialisiert die codierte CRL des CRL-Kontexts und die zugehörigen Eigenschaften.

 

Listenfunktionen für Zertifikatvertrauenslisten

Diese Funktionen verwalten das Speichern und Abrufen von Zertifikatvertrauenslisten (CTLs).

Funktion Beschreibung
CertAddCTLContextToStore- Fügt dem Zertifikatspeicher einen CTL-Kontext hinzu.
CertAddCTLLinkToStore Fügt einen Link in einem Speicher zu einem CRL-Kontext in einem anderen Speicher hinzu.
CertAddEncodedCTLToStore Konvertiert die codierte CTL in einen CTL-Kontext und fügt dann den Kontext zum Zertifikatspeicher hinzu.
CertCreateCTLContext- Erstellt einen CTL-Kontext aus einer codierten Zertifikatvertrauensliste. Der erstellte Kontext wird nicht in einem Zertifikatspeicher abgelegt.
CertDeleteCTLFromStore- Löscht eine CTL aus dem Zertifikatspeicher.
CertDuplicateCTLContext- Dupliziert einen CTL-Kontext, indem die Referenzanzahl erhöht wird.
CertEnumCTLsInStore- Listet die CTL-Kontexte im Zertifikatspeicher auf.
CertFindCTLInStore- Sucht den ersten oder nächsten CTL-Kontext im Zertifikatspeicher, der einem bestimmten Kriterium entspricht.
CertFreeCTLContext- Gibt einen CTL-Kontext frei.
CertModifyCertificatesToTrust Ändert die Gruppe von Zertifikaten in einer CTL für einen bestimmten Zweck.
CertSerializeCTLStoreElement Serialisiert die codierte CTL des CTL-Kontexts und seine Eigenschaften.

 

Erweiterte Eigenschaftenfunktionen

Die folgenden Funktionen arbeiten mit erweiterten Eigenschaften von Zertifikaten, CRLs und CTLs.

Funktion Beschreibung
CertEnumCertificateContextProperties Listet die Eigenschaften für den angegebenen Zertifikatkontext auf.
CertEnumCRLContextProperties Listet die Eigenschaften für den angegebenen CRL-Kontext auf.
CertEnumCTLContextProperties Listet die Eigenschaften für den angegebenen CTL-Kontext auf.
CertGetCertificateContextProperty- Ruft Zertifikateigenschaften ab.
CertGetCRLContextProperty Ruft CRL-Eigenschaften ab.
CertGetCTLContextProperty- Ruft CTL-Eigenschaften ab.
CertSetCertificateContextProperty Legt Zertifikateigenschaften fest.
CertSetCRLContextProperty Legt CRL-Eigenschaften fest.
CertSetCTLContextProperty Legt CTL-Eigenschaften fest.

 

MakeCert-Funktionen

Die folgenden Funktionen unterstützen das MakeCert Tool.

Funktion Beschreibung
FreeCryptProvFromCert Gibt das Handle an einen kryptografischen Dienstanbieter (CSP) frei und löscht optional den temporären Container, der von der GetCryptProvFromCert-Funktion erstellt wurde.
GetCryptProvFromCert Ruft ein Handle für einen CSP und eine Schlüsselspezifikation für einen Zertifikatkontext ab.
PvkFreeCryptProv Gibt den Handle an einen CSP frei und löscht optional den temporären Container, der von der PvkGetCryptProv-Funktion erstellt wurde.
PvkGetCryptProv Ruft ein Handle für einen CSP basierend auf einem privaten Schlüssel Dateinamen oder einem Schlüsselcontainernamen ab.
PvkPrivateKeyAcquireContextFromMemory Erstellt einen temporären Container im CSP und lädt einen privaten Schlüssel aus dem Speicher in den Container.
PvkPrivateKeySave Speichert einen privaten Schlüssel und den entsprechenden öffentlichen Schlüssel in einer angegebenen Datei.
SignError- Ruft GetLastError- auf und konvertiert den Rückgabecode in ein HRESULT-.

 

Zertifikatüberprüfungsfunktionen

Zertifikate werden mithilfe CTLs oder Zertifikatketten überprüft. Funktionen werden für beide bereitgestellt:

  • Überprüfungsfunktionen mithilfe von CTLs
  • Überprüfungsfunktionen der Zertifikatkette

Überprüfungsfunktionen mithilfe von CTLs

Diese Funktionen verwenden CTLs im Überprüfungsprozess. Weitere Funktionen zum Arbeiten mit CTLs finden Sie in den Funktionen der Zertifikatvertrauensliste und erweiterten Eigenschaftenfunktionen.

Die folgenden Funktionen verwenden CTLs direkt zur Überprüfung.

Funktion Beschreibung
CertVerifyCTLUsage Überprüft die Verwendung einer CTL.
CryptMsgEncodeAndSignCTL- Codiert und signiert eine CTL als Nachricht.
CryptMsgGetAndVerifySigner Ruft eine CTL aus einer Nachricht ab und überprüft diese.
CryptMsgSignCTL- Signiert eine Nachricht, die eine CTL enthält.

 

Überprüfungsfunktionen der Zertifikatkette

Zertifikatketten werden erstellt, um Vertrauensinformationen zu einzelnen Zertifikaten bereitzustellen.

Funktionsname Beschreibung
CertCreateCertificateChainEngine Erstellt ein neues, nicht standardmäßiges Kettenmodul für eine Anwendung.
CertCreateCTLEntryFromCertificateContextProperties Erstellt einen CTL-Eintrag, dessen Attribute die Eigenschaften des Zertifikatkontexts sind.
CertDuplicateCertificateChain Dupliziert eine Zertifikatkette, indem die Referenzanzahl der Kette erhöht und ein Zeiger auf die Kette zurückgegeben wird.
CertFindChainInStore- Sucht den ersten oder nächsten Zertifikatkettenkontext in einem Speicher.
CertFreeCertificateChain Gibt eine Zertifikatkette frei, indem die Referenzanzahl reduziert wird.
CertFreeCertificateChainEngine Gibt ein nicht standardmäßiges Zertifikatkettenmodul frei.
CertFreeCertificateChainList- Gibt das Array von Zeigern auf Kettenkontexte frei.
CertGetCertificateChain Erstellt einen Kettenkontext beginnend mit einem Endzertifikat und geht nach Möglichkeit zu einem vertrauenswürdigen Stammzertifikatzurück.
CertIsValidCRLForCertificate Überprüft eine CRL-, um festzustellen, ob es ein bestimmtes Zertifikat enthalten würde, wenn dieses Zertifikat widerrufen wurde.
CertSetCertificateContextPropertiesFromCTLEntry Legt Eigenschaften für den Zertifikatkontext mithilfe der Attribute im CTL-Eintrag fest.
CertVerifyCertificateChainPolicy Überprüft eine Zertifikatkette, um ihre Gültigkeit zu überprüfen, einschließlich der Einhaltung aller angegebenen Gültigkeitsrichtlinienkriterien.

 

Nachrichtenfunktionen

CryptoAPI Nachrichtenfunktionen bestehen aus zwei Funktionsgruppen: Nachrichtenfunktionen auf niedriger Ebene und vereinfachte Nachrichtenfunktionen.

Nachrichtenfunktionen auf niedriger Ebene erstellen und arbeiten direkt mit PKCS #7-Nachrichten. Diese Funktionen codieren PKCS #7-Daten für die Übertragung und Decodieren von PKCS #7 empfangenen Daten. Sie entschlüsseln und überprüfen auch die Signaturen empfangener Nachrichten. Eine Übersicht über die PKCS #7 Standard- und Low-Level-Nachrichten finden Sie unter Nachrichten auf niedriger Ebene.

Vereinfachte Nachrichtenfunktionen befinden sich auf einer höheren Ebene und umschließen mehrere Nachrichtenfunktionen auf niedriger Ebene und Zertifikatfunktionen in einzelne Funktionen, die eine bestimmte Aufgabe auf bestimmte Weise ausführen. Diese Funktionen reduzieren die Anzahl der Funktionsaufrufe, die zum Ausführen einer Aufgabe erforderlich sind, wodurch die Verwendung von CryptoAPI vereinfacht wird. Eine Übersicht über vereinfachte Nachrichten finden Sie unter vereinfachte Nachrichten.

  • Nachrichtenfunktionen auf niedriger Ebene
  • Vereinfachte Nachrichtenfunktionen

Nachrichtenfunktionen auf niedriger Ebene

Nachrichtenfunktionen auf niedriger Ebene stellen die Funktionalität bereit, die zum Codieren von Daten für die Übertragung und zum Decodieren von EMPFANGENen PKCS #7-Nachrichten erforderlich ist. Funktionen werden auch bereitgestellt, um die Signaturen empfangener Nachrichten zu entschlüsseln und zu überprüfen. Die Verwendung dieser Nachrichtenfunktionen auf niedriger Ebene in den meisten Anwendungen wird nicht empfohlen. Für die meisten Anwendungen wird die Verwendung vereinfachter Nachrichtenfunktionen, die mehrere Nachrichtenfunktionen auf niedriger Ebene in einen einzelnen Funktionsaufruf umschließen, bevorzugt.

Funktion Beschreibung
CryptMsgCalculateEncodedLength Berechnet die Länge einer codierten kryptografischen Nachricht.
CryptMsgClose Schließt ein Handle einer kryptografischen Nachricht.
CryptMsgControl- Führt eine spezielle Steuerelementfunktion nach dem endgültigen CryptMsgUpdate einer codierten oder decodierten kryptografischen Nachricht aus.
CryptMsgCountersign Signiert eine bereits vorhandene Signatur in einer Nachricht.
CryptMsgCountersignEncoded Gegensigniert eine bereits vorhandene Signatur (codierte SignerInfo, wie durch PKCS #7 definiert).
CryptMsgDuplicate Dupliziert ein kryptografisches Nachrichtenhandle, indem die Referenzanzahlerhöht wird. Die Referenzanzahl verfolgt die Lebensdauer der Nachricht.
CryptMsgGetParam Erwirbt einen Parameter nach der Codierung oder Decodierung einer kryptografischen Nachricht.
CryptMsgOpenToDecode- Öffnet eine kryptografische Nachricht zum Decodieren.
CryptMsgOpenToEncode Öffnet eine kryptografische Nachricht für die Codierung.
CryptMsgUpdate- Aktualisiert den Inhalt einer kryptografischen Nachricht.
CryptMsgVerifyCountersignatureEncoded Überprüft eine gegensignature in Bezug auf die SignerInfo-Struktur (wie durch PKCS #7 definiert).
CryptMsgVerifyCountersignatureEncodedEx Überprüft, ob der pbSignerInfoCounterSignature Parameter den verschlüsselten Hash- des encryptedDigest Felds der pbSignerInfo Parameterstruktur enthält.

 

Vereinfachte Nachrichtenfunktionen

vereinfachte Nachrichtenfunktionen Umschließen von Nachrichtenfunktionen auf niedriger Ebene in eine einzelne Funktion, um eine bestimmte Aufgabe auszuführen.

Funktion Beschreibung
CryptDecodeMessage- Decodiert eine kryptografische Nachricht.
CryptDecryptAndVerifyMessageSignature Entschlüsselt die angegebene Nachricht und überprüft den Signierer.
CryptDecryptMessage Entschlüsselt die angegebene Nachricht.
CryptEncryptMessage Verschlüsselt die Nachricht für den Empfänger oder Empfänger.
CryptGetMessageCertificates Gibt den Zertifikatspeicher zurück, der die Zertifikate der Nachricht und CRLsenthält.
CryptGetMessageSignerCount Gibt die Anzahl der Signierer in der signierten Nachricht zurück.
CryptHashMessage- Erstellt einen Hash der Nachricht.
CryptSignAndEncryptMessage Signiert die Nachricht und verschlüsselt sie dann für den Empfänger oder empfänger.
CryptSignMessageWithKey Signiert eine Nachricht mit dem privaten Schlüssel eines CSP, der in den Parametern für die Funktion angegeben ist.
CryptSignMessage- Signiert die Nachricht.
CryptVerifyDetachedMessageHash Überprüft eine Hashnachricht, die einen getrennten Hash enthält.
CryptVerifyDetachedMessageSignature Überprüft eine signierte Nachricht, die eine getrennte Signatur oder Signaturen enthält.
CryptVerifyMessageHash Überprüft eine Hashnachricht.
CryptVerifyMessageSignature Überprüft eine signierte Nachricht.
CryptVerifyMessageSignatureWithKey Überprüft die Signatur einer signierten Nachricht mithilfe der angegebenen Öffentlichen Schlüsselinformationen.

 

Hilfsfunktionen

Die Hilfsfunktionen sind wie folgt gruppiert:

  • Datenverwaltungsfunktionen
  • Datenkonvertierungsfunktionen
  • Erweiterte Schlüsselverwendungsfunktionen
  • Schlüsselbezeichnerfunktionen
  • OID-Unterstützungsfunktionen
  • Remoteobjektabruffunktionen
  • PFX-Funktionen

Datenverwaltungsfunktionen

Die folgenden CryptoAPI-Funktionen verwalten Daten und Zertifikate.

Funktion Beschreibung
CertCompareCertificate Vergleicht zwei Zertifikate, um festzustellen, ob sie identisch sind.
CertCompareCertificateName Vergleicht zwei Zertifikatnamen, um festzustellen, ob sie identisch sind.
CertCompareIntegerBlob Vergleicht zwei ganzzahlige BLOBs.
CertComparePublicKeyInfo Vergleicht zwei öffentlichen Schlüssel, um festzustellen, ob sie identisch sind.
CertFindAttribute- Sucht das erste Attribut, das durch den Objektbezeichner (OID) identifiziert wird.
CertFindExtension Sucht die erste Erweiterung, die durch das OID identifiziert wird.
CertFindRDNAttr Sucht das erste RDN- Attribut, das durch sein OID in der Namensliste der Relative Distinguished Namesidentifiziert wird.
CertGetIntendedKeyUsage Erwirbt die beabsichtigten Schlüsselverwendungsbytes aus dem Zertifikat.
CertGetPublicKeyLength Dient zum Abrufen der Bitlänge des öffentlichen/privaten Schlüssels aus dem öffentlichen SCHLÜSSEL-BLOB-.
CertIsRDNAttrsInCertificateName Vergleicht die Attribute im Zertifikatnamen mit dem angegebenen CERT_RDN, um zu bestimmen, ob alle Attribute enthalten sind.
CertIsStrongHashToSign- Bestimmt, ob der angegebene Hashalgorithmus und der öffentliche Schlüssel im Signaturzertifikat verwendet werden können, um eine starke Signatur durchzuführen.
CertVerifyCRLRevocation Überprüft, ob sich das Antragstellerzertifikat nicht in der Zertifikatsperrliste (CRL) befindet.
CertVerifyCRLTimeValidity Überprüft die Gültigkeit einer CRL.
CertVerifyRevocation Überprüft, ob sich das Antragstellerzertifikat nicht auf der CRL befindet.
CertVerifyTimeValidity- Überprüft die Gültigkeit eines Zertifikats.
CertVerifyValidityNesting Überprüft, ob die Gültigkeitsdauer des Betreffs innerhalb der Gültigkeitsdauer des Ausstellers verschachtelt ist.
CryptExportPKCS8- Diese Funktion wird durch die funktion CryptExportPKCS8Ex ersetzt.
CryptExportPKCS8Ex Exportiert den privaten Schlüssel im PKCS #8-Format.
CryptExportPublicKeyInfo Exportiert die öffentlichen Schlüsselinformationen, die dem entsprechenden privaten Schlüssel des Anbieters zugeordnet sind.
CryptExportPublicKeyInfoEx Exportiert die öffentlichen Schlüsselinformationen, die dem entsprechenden privaten Schlüssel des Anbieters zugeordnet sind. Diese Funktion unterscheidet sich von CryptExportPublicKeyInfo darin, dass der Benutzer den Algorithmus für öffentliche Schlüssel angeben kann, wodurch der vom CSP bereitgestellte Standard außer Kraft gesetzt wird.
CryptExportPublicKeyInfoFromBCryptKeyHandle Exportiert die Informationen zu öffentlichen Schlüsseln, die dem entsprechenden privaten Schlüssel eines Anbieters zugeordnet sind.
CryptFindCertificateKeyProvInfo Listet die kryptografischen Anbieter und ihre Schlüsselcontainer auf,, um den privaten Schlüssel zu finden, der dem öffentlichen Schlüssel eines Zertifikats entspricht.
CryptFindLocalizedName Sucht den lokalisierten Namen für einen angegebenen Namen, z. B. findet den lokalisierten Namen für den Speichernamen des Stammsystems.
CryptHashCertificate Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Hasht den codierten Inhalt.
CryptHashCertificate2 Hasht einen Datenblock mithilfe einer Kryptografie-API: Hashanbieter der nächsten Generation (CNG).
CryptHashPublicKeyInfo Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Berechnet den Hash der codierten Öffentlichen Schlüsselinformationen.
CryptHashToBeSigned Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Berechnet den Hash der "zu signierten" Informationen im codierten signierten Inhalt (CERT_SIGNED_CONTENT_INFO).
CryptImportPKCS8 Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Importiert den privaten Schlüssel im PKCS #8-Format in einen kryptografischen Dienstanbieter (CSP).
CryptImportPublicKeyInfo Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Konvertiert und importiert Öffentliche Schlüsselinformationen in den Anbieter und gibt ein Handle des öffentlichen Schlüssels zurück.
CryptImportPublicKeyInfoEx Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Konvertiert und importiert die Informationen des öffentlichen Schlüssels in den Anbieter und gibt ein Handle des öffentlichen Schlüssels zurück. Zusätzliche Parameter (über den durch CryptImportPublicKeyInfo) angegebenen Parameter, die zum Überschreiben von Standardwerten verwendet werden können, werden bereitgestellt, um CERT_PUBLIC_KEY_INFOzu ergänzen.
CryptImportPublicKeyInfoEx2 Importiert einen öffentlichen Schlüssel in einen Asymmetrischen CNG-Anbieter.
CryptMemAlloc Weist Speicher für einen Puffer zu. Dieser Speicher wird von allen Crypt32.lib-Funktionen verwendet, die zugeordnete Puffer zurückgeben.
CryptMemFree Gibt Speicher frei, der von CryptMemAlloc oder CryptMemRealloczugewiesen wird.
CryptMemRealloc Gibt zurzeit für einen Puffer zugewiesenen Arbeitsspeicher frei und weist Speicher für einen neuen Puffer zu.
CryptQueryObject- Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Ruft Informationen zum Inhalt eines BLOB oder einer Datei ab.
CryptSignAndEncodeCertificate Codiert die "zu signierten" Informationen, signiert diese codierten Informationen und codiert die resultierenden signierten, codierten Informationen.
CryptSignCertificate Signiert die "signierten" Informationen im codierten, signierten Inhalt.
CryptSIPAddProvider Fügt ein Subject Interface Package (SIP) hinzu.
CryptSIPCreateIndirectData- Gibt eine SIP_INDIRECT_DATA Struktur zurück, die einen Hash- der bereitgestellten SIP_SUBJECTINFO Struktur, des Digestalgorithmus und eines Codierungsattributs enthält. Der Hash kann als indirekter Verweis auf die Daten verwendet werden.
CryptSIPGetCaps Ruft die Funktionen eines SIP ab.
CryptSIPGetSignedDataMsg Ruft eine Authenticode-Signatur aus der Datei ab.
CryptSIPLoad- Lädt die Dynamic Link Library, die ein Subject Interface-Paket implementiert, und weist einer SIP_DISPATCH_INFO Struktur entsprechende Bibliotheksexportfunktionen zu.
CryptSIPPutSignedDataMsg Speichert eine Authenticode-Signatur in der Zieldatei.
CryptSIPRemoveProvider Entfernt ein SIP, das von einem vorherigen Aufruf der CryptSIPAddProvider-Funktion hinzugefügt wurde.
CryptSIPRemoveSignedDataMsg Entfernt eine angegebene Authenticode-Signatur.
CryptSIPRetrieveSubjectGuid Ruft eine GUID basierend auf den Kopfzeileninformationen in einer angegebenen Datei ab.
CryptSIPRetrieveSubjectGuidForCatalogFile Ruft die betreff-GUID ab, die der angegebenen Datei zugeordnet ist.
CryptSIPVerifyIndirectData- Überprüft die indirekten Hashdaten für den angegebenen Betreff.
CryptUpdateProtectedState- Migriert die Masterschlüssel des aktuellen Benutzers, nachdem sich die Sicherheits-ID des Benutzers (SID) geändert hat.
CryptVerifyCertificateSignature Überprüft die Signatur eines Antragstellerzertifikats oder einer CRL- mithilfe der Informationen zu öffentlichen Schlüsseln.
CryptVerifyCertificateSignatureEx Eine erweiterte Version von CryptVerifyCertificateSignature.
GetEncSChannel Speichert die verschlüsselten Schannel DLL-Inhalte im Arbeitsspeicher.
pCryptSIPGetCaps Wird von einem SIP implementiert, um Funktionen zu melden.

 

Datenkonvertierungsfunktionen

Die folgenden CryptoAPI-Funktionen konvertieren Zertifikatstrukturmmber in verschiedene Formulare.

Funktion Beschreibung
CertAlgIdToOID- Wandelt einen CryptoAPI-Algorithmusbezeichner (ALG_ID) in eine abstrakte Syntaxnotation One (ASN.1) Objektbezeichner OID-Zeichenfolge um.
CertGetNameString- Dient zum Abrufen des Antragsteller- oder Ausstellernamens aus einem Zertifikat und konvertiert ihn in eine Zeichenfolge mit NULL-Terminierungen.
CertNameToStr- Wandelt einen Zertifikatnamen BLOB- in eine Zeichenfolge mit Nullen um.
CertOIDToAlgId- Konvertiert die ASN.1-Objektbezeichnerzeichenfolge in den CSP-Algorithmusbezeichner.
CertRDNValueToStr Wandelt einen Namenswert in eine mit Null beendete Zeichenfolge um.
CertStrToName- Konvertiert eine mit Null beendete X.500- Zeichenfolge in einen codierten Zertifikatnamen.
CryptBinaryToString- Konvertiert eine binäre Sequenz in eine formatierte Zeichenfolge.
CryptFormatObject- Formatiert codierte Daten und gibt eine Unicode-Zeichenfolge zurück.
CryptStringToBinary Konvertiert eine formatierte Zeichenfolge in eine binäre Sequenz.

 

Erweiterte Schlüsselverwendungsfunktionen

Die folgenden Funktionen befassen sich mit der erweiterten Schlüsselverwendungserweiterung (EKU) und der erweiterten EKU-Eigenschaft von Zertifikaten. Die EKU-Erweiterung und die erweiterte Eigenschaft geben die gültigen Verwendungen eines Zertifikats an und beschränken sie. Die Erweiterungen sind Teil des Zertifikats selbst. Sie werden vom Aussteller des Zertifikats festgelegt und sind schreibgeschützt. Zertifikaterweiterungseigenschaften sind Werte, die einem Zertifikat zugeordnet sind, das in einer Anwendung festgelegt werden kann.

Funktion Beschreibung
CertAddEnhancedKeyUsageIdentifier Fügt der EKU-Eigenschaft eines Zertifikats einen Verwendungsbezeichner hinzu.
CertGetEnhancedKeyUsage Dient zum Abrufen von Informationen über die EKU-Erweiterung oder -Eigenschaft aus einem Zertifikat.
CertRemoveEnhancedKeyUsageIdentifier Entfernt den Verwendungsbezeichner aus der erweiterten EKU-Eigenschaft eines Zertifikats.
CertSetEnhancedKeyUsage Legt die EKU-Eigenschaft für ein Zertifikat fest.

 

Schlüsselbezeichnerfunktionen

Schlüsselbezeichnerfunktionen ermöglichen es dem Benutzer, einen Schlüsselbezeichner oder dessen Eigenschaften zu erstellen, festzulegen, abzurufen oder zu suchen.

Ein Schlüsselbezeichner ist der eindeutige Bezeichner eines öffentlichen/privaten Schlüsselpaars. Es kann sich um einen beliebigen eindeutigen Bezeichner handeln, ist aber in der Regel der SHA1-Hash von 20 Byte einer codierten CERT_PUBLIC_KEY_INFO Struktur. Ein Schlüsselbezeichner kann über die CERT_KEY_IDENTIFIER_PROP_ID des Zertifikats abgerufen werden. Der Schlüsselbezeichner ermöglicht die Verwendung dieses Schlüsselpaars zum Verschlüsseln oder Entschlüsseln von Nachrichten, ohne das Zertifikat zu verwenden.

Schlüsselbezeichner sind nicht CRLs oder CTLszugeordnet.

Ein Schlüsselbezeichner kann die gleichen Eigenschaften wie ein Zertifikatkontext aufweisen. Weitere Informationen finden Sie unter CertCreateContext.

Funktion Beschreibung
CryptCreateKeyIdentifierFromCSP- Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Erstellt einen Schlüsselbezeichner aus dem öffentlichen BLOB-eines CSP.
CryptEnumKeyIdentifierProperties Listet Schlüsselbezeichner und deren Eigenschaften auf.
CryptGetKeyIdentifierProperty Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Erwirbt eine bestimmte Eigenschaft aus einem angegebenen Schlüsselbezeichner.
CryptSetKeyIdentifierProperty Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Legt eine Eigenschaft eines angegebenen Schlüsselbezeichners fest.

 

OID-Unterstützungsfunktionen

Diese Funktionen bieten Objektbezeichner (OID)-Unterstützung. Diese Funktionen installieren, registrieren und verteilen sie an OID- und Codierungstypspezifische Funktionen.

Die folgenden CryptoAPI-Funktionen verwenden diese OID-Unterstützungsfunktionen:

Eine Übersicht über diesen Prozess finden Sie unter Erweitern der CryptoAPI-Funktionalität.

Die folgenden Funktionen funktionieren mit OIDs.

Funktion Beschreibung
CryptEnumOIDFunction Listet die registrierten OID-Funktionen auf, die durch ihren Codierungstyp, Funktionsnamen und OID identifiziert werden.
CryptEnumOIDInfo Listet die registrierten OID-Informationen auf, die von ihrer Gruppe identifiziert werden, und ruft pfnEnumOIDInfo für Übereinstimmungen auf.
CryptFindOIDInfo Verwendet den angegebenen Schlüssel und die angegebene Gruppe, um OID-Informationen zu finden.
CryptFreeOIDFunctionAddress Gibt die Handleanzahl frei, die von CryptGetOIDFunctionAddress oder CryptGetDefaultOIDFunctionAddressinkrementiert und zurückgegeben wurde.
CryptGetDefaultOIDDllList Erwirbt die Liste der registrierten Standard-DLL-Einträge für den angegebenen Funktionssatz und den Codierungstyp.
CryptGetDefaultOIDFunctionAddress Dient zum Abrufen der ersten oder nächsten installierten Standardfunktion oder zum Laden der DLL, die die Standardfunktion enthält.
CryptGetOIDFunctionAddress Durchsucht die Liste der installierten Funktionen nach einem Codierungstyp und einer OID-Übereinstimmung. Wenn dort keine Übereinstimmung gefunden wird, wird die Registrierung nach einer Übereinstimmung gesucht.
CryptGetOIDFunctionValue Erwirbt den Wert für den angegebenen Codierungstyp, Funktionsnamen, OID und Wertnamen.
CryptInitOIDFunctionSet Initialisiert und gibt ein Handle des OID-Funktionssatzes zurück, der durch den angegebenen Funktionsnamen identifiziert wird.
CryptInstallOIDFunctionAddress Installiert einen Satz aufrufbarer OID-Funktionsadressen.
CryptRegisterDefaultOIDFunction Registriert die DLL, die die Standardfunktion enthält, die für den angegebenen Codierungstyp und Funktionsnamen aufgerufen werden soll.
CryptRegisterOIDFunction Registriert die DLL, die die Funktion enthält, die für den angegebenen Codierungstyp, Funktionsnamen und OID aufgerufen werden soll.
CryptRegisterOIDInfo- Registriert die in der CRYPT_OID_INFO-Struktur angegebenen OID-Informationen, wobei sie in der Registrierung gespeichert werden.
CryptSetOIDFunctionValue Legt den Wert für den angegebenen Codierungstyp, Funktionsnamen, OID und Wertnamen fest.
CryptUnregisterDefaultOIDFunction Entfernt die Registrierung für die DLL, die die Standardfunktion enthält, die für den angegebenen Codierungstyp und Funktionsnamen aufgerufen werden soll.
CryptUnregisterOIDFunction Entfernt die Registrierung für die DLL, die die Funktion enthält, die für den angegebenen Codierungstyp, Funktionsnamen und OID aufgerufen werden soll.
CryptUnregisterOIDInfo Entfernt die Registrierung für die angegebenen OID-Informationen.

 

Remoteobjektabruffunktionen

Mit den folgenden Funktionen kann der Benutzer ein PKI-Objekt (Public Key Infrastructure) abrufen, die URL eines Zertifikats, einer CTL oder einer CRL abrufen oder eine URL aus einem Objekt extrahieren.

Funktion Beschreibung
CryptGetObjectUrl- Dient zum Abrufen der URL des Remoteobjekts aus einem Zertifikat, einer CTL oder einer CRL.
CryptRetrieveObjectByUrl Ruft das PKI-Objekt von einem Speicherort ab, der durch eine URL angegeben wird.

 

PFX-Funktionen

Die folgenden Funktionen unterstützen das PFX-Format (Personal Information Exchange) BLOBs.

Funktion Beschreibung
PFXExportCertStore- Exportiert aus dem referenzierten Zertifikatspeicher den Zertifikaten und, falls verfügbar, die zugehörigen privaten Schlüssel.
PFXExportCertStoreEx Exportiert aus dem referenzierten Zertifikat speichern die Zertifikate und, falls verfügbar, die zugehörigen privaten Schlüssel.
PFXImportCertStore Importiert ein PFX-BLOB und gibt das Handle eines Speichers zurück, der Zertifikate und alle zugehörigen privaten Schlüssel enthält.
PFXIsPFXBlob Versucht, die äußere Ebene eines BLOB als PFX-Paket zu decodieren.
PFXVerifyPassword- Versucht, die äußere Ebene eines BLOB als PFX-Paket zu decodieren und mit dem angegebenen Kennwort zu entschlüsseln.

 

Sicherungs- und Wiederherstellungsfunktionen für Zertifikatdienste

Zertifikatdienste umfassen Funktionen zum Sichern und Wiederherstellen der Zertifikatdienstedatenbank. Diese Sicherungs- und Wiederherstellungsfunktionen der Zertifikatdienste sind in Certadm.dllenthalten. Im Gegensatz zu den anderen API-Elementen, die Zertifikatdiensten zugeordnet sind, werden diese Funktionen nicht in ein Objekt gekapselt, das zum Aufrufen von Klassenmethoden verwendet werden kann. Stattdessen werden die Sicherungs- und Wiederherstellungs-APIs aufgerufen, indem zuerst die Certadm.dll-Bibliothek in den Arbeitsspeicher geladen wird, indem LoadLibrary aufgerufen und dann die Adresse der Funktionen durch Aufrufen GetProcAddressermittelt wird. Wenn Sie die Sicherungs- und Wiederherstellungsfunktionen der Zertifikatdienste aufgerufen haben, rufen Sie FreeLibrary- auf, um Certadm.dll Ressourcen aus dem Arbeitsspeicher freizugeben.

Anmerkung

Von Certadm.dll bereitgestellte Sicherungs- und Wiederherstellungsfunktionen sichern oder wiederherstellen die privaten Schlüssel des Zertifikatdiensts nicht. Informationen zum Sichern der privaten Schlüssel der Zertifikatdienste finden Sie unter Sichern und Wiederherstellen des privaten Schlüssels der Zertifikatdienste.

Um die Sicherungs- und Wiederherstellungsfunktionen aufzurufen, müssen Sie Berechtigungensichern und wiederherstellen. Ausführliche Informationen finden Sie unter Festlegen der Sicherungs- und Wiederherstellungsberechtigungen.

 

Anmerkung

Wenn CoInitializeEx- zuvor im selben Thread aufgerufen wurde, der zum Aufrufen der Sicherungs- und Wiederherstellungs-APIs der Zertifikatdienste verwendet wurde, muss das COINIT_APARTMENTTHREADED-Flag an CoInitializeEx-übergeben werden. Das heißt, wenn Sie denselben Thread verwenden, können Sie die Sicherungs- und Wiederherstellungs-API der Zertifikatdienste nicht aufrufen, wenn der Thread zuvor im COINIT_MULTITHREADED Flag in einem Aufruf von CoInitializeExübergeben wurde.

 

Die Zertifikatdienste-Sicherungs-APIs werden in Certbcli.h definiert. Wenn Sie Ihr Programm erstellen, verwenden Sie jedoch Certsrv.h als Includedatei.

Die folgenden APIs werden von Certadm.dllexportiert.

Funktion Beschreibung
CertSrvBackupClose Schließt eine geöffnete Datei.
CertSrvBackupEnd Beendet eine Sicherungssitzung.
CertSrvBackupFree Gibt einen Puffer frei, der von den Sicherungs- und Wiederherstellungs-APIs zugeordnet ist.
CertSrvBackupGetBackupLogs Gibt eine Liste von Protokolldateien zurück, die gesichert werden müssen.
CertSrvBackupGetDatabaseNames Gibt eine Liste der Datenbankdateien zurück, die gesichert werden müssen.
CertSrvBackupGetDynamicFileList Ruft die Liste der dynamischen Dateinamen der Zertifikatdienste ab, die für den angegebenen Sicherungskontext gesichert werden müssen.
CertSrvBackupOpenFile- Öffnet eine Datei in Vorbereitung auf die Sicherung.
CertSrvBackupPrepare Bereitet die Datenbank für die Onlinesicherung vor.
CertSrvBackupRead- Liest den Inhalt einer geöffneten Datei.
CertSrvBackupTruncateLogs Schneidet die Protokolldateien ab.
CertSrvIsServerOnline Bestimmt, ob ein Zertifikatdiensteserver online ist (aktiv ausgeführt).
CertSrvRestoreEnd Beendet eine Wiederherstellungssitzung.
CertSrvRestoreGetDatabaseLocations Ruft Datenbankspeicherorte ab (für Sicherungs- und Wiederherstellungsszenarien verwendet).
CertSrvRestorePrepare Beginnt eine Wiederherstellungssitzung.
CertSrvRestoreRegister Registriert einen Wiederherstellungsvorgang.
CertSrvRestoreRegisterComplete Schließt einen zuvor registrierten Wiederherstellungsvorgang ab.
CertSrvRestoreRegisterThroughFile Registriert einen Wiederherstellungsvorgang.
CertSrvServerControl Sendet einen Steuerelementbefehl an die Instanz der Zertifikatdienste.

 

Rückruffunktionen

Die Rückruffunktionen in diesem Abschnitt werden verwendet, um anwendungsdefinierte Zertifikatspeicher Anbieter zu registrieren oder zu installieren und verwandte Funktionen über Rückruffunktionen bereitzustellen. Rückruffunktionen werden von einer Anwendung implementiert und von CryptoAPI--Funktionen aufgerufen. Rückruffunktionen ermöglichen es der Anwendung, teilweise die Art und Weise zu steuern, wie CryptoAPI Daten bearbeitet.

Rückruffunktion Gebrauchen
CertChainFindByIssuerCallback- Eine anwendungsdefinierte Rückruffunktion, mit der die Anwendung Zertifikate filtern kann, die der Zertifikatkette hinzugefügt werden können.
CertDllOpenStoreProv Definiert die geöffnete Funktion des Speicheranbieters.
CertEnumPhysicalStoreCallback- Rückruffunktion, die vom CertEnumPhysicalStore Funktion verwendet wird, um Informationen zu den gefundenen physischen Speicher zu formatieren und darzustellen.
CertEnumSystemStoreCallback- Rückruffunktion, die von der CertEnumSystemStore Funktion verwendet wird, um Informationen zu den gefundenen physischen Speicher zu formatieren und darzustellen.
CertEnumSystemStoreLocationCallback- Rückruffunktion, die von der CertEnumSystemStoreLocation Funktion verwendet wird, um Informationen zu jedem gefundenen physischen Speicher zu formatieren und darzustellen.
CertStoreProvCloseCallback Bestimmt, was passiert, wenn die Verweisanzahl eines geöffneten Speichers null wird.
CertStoreProvControl- Ermöglicht es einer Anwendung, benachrichtigt zu werden, wenn es einen Unterschied zwischen dem Inhalt eines zwischengespeicherten Speichers und dem Inhalt dieses Speichers gibt, da er für den Speicher beibehalten wird.
CertStoreProvDeleteCertCallback Bestimmt Aktionen, die vor dem Löschen eines Zertifikats aus einem Zertifikatspeicher ausgeführt werden sollen.
CertStoreProvDeleteCRLCallback Bestimmt Aktionen, die ausgeführt werden sollen, bevor eine Zertifikatsperrliste (CRL) aus einem Zertifikatspeicher gelöscht wird.
CertStoreProvDeleteCTL- Bestimmt, ob eine CTL gelöscht werden kann.
CertStoreProvFindCert Sucht das erste oder nächste Zertifikat in einem Speicher, der den angegebenen Kriterien entspricht.
CertStoreProvFindCRL- Sucht die erste oder nächste CRL in einem Speicher, der den angegebenen Kriterien entspricht.
CertStoreProvFindCTL- Sucht die erste oder nächste CTL in einem Speicher, der den angegebenen Kriterien entspricht.
CertStoreProvFreeFindCert Gibt einen zuvor gefundenen Zertifikatkontext frei.
CertStoreProvFreeFindCRL- Gibt einen zuvor gefundenen CRL-Kontext frei.
CertStoreProvFreeFindCTL- Gibt einen zuvor gefundenen CTL-Kontext frei.
CertStoreProvGetCertProperty Ruft eine angegebene Eigenschaft eines Zertifikats ab.
CertStoreProvGetCRLProperty Ruft eine angegebene Eigenschaft einer CRL ab.
CertStoreProvGetCTLProperty Ruft eine angegebene Eigenschaft einer CTL ab.
CertStoreProvReadCertCallback- Derzeit nicht verwendet, aber möglicherweise in zukünftige CSPs exportiert werden.
CertStoreProvReadCRLCallback- Derzeit nicht verwendet, aber möglicherweise in zukünftige CSPs exportiert werden.
CertStoreProvReadCTL- Lesen Sie die Kopie des CTL-Kontexts des Anbieters, und erstellen Sie ggf. einen neuen CTL-Kontext.
CertStoreProvSetCertPropertyCallback- Bestimmt Aktionen, die vor einem Aufruf von CertSetCertificateContextProperty oder CertGetCertificateContextPropertyausgeführt werden sollen.
CertStoreProvSetCRLPropertyCallback Bestimmt Aktionen, die vor einem Aufruf von CertSetCRLContextProperty oder CertGetCRLContextPropertyausgeführt werden sollen.
CertStoreProvSetCTLProperty Bestimmt, ob eine Eigenschaft für eine CTL festgelegt werden kann.
CertStoreProvWriteCertCallback- Bestimmt Aktionen, die vor dem Hinzufügen eines Zertifikats zu einem Speicher ausgeführt werden sollen.
CertStoreProvWriteCRLCallback- Bestimmt Aktionen, die vor dem Hinzufügen einer CRL zu einem Speicher ausgeführt werden sollen.
CertStoreProvWriteCTL- Bestimmt, ob dem Speicher eine CTL hinzugefügt werden kann.
CRYPT_ENUM_KEYID_PROP Rückruffunktion, die von der funktion CryptEnumKeyIdentifierProperties verwendet wird.
CRYPT_ENUM_OID_FUNCTION Rückruffunktion, die von der funktion CryptEnumOIDFunction verwendet wird.
CRYPT_ENUM_OID_INFO Rückruffunktion, die von der CryptEnumOIDInfo Funktion verwendet wird.
CryptGetSignerCertificateCallback- Rückruffunktion, die mit der CRYPT_VERIFY_MESSAGE_PARA Struktur verwendet wird, um das Zertifikat eines Nachrichten signierers abzurufen und zu überprüfen.
PCRYPT_DECRYPT_PRIVATE_KEY_FUNC Rückruffunktion, die von der CryptImportPKCS8 Funktion verwendet wird.
PCRYPT_ENCRYPT_PRIVATE_KEY_FUNC Rückruffunktion, die beim Erstellen der CRYPT_ENCRYPTED_PRIVATE_KEY_INFO Struktur verwendet wird.
PCRYPT_RESOLVE_HCRYPTPROV_FUNC Rückruffunktion, die von der CryptImportPKCS8 Funktion verwendet wird.
PFN_CDF_PARSE_ERROR_CALLBACK Eine benutzerdefinierte Funktion, die für Katalogdefinitionsfunktionsfehler aufgerufen wird, während eine Katalogdefinitionsdatei (CATALOG Definition File, CDF) analysiert wird.
PFN_CERT_CREATE_CONTEXT_SORT_FUNC Wird für jeden sortierten Kontexteintrag aufgerufen, wenn ein Kontext erstellt wird.
PFN_CMSG_CNG_IMPORT_CONTENT_ENCRYPT_KEY Eine CNG Objektbezeichner (OID) installierbaren Funktion für den Import eines bereits entschlüsselten Inhaltsverschlüsselungsschlüssels (CEK).
PFN_CMSG_CNG_IMPORT_KEY_AGREE Importiert einen Inhaltsverschlüsselungsschlüssel für einen Schlüsseltransportempfänger einer umschlagierten Nachricht.
PFN_CMSG_CNG_IMPORT_KEY_TRANS Eine installierbare CNG-OID-Funktion zum Importieren und Entschlüsselung eines Schlüsseltransportempfängers, verschlüsselter Inhalt Verschlüsselung Schlüssel (CEK).
PFN_CMSG_EXPORT_KEY_AGREE Verschlüsselt und exportiert den Inhaltsverschlüsselungsschlüssel für einen Schlüsselvereinbarungsempfänger einer umschlagierten Nachricht.
PFN_CMSG_EXPORT_KEY_TRANS Verschlüsselt und exportiert den Inhaltsverschlüsselungsschlüssel für einen Schlüsseltransportempfänger einer umschlagierten Nachricht.
PFN_CMSG_EXPORT_MAIL_LIST Verschlüsselt und exportiert den Inhaltsverschlüsselungsschlüssel für einen Adresslistenempfänger einer umschlagierten Nachricht.
PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY Generiert den symmetrischen Schlüssel, der zum Verschlüsseln von Inhalten für eine umschlägete Nachricht verwendet wird.
PFN_CMSG_IMPORT_KEY_AGREE Importiert einen Inhaltsverschlüsselungsschlüssel für einen Schlüsseltransportempfänger einer umschlagierten Nachricht.
PFN_CMSG_IMPORT_KEY_TRANS Importiert einen Inhaltsverschlüsselungsschlüssel für einen Schlüsseltransportempfänger einer umschlagierten Nachricht.
PFN_CMSG_IMPORT_MAIL_LIST Importiert einen Inhaltsverschlüsselungsschlüssel für einen Schlüsseltransportempfänger einer umschlagierten Nachricht.
PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC Wird von CryptExportPublicKeyInfoEx aufgerufen, um einen öffentlichen Schlüssel-BLOB zu exportieren und zu codieren.
PFN_CRYPT_EXTRACT_ENCODED_SIGNATURE_PARAMETERS_FUNC Wird aufgerufen, um den Hashalgorithmusbezeichner und optional die Signaturparameter zurückzugeben.
PFN_CRYPT_SIGN_AND_ENCODE_HASH_FUNC Wird aufgerufen, um einen berechneten Hash zu signieren und zu codieren.
PFN_CRYPT_VERIFY_ENCODED_SIGNATURE_FUNC Wird aufgerufen, um eine codierte Signatur zu entschlüsseln und sie mit einem berechneten Hash zu vergleichen.
PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC Wird von CryptImportPublicKeyInfoEx2 aufgerufen, um den Öffentlichen Schlüsselalgorithmus Bezeichner zu decodieren, den Algorithmusanbieter zu laden und das Schlüsselpaarzu importieren.
PFNCCERTDISPLAYPROC Eine benutzerdefinierte Rückruffunktion, die es dem Aufrufer der CryptUIDlgSelectCertificate-Funktion ermöglicht, die Anzeige von Zertifikaten zu verarbeiten, die der Benutzer zum Anzeigen auswählt.
PFNCMFILTERPROC- Filtert jedes Zertifikat, um zu entscheiden, ob es im Dialogfeld für die Zertifikatauswahl angezeigt wird, das von der CertSelectCertificate-Funktion angezeigt wird.
PFNCMHOOKPROC- Wird aufgerufen, bevor Nachrichten vom Dialogfeld für die Zertifikatauswahl verarbeitet werden, das von der CertSelectCertificate-Funktion erstellt wird.

 

Katalogdefinitionsfunktionen

Diese Funktionen werden verwendet, um einen Katalog zu erstellen. Alle diese Funktionen werden von MakeCat-aufgerufen.

Funktion Beschreibung
CryptCATCDFClose Schließt eine Katalogdefinitionsdatei und gibt den Speicher für die entsprechende CRYPTCATCDF- Struktur frei.
CryptCATCDFEnumAttributesWithCDFTag Listet die Attribute von Memberdateien im CatalogFiles Abschnitt eines CDF auf.
CryptCATCDFEnumCatAttributes Listet Attribute auf Katalogebene im CatalogHeader- Abschnitt eines CDF auf.
CryptCATCDFEnumMembersByCDFTagEx- Listet die einzelnen Dateimember im CatalogFiles Abschnitt eines CDF auf.
CryptCATCDFOpen Öffnet ein vorhandenes CDF zum Lesen und Initialisieren einer CRYPTCATCDF- Struktur.

 

Katalogfunktionen

Diese Funktionen werden zum Verwalten eines Katalogs verwendet.

Funktion Beschreibung
CryptCATAdminAcquireContext Erwirbt ein Handle für einen Katalogadministratorkontext. Dieses Handle kann von nachfolgenden Aufrufen des CryptCATAdminAddCatalog, CryptCATAdminEnumCatalogFromHashund CryptCATAdminRemoveCatalog-Funktionen verwendet werden.
CryptCATAdminAcquireContext2 Erwirbt ein Handle für einen Katalogadministratorkontext für einen bestimmten Hashalgorithmus und eine Hashrichtlinie.
CryptCATAdminAddCatalog Fügt der Katalogdatenbank einen Katalog hinzu.
CryptCATAdminCalcHashFromFileHandle Berechnet den Hash für eine Datei.
CryptCATAdminCalcHashFromFileHandle2 Berechnet den Hash für eine Datei mithilfe des angegebenen Algorithmus.
CryptCATAdminEnumCatalogFromHash Listet die Kataloge auf, die einen angegebenen Hash enthalten.
CryptCATAdminReleaseCatalogContext Gibt ein Handle für einen Katalogkontext frei, der zuvor von der CryptCATAdminAddCatalog-Funktion zurückgegeben wurde.
CryptCATAdminReleaseContext Gibt das zuvor vom CryptCATAdminAcquireContext Funktion zugewiesene Handle frei.
CryptCATAdminRemoveCatalog Löscht eine Katalogdatei und entfernt den Eintrag dieses Katalogs aus der Windows-Katalogdatenbank.
CryptCATAdminResolveCatalogPath Ruft den vollqualifizierten Pfad des angegebenen Katalogs ab.
CryptCATCatalogInfoFromContext- Ruft Kataloginformationen aus einem angegebenen Katalogkontext ab.
CryptCATClose Schließt ein zuvor von der CryptCATOpen Funktion geöffnetes Kataloghandle.
CryptCATEnumerateAttr Listet die Attribute auf, die einem Mitglied eines Katalogs zugeordnet sind.
CryptCATEnumerateCatAttr Listet die Attribute auf, die einem Katalog zugeordnet sind.
CryptCATEnumerateMember Listet die Mitglieder eines Katalogs auf.
CryptCATGetAttrInfo Ruft Informationen zu einem Attribut eines Elements eines Katalogs ab.
CryptCATGetMemberInfo Ruft Memberinformationen aus dem PKCS #7 des Katalogs ab. Zusätzlich zum Abrufen der Memberinformationen für ein angegebenes Referenztag öffnet diese Funktion einen Memberkontext.
CryptCATOpen Öffnet einen Katalog und gibt ein Kontexthandle für den geöffneten Katalog zurück.
IsCatalogFile- Ruft einen booleschen Wert ab, der angibt, ob es sich bei der angegebenen Datei um eine Katalogdatei handelt.

 

WinTrust-Funktionen

Die folgenden Funktionen werden verwendet, um verschiedene Vertrauensvorgänge auszuführen.

Funktion Beschreibung
WintrustAddActionID- Fügt dem System des Benutzers eine Vertrauensanbieteraktion hinzu.
WintrustGetRegPolicyFlags- Ruft Richtlinienkennzeichnungen für einen Richtlinienanbieter ab.
WintrustAddDefaultForUsage Gibt die Standard-Verwendungs-ID und Rückrufinformationen für einen Anbieter an.
WintrustGetDefaultForUsage Ruft die Standardmäßige Verwendungs-ID und Rückrufinformationen ab.
WintrustLoadFunctionPointers Lädt Einstiegspunkte für eine angegebene Aktions-GUID.
WintrustRemoveActionID Entfernt eine Aktion, die von der WintrustAddActionID-Funktion hinzugefügt wird.
WintrustSetDefaultIncludePEPageHashes Legt die Standardeinstellung fest, die bestimmt, ob Seitenhashes beim Erstellen indirekter SIP-Daten (Subject Interface Package) für tragbare ausführbare Dateien enthalten sind.
WintrustSetRegPolicyFlags Legt Richtlinienkennzeichnungen für einen Richtlinienanbieter fest.
WinVerifyTrust- Führt eine Vertrauensüberprüfungsaktion für ein angegebenes Objekt aus.
WinVerifyTrustEx- Führt eine Vertrauensüberprüfungsaktion für ein angegebenes Objekt aus und führt einen Zeiger auf eine WINTRUST_DATA Struktur aus.
WTHelperCertCheckValidSignature Überprüft, ob eine Signatur gültig ist.
WTHelperCertFindIssuerCertificate Sucht ein Ausstellerzertifikat aus den angegebenen Zertifikatspeichern, die dem angegebenen Antragstellerzertifikat entsprechen.
WTHelperCertIsSelfSigned Überprüft, ob ein Zertifikat selbstsigniert ist.
WTHelperGetFileHash Überprüft die Signatur einer signierten Datei und ruft den Hashwert und den Algorithmusbezeichner für die Datei ab.
WTHelperGetProvCertFromChain Ruft ein Vertrauensanbieterzertifikat aus der Zertifikatkette ab.
WTHelperGetProvPrivateDataFromChain- Empfängt eine CRYPT_PROVIDER_PRIVDATA Struktur aus der Kette mithilfe der Anbieter-ID.
WTHelperGetProvSignerFromChain Ruft einen Signierer oder Countersigner nach Index aus der Kette ab.
WTHelperProvDataFromStateData Ruft Vertrauensanbieterinformationen aus einem angegebenen Handle ab.

 

Objekt-Locator-Funktionen

Die folgenden Rückruffunktionen können von einem benutzerdefinierten Anbieter implementiert werden, der vom Sicherheitspaket Secure Channel (Schannel) aufgerufen werden soll, um Zertifikate abzurufen.

Funktion Beschreibung
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FLUSH Gibt an, dass ein Objekt geändert wurde.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_GET Ruft ein Objekt ab.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_RELEASE Gibt den Anbieter frei.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_PASSWORD Gibt das Kennwort zum Verschlüsseln eines PFX-Bytearrays frei.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE Gibt das vom Anbieter zurückgegebene Objekt frei.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER Gibt Speicher für einen Objektbezeichner frei.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE Initialisiert den Anbieter.