Kryptografiefunktionen

Kryptografiefunktionen werden wie folgt nach Verwendung kategorisiert:

CryptXML-Funktionen

Die kryptografischen XML-Funktionen bieten eine API zum Erstellen und Darstellen digitaler Signaturen mithilfe von XML-formatierten Daten. 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 von der MD5Update-Funktion eingegebenen Daten.
A_SHAInit Initiiert das Hashing eines Datenstroms.
A_SHAUpdate Fügt einem angegebenen Hashobjekt Daten hinzu.
CryptXmlCreateReference Erstellt einen Verweis auf eine XML-Signatur.
CryptXmlAddObject Fügt das Object-Element der Signatur im Dokumentkontext hinzu, der für die Codierung geöffnet wird.
CryptXmlClose Schließt ein kryptografisches XML-Objekthandle.
CryptXmlDigestReference Wird von einer Anwendung verwendet, um den aufgelösten Verweis zu verarbeiten. Diese Funktion wendet Transformationen an, bevor der Digest aktualisiert wird.
CryptXmlDllCloseDigest Gibt die von der CryptXmlDllCreateDigest-Funktion zugewiesene CRYPT_XML_DIGEST frei.
CryptXmlDllCreateDigest Erstellt ein Digestobjekt für die angegebene Methode.
CryptXmlDllCreateKey Analysiert das KeyValue-Element und erstellt ein Kryptografie-API der nächsten Generation (CNG) BCrypt-Schlüsselhandle, um eine Signatur zu überprüfen.
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 kryptografischen Erweiterungsfunktionen 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 dokumentspezifischen Kontext zurück, der vom angegebenen Handle angegeben wird.
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 status Informationen zu dem vom angegebenen Handle angegebenen Objekt enthält.
CryptXmlGetTransforms Gibt Informationen zur Standardmäßigen Transformationsketten-Engine zurück.
CryptXmlImportPublicKey Importiert den öffentlichen Schlüssel, der vom angegebenen Handle angegeben wird.
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 Funktion CryptXmlClose 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 mindestens ein Signaturelement enthalten.
CryptXmlSetHMACSecret Legt das HMAC-Geheimnis auf dem Handle fest, bevor die Funktion CryptXmlSign oder CryptXmlVerify aufgerufen wird .
CryptXmlSign Erstellt eine kryptografische Signatur eines SignedInfo-Elements .
CryptXmlVerifySignature Führt eine kryptografische Signaturüberprüfung eines SignedInfo-Elements durch.
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.

 

Signerfunktionen

Stellt Funktionen zum Signieren und Zeitstempeldaten bereit.

Funktion BESCHREIBUNG
SignerFreeSignerContext Gibt eine SIGNER_CONTEXT-Struktur frei, die durch einen vorherigen Aufruf der SignerSignEx-Funktion zugewiesen wurde.
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 Zeichen und Zeitstempel für die angegebene Datei, sodass mehrere geschachtelte Signaturen zugelassen werden können.
SignerTimeStamp Zeitstempel des angegebenen Betreffs. Diese Funktion unterstützt Authenticode-Zeitstempel. Verwenden Sie die Funktion SignerTimeStampEx2 , um den Zeitstempel für die X.509 Public Key Infrastructure (RFC 3161) auszuführen.
SignerTimeStampEx Zeitstempelt den angegebenen Betreff und gibt optional einen Zeiger auf eine SIGNER_CONTEXT Struktur zurück, die einen Zeiger auf ein BLOB enthält. Diese Funktion unterstützt Authenticode-Zeitstempel. Verwenden Sie die Funktion SignerTimeStampEx2 , um den Zeitstempel für die X.509 Public Key Infrastructure (RFC 3161) auszuführen.
SignerTimeStampEx2 Zeitstempelt den angegebenen Betreff und gibt optional einen Zeiger auf eine SIGNER_CONTEXT Struktur zurück, die einen Zeiger auf ein BLOB enthält. Diese Funktion kann verwendet werden, um X.509 Public Key Infrastructure, RFC 3161-konform, Zeitstempel auszuführen.
SignerTimeStampEx3 Zeitstempel für den angegebenen Betreff und unterstützt das Festlegen von Zeitstempeln für mehrere Signaturen.

 

Basiskryptografiefunktionen

Kryptografie-Basisfunktionen bieten die flexibelste Möglichkeit zum Entwickeln von Kryptografieanwendungen. Die gesamte Kommunikation mit einem Kryptografiedienstanbieter (CSP ) erfolgt über diese Funktionen.

Ein CSP ist ein unabhängiges Modul, das alle kryptografischen Vorgänge ausführt. Für jede Anwendung, die kryptografische Funktionen verwendet, ist mindestens ein CSP erforderlich. Eine einzelne Anwendung kann gelegentlich mehr als einen CSP verwenden.

Wenn mehr als ein CSP verwendet wird, kann der zu verwendende CSP in den Kryptografiefunktionsaufrufen cryptoAPI angegeben werden. Ein CSP, der Microsoft-Basis-Kryptografieanbieter, ist mit der CryptoAPI gebündelt. Dieser CSP wird von vielen 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 kryptografische Algorithmen; 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 privaten Signaturschlüssels des Benutzers ausgeführt werden.

Kryptografie-Basisfunktionen befinden sich in den folgenden allgemeinen 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 eine Verbindung mit einem Kryptografiedienstanbieter (Kryptografiedienstanbieter , CSP) herzustellen und zu trennen.

Funktion BESCHREIBUNG
CryptAcquireContext Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Ruft ein Handle für den Schlüsselcontainer des aktuellen Benutzers innerhalb eines bestimmten CSP ab.
CryptContextAddRef Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Erhöht die Verweisanzahl für ein HCRYPTPROV-Handle .
CryptEnumProviders Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Listet die Anbieter auf einem Computer auf.
CryptEnumProviderTypes Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Listet die Typen von Anbietern auf, die auf dem Computer unterstützt werden.
CryptGetDefaultProvider Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases 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 von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases 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 von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Installiert einen zuvor erworbenen HCRYPTPROV-Kontext , der als Standardkontext verwendet wird.
CryptReleaseContext Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Gibt das handle frei, das von der CryptAcquireContext-Funktion abgerufen wurde.
CryptSetProvider und CryptSetProviderEx Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases 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 von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Gibt Attribute eines CSP an.
CryptUninstallDefaultContext Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Entfernt einen Standardkontext, der zuvor von CryptInstallDefaultContext installiert wurde.
FreeCryptProvFromCertEx Gibt das Handle entweder für einen Kryptografiedienstanbieter (Cryptographic Service Provider , CSP) oder für einen Kryptografie-API-Schlüssel der nächsten Generation (CNG) frei.

 

Schlüsselgenerierung und Exchange-Funktionen

Schlüsselgenerierungs- und Austauschfunktionen tauschen Schlüssel mit anderen Benutzern aus und erstellen, konfigurieren und zerstören kryptografische Schlüssel.

Funktion BESCHREIBUNG
CryptDeriveKey Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Erstellt einen Schlüssel, der von einem Kennwort abgeleitet ist.
CryptDestroyKey Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Zerstört einen Schlüssel.
CryptDuplicateKey Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Erstellt eine exakte 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 von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Überträgt einen Schlüssel vom CSP in ein Schlüsselblob im Arbeitsspeicher der Anwendung.
CryptGenKey Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Erstellt einen zufälligen Schlüssel.
CryptGenRandom Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Generiert zufällige Daten.
CryptGetKeyParam Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Ruft die Parameter eines Schlüssels ab.
CryptGetUserKey Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases 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 von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Überträgt einen Schlüssel aus einem Schlüsselblob an einen CSP.
CryptSetKeyParam Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Gibt die Parameter eines Schlüssels an.

 

Objektcodierungs- und Decodierungsfunktionen

Hierbei handelt es sich um generalisierte Codierungs- und Decodierungsfunktionen. Sie werden zum Codieren und Decodieren von Zertifikaten, Zertifikatsperrlisten , Zertifikatanforderungen und Zertifikaterweiterungen verwendet.

Funktion BESCHREIBUNG
CryptDecodeObject Decodiert eine Struktur vom Typ lpszStructType.
CryptDecodeObjectEx Decodiert eine Struktur vom Typ lpszStructType. CryptDecodeObjectEx unterstützt die Speicherbelegungsoption mit einem Durchlauf.
CryptEncodeObject Codiert eine Struktur vom Typ lpszStructType.
CryptEncodeObjectEx Codiert eine Struktur vom Typ lpszStructType. CryptEncodeObjectEx unterstützt die Speicherbelegungsoption mit einem Durchlauf.

 

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. Dies erfolgt mithilfe der Funktion CryptGenKey, CryptDeriveKey oder CryptImportKey . Der Verschlüsselungsalgorithmus wird angegeben, wenn der Schlüssel erstellt wird. CryptSetKeyParam kann zusätzliche Verschlüsselungsparameter festlegen.

Funktion BESCHREIBUNG
CryptDecrypt Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Entschlüsselt einen Abschnitt des Verschlüsselungstexts mithilfe des angegebenen Verschlüsselungsschlüssels.
CryptEncrypt Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Verschlüsselt einen Abschnitt von Klartext mithilfe des angegebenen Verschlüsselungsschlüssels.
CryptProtectData Führt die Verschlüsselung der Daten in einer DATA_BLOB-Struktur durch.
CryptProtectMemory Verschlüsselt Arbeitsspeicher zum Schutz vertraulicher Informationen.
CryptUnprotectData Führt eine Entschlüsselungs- und Integritätsprüfung der Daten in einem DATA_BLOB durch.
CryptUnprotectMemory Entschlüsselt Arbeitsspeicher, der mit CryptProtectMemory verschlüsselt wurde.

 

Hash- und Digitale Signaturfunktionen

Diese Funktionen berechnen Datenhashes und erstellen und überprüfen auch digitale Signaturen. Hashes werden auch als Nachrichten digests bezeichnet.

Funktion BESCHREIBUNG
CryptCreateHash Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Erstellt ein leeres Hashobjekt.
CryptDestroyHash Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases 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 von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases 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 von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Hasht einen Sitzungsschlüssel und fügt ihn dem angegebenen Hashobjekt hinzu.
CryptSetHashParam Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Legt einen Hashobjektparameter fest.
CryptSignHash Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases 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 von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Überprüft eine digitale Signatur mit einem Handle für das Hashobjekt.
PFNCFILTERPROC Filtert die Zertifikate, die im Assistenten für digitale Signaturen angezeigt werden, der von der Funktion CryptUIWizDigitalSign angezeigt wird.

 

Zertifikat- und Zertifikatspeicherfunktionen

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

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

Zertifikatspeicherfunktionen

Eine Benutzerwebsite kann im Laufe der Zeit viele Zertifikate sammeln. In der Regel verfügt ein Standort über Zertifikate für den Benutzer der Website sowie über andere Zertifikate, die 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 von Zertifikaten überprüft werden, die einen Trailback zu einem vertrauenswürdigen Stammzertifikat bereitstellt. Zertifikatspeicher und die 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 es einen Unterschied zwischen dem Inhalt eines zwischengespeicherten Speichers und dem Inhalt des Speichers gibt, der im Speicher beibehalten wird. Es bietet auch eine Desynchronisierung des zwischengespeicherten Speichers, falls erforderlich, und bietet eine Möglichkeit, Änderungen, die im zwischengespeicherten Speicher vorgenommen wurden, in persistenten Speicher zu commiten.
CertDuplicateStore Dupliziert ein Speicherhandle, indem die Verweisanzahl erhöht wird.
CertEnumPhysicalStore Listet die physischen Speicher für einen angegebenen Systemspeicher auf.
CertEnumSystemStore Listet alle verfügbaren Systemspeicher auf.
CertEnumSystemStoreLocation Listet alle Standorte 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 Sammlung des Registrierungssystemspeichers 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 bereit, der ein Zertifikat, eine Zertifikatvertrauensliste (Certificate Trust List, CTL), eine Zertifikatsperrliste (Certificate Revocation List, CRL) oder einen Zertifikatspeicher exportiert.
CryptUIWizImport Stellt einen Assistenten bereit, 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 stellt eine Reihe allgemeiner Wartungsfunktionen für Zertifikate und Zertifikatspeicher bereit.

Funktion BESCHREIBUNG
CertAddSerializedElementToStore Fügt dem Speicher das serialisierte Zertifikat oder 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 Zertifikatfunktionen verfügen über verwandte Funktionen, um CRLs und CTLs zu behandeln. Weitere Informationen zu zugehörigen Zertifikatsperrlisten- und CTL-Funktionen finden Sie unter Zertifikatsperrlistenfunktionen und Listenfunktionen für Zertifikatvertrauenslisten.

Funktion Beschreibung
CertAddCertificateContextToStore Fügt dem Zertifikatspeicher einen Zertifikatkontext hinzu.
CertAddCertificateLinkToStore Fügt einen Link in einem Zertifikatspeicher zu einem Zertifikatkontext in einem anderen Speicher hinzu.
CertAddEncodedCertificateToStore Konvertiert das codierte Zertifikat in einen Zertifikatkontext und fügt den Kontext dann dem Zertifikatspeicher hinzu.
CertAddRefServerOcspResponse Erhöht die Verweisanzahl für ein HCERT_SERVER_OCSP_RESPONSE Handle.
CertAddRefServerOcspResponseContext Erhöht die Verweisanzahl für eine CERT_SERVER_OCSP_RESPONSE_CONTEXT-Struktur .
CertCloseServerOcspResponse Schließt ein OCSP-Antworthandle (Online certificate status Protocol).
CertCreateCertificateContext Erstellt einen Zertifikatkontext aus einem codierten Zertifikat. Der erstellte Kontext wird nicht in einen Zertifikatspeicher eingefügt.
CertCreateSelfSignCertificate Erstellen eines selbstsignierten Zertifikats
CertDeleteCertificateFromStore Löscht ein Zertifikat aus dem Zertifikatspeicher.
CertDuplicateCertificateContext Dupliziert einen Zertifikatkontext, indem die Verweisanzahl erhö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 Zertifikats ab.
CertGetServerOcspResponseContext Ruft einen nicht blockierenden, zeit gültigen Onlinezertifikat-status-Protokoll-Antwortkontext (OCSP) für das angegebene Handle ab.
CertGetSubjectCertificateFromStore Ruft aus dem Zertifikatspeicher den Zertifikatkontext des Antragstellers ab, der durch den Aussteller und die Seriennummer eindeutig identifiziert wird.
CertGetValidUsages Gibt ein Array von Verwendungen zurück, das aus der Schnittmenge der gültigen Verwendungen für alle Zertifikate in einem Array von Zertifikaten besteht.
CertOpenServerOcspResponse Öffnet ein Handle für ein Onlinezertifikat status Protokollantwort (OCSP), die einer Serverzertifikatkette zugeordnet ist.
CertRetrieveLogoOrBiometricInfo Führt einen URL-Abruf von Logo oder biometrischen Informationen aus, die in der szOID_LOGOTYPE_EXT - oder szOID_BIOMETRIC_EXT Zertifikaterweiterung angegeben sind.
CertSelectCertificate Zeigt ein Dialogfeld an, 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 Zertifikatblobs 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 angegebenen Speicher ermöglicht.
CryptUIDlgViewCertificate Zeigt ein Dialogfeld an, in dem ein angegebenes Zertifikat angezeigt wird.
CryptUIDlgViewContext Zeigt ein Zertifikat, eine Zertifikatsperrliste oder eine Zertifikatsperrliste an.
CryptUIDlgViewSignerInfo Zeigt ein Dialogfeld an, das die Signiererinformationen 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.

 

Zertifikatsperrlistenfunktionen

Diese Funktionen verwalten das Speichern und Abrufen von Zertifikatsperrlisten (Certificate Revocation Lists , CRLs).

Funktion BESCHREIBUNG
CertAddCRLContextToStore Fügt dem Zertifikatspeicher einen CRL-Kontext hinzu.
CertAddCRLLinkToStore Fügt einem CRL-Kontext in einem anderen Speicher einen Link in einem Speicher hinzu.
CertAddEncodedCRLToStore Konvertiert die codierte Zertifikatsperrliste in einen CRL-Kontext und fügt den Kontext dann dem Zertifikatspeicher hinzu.
CertCreateCRLContext Erstellt einen CRL-Kontext aus einer codierten Zertifikatsperrliste. Der erstellte Kontext wird nicht in einen Zertifikatspeicher eingefügt.
CertDeleteCRLFromStore Löscht eine Zertifikatsperrliste aus dem Zertifikatspeicher.
CertDuplicateCRLContext Dupliziert einen CRL-Kontext, indem die Verweisanzahl erhöht wird.
CertEnumCRLsInStore Listet die CRL-Kontexte in einem Speicher auf.
CertFindCertificateInCRL Durchsucht die Zertifikatsperrliste (Certificate Revocation List , 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 Zertifikatsperrliste des CRL-Kontexts und deren Eigenschaften.

 

Listenfunktionen für Zertifikatvertrauensstellungen

Diese Funktionen verwalten das Speichern und Abrufen von Zertifikatvertrauenslisten (Certificate Trust Lists , CTLs).

Funktion Beschreibung
CertAddCTLContextToStore Fügt dem Zertifikatspeicher einen CTL-Kontext hinzu.
CertAddCTLLinkToStore Fügt einem CRL-Kontext in einem anderen Speicher einen Link in einem Speicher hinzu.
CertAddEncodedCTLToStore Konvertiert die codierte CTL in einen CTL-Kontext und fügt den Kontext dann dem Zertifikatspeicher hinzu.
CertCreateCTLContext Erstellt einen CTL-Kontext aus einer codierten Zertifikatvertrauensliste. Der erstellte Kontext wird nicht in einen Zertifikatspeicher eingefügt.
CertDeleteCTLFromStore Löscht eine CTL aus dem Zertifikatspeicher.
CertDuplicateCTLContext Dupliziert einen CTL-Kontext, indem die Verweisanzahl 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 den Satz von Zertifikaten in einer CTL für einen bestimmten Zweck.
CertSerializeCTLStoreElement Serialisiert die codierte CTL des CTL-Kontexts und deren Eigenschaften.

 

Erweiterte Eigenschaftenfunktionen

Die folgenden Funktionen arbeiten mit erweiterten Eigenschaften von Zertifikaten, Zertifikatsperrlisten 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 für einen Kryptografiedienstanbieter (Cryptographic Service Provider , 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 das Handle für 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 ab, der entweder auf einem Dateinamen des privaten Schlüssels oder einem Schlüsselcontainernamen basiert.
PvkPrivateKeyAcquireContextFromMemory Erstellt einen temporären Container im CSP und lädt einen privaten Schlüssel aus dem Arbeitsspeicher 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 von CTLs oder Zertifikatketten überprüft. Funktionen werden für beide bereitgestellt:

  • Überprüfungsfunktionen mithilfe von CTLs
  • Zertifikatkettenüberprüfungsfunktionen

Überprüfungsfunktionen mithilfe von CTLs

Diese Funktionen verwenden CTLs im Überprüfungsprozess. Weitere Funktionen zum Arbeiten mit CTLs finden Sie unter Listenfunktionen für Zertifikatvertrauenslisten und Funktionen für erweiterte Eigenschaften.

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 sie.
CryptMsgSignCTL Signiert eine Nachricht, die eine CTL enthält.

 

Zertifikatkettenüberprüfungsfunktionen

Zertifikatketten werden erstellt, um Vertrauensinformationen zu einzelnen Zertifikaten bereitzustellen.

Funktionsname BESCHREIBUNG
CertCreateCertificateChainEngine Erstellt eine neue, nicht standardmäßige Ketten-Engine für eine Anwendung.
CertCreateCTLEntryFromCertificateContextProperties Erstellt einen CTL-Eintrag, dessen Attribute die Eigenschaften des Zertifikatkontexts sind.
CertDuplicateCertificateChain Dupliziert eine Zertifikatkette, indem die Verweisanzahl 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 Verweisanzahl reduziert wird.
CertFreeCertificateChainEngine Gibt eine nicht standardmäßige Zertifikatketten-Engine frei.
CertFreeCertificateChainList Gibt das Array von Zeigern in Verkettungskontexte frei.
CertGetCertificateChain Erstellt einen Kettenkontext, der von einem Endzertifikat beginnt und nach Möglichkeit zu einem vertrauenswürdigen Stammzertifikat zurückkehrt.
CertIsValidCRLForCertificate Überprüft eine Zertifikatsperrliste , um zu ermitteln, ob sie 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 Gruppen von Funktionen: 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 PKCS #7 empfangene Daten. Außerdem entschlüsseln und überprüfen sie die Signaturen empfangener Nachrichten. Eine Übersicht über 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 und Zertifikatfunktionen auf niedriger Ebene in einzelne Funktionen, die eine bestimmte Aufgabe auf bestimmte Weise ausführen. Diese Funktionen reduzieren die Anzahl von Funktionsaufrufen, die zum Ausführen einer Aufgabe erforderlich sind, und vereinfachen die Verwendung von CryptoAPI. Eine Übersicht über vereinfachte Nachrichten finden Sie unter Vereinfachte Nachrichten.

  • Nachrichtenfunktionen auf niedriger Ebene
  • Vereinfachte Nachrichtenfunktionen

Nachrichtenfunktionen auf niedriger Ebene

Nachrichtenfunktionen auf niedriger Ebene bieten die Funktionalität, 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 von vereinfachten Nachrichtenfunktionen bevorzugt, die mehrere Nachrichtenfunktionen auf niedriger Ebene in einen einzigen Funktionsaufruf umschließen.

Funktion BESCHREIBUNG
CryptMsgCalculateEncodedLength Berechnet die Länge einer codierten kryptografischen Nachricht.
CryptMsgClose Schließt ein Handle einer kryptografischen Nachricht.
CryptMsgControl Führt eine spezielle Steuerungsfunktion nach dem endgültigen CryptMsgUpdate einer codierten oder decodierten kryptografischen Nachricht aus.
CryptMsgCountersign Gegensigniert eine bereits vorhandene Signatur in einer Nachricht.
CryptMsgCountersignEncoded Gegensigniert eine bereits vorhandene Signatur (codierte SignerInfo, wie von PKCS #7 definiert).
CryptMsgDuplicate Dupliziert ein kryptografisches Nachrichtenhandle, indem die Verweisanzahl erhöht wird. Die Verweisanzahl verfolgt die Lebensdauer der Nachricht.
CryptMsgGetParam Ruft einen Parameter nach dem Codieren oder Decodieren einer kryptografischen Nachricht ab.
CryptMsgOpenToDecode Öffnet eine kryptografische Nachricht zum Decodieren.
CryptMsgOpenToEncode Öffnet eine kryptografische Nachricht für die Codierung.
CryptMsgUpdate Updates den Inhalt einer kryptografischen Nachricht.
CryptMsgVerifyCountersignatureEncoded Überprüft eine Gegensignatur in Bezug auf die SignerInfo-Struktur (gemäß PKCS #7).
CryptMsgVerifyCountersignatureEncodedEx Überprüft, ob der pbSignerInfoCounterSignature-Parameter den verschlüsseltenHash des Felds encryptedDigest der PbSignerInfo-Parameterstruktur enthält.

 

Vereinfachte Nachrichtenfunktionen

Vereinfachte Nachrichtenfunktionen umschließen Nachrichtenfunktionen auf niedriger Ebene in eine einzelne Funktion, um eine angegebene Aufgabe zu erfüllen.

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 oder die Empfänger.
CryptGetMessageCertificates Gibt den Zertifikatspeicher zurück, der die Zertifikate und CRLs der Nachricht enthält.
CryptGetMessageSignerCount Gibt die Anzahl der Unterzeichner in der signierten Nachricht zurück.
CryptHashMessage Erstellt einen Hash der Nachricht.
CryptSignAndEncryptMessage Signiert die Nachricht und verschlüsselt sie dann für den oder die 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 Informationen zum öffentlichen Schlüssel.

 

Zusatzfunktionen

Die Hilfsfunktionen sind wie folgt gruppiert:

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

Datenverwaltung-Funktionen

Die folgenden CryptoAPI-Funktionen verwalten Daten und Zertifikate.

Funktion Beschreibung
CertCompareCertificate Vergleicht zwei Zertifikate, um zu ermitteln, ob sie identisch sind.
CertCompareCertificateName Vergleicht zwei Zertifikatnamen, um zu ermitteln, ob sie identisch sind.
CertCompareIntegerBlob Vergleicht zwei ganzzahlige BLOBs.
CertComparePublicKeyInfo Vergleicht zwei öffentliche Schlüssel , um zu ermitteln, ob sie identisch sind.
CertFindAttribute Sucht das erste Attribut, das durch seinen Objektbezeichner (Object Identifier, OID) identifiziert wird.
CertFindExtension Sucht die erste Erweiterung, die durch ihre OID identifiziert wurde.
CertFindRDNAttr Sucht das erste RDN-Attribut , das von seiner OID in der Namensliste der Relativen Distinguished Names identifiziert wird.
CertGetIntendedKeyUsage Ruft die beabsichtigten Schlüsselverwendungsbytes aus dem Zertifikat ab.
CertGetPublicKeyLength Ruft die Bitlänge des öffentlichen/privaten Schlüssels aus dem BLOB des öffentlichen Schlüssels ab.
CertIsRDNAttrsInCertificateName Vergleicht die Attribute im Zertifikatnamen mit dem angegebenen CERT_RDN , um zu bestimmen, ob alle Attribute dort 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 das Antragstellerzertifikat nicht in der Zertifikatsperrliste (Certificate Revocation List , CRL) enthalten ist.
CertVerifyCRLTimeValidity Überprüft die Gültigkeitsdauer einer Zertifikatsperrliste.
CertVerifyRevocation Überprüft, ob sich das Zertifikat des Antragstellers nicht in der Zertifikatsperrliste befindet.
CertVerifyTimeValidity Überprüft die Zeitgültigkeit eines Zertifikats.
CertVerifyValidityNesting Überprüft, ob die Zeitgültigkeit des Antragstellers innerhalb der Zeitgültigkeit 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 überschrieben wird.
CryptExportPublicKeyInfoFromBCryptKeyHandle Exportiert die Öffentlichen Schlüsselinformationen, die dem entsprechenden privaten Schlüssel eines Anbieters zugeordnet sind.
CryptFindCertificateKeyProvInfo Listet die Kryptografieanbieter 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. sucht den lokalisierten Namen für den Speichernamen des Stammsystems.
CryptHashCertificate Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollte mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Hashen des codierten Inhalts.
CryptHashCertificate2 Hashing eines Datenblocks mithilfe eines Kryptografie-API: Next Generation (CNG)-Hashanbieters.
CryptHashPublicKeyInfo Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollte mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Berechnet den Hash der codierten Informationen des öffentlichen Schlüssels.
CryptHashToBeSigned Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollte mit der Verwendung von 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 sollte mit der Verwendung von 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 Kryptografiedienstanbieter (CSP ).
CryptImportPublicKeyInfo Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollte mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Konvertiert und importiert Informationen zu öffentlichen Schlüsseln in den Anbieter und gibt ein Handle des öffentlichen Schlüssels zurück.
CryptImportPublicKeyInfoEx Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollte mit der Verwendung von 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 (gegenüber denen, die von CryptImportPublicKeyInfo angegeben werden), die verwendet werden können, um Standardwerte zu überschreiben, werden bereitgestellt, um CERT_PUBLIC_KEY_INFO zu ergänzen.
CryptImportPublicKeyInfoEx2 Importiert einen öffentlichen Schlüssel in einen asymmetrischen CNG-Anbieter.
CryptMemAlloc Ordnet Arbeitsspeicher für einen Puffer zu. Dieser Arbeitsspeicher wird von allen Crypt32.lib-Funktionen verwendet, die zugeordnete Puffer zurückgeben.
CryptMemFree Gibt Arbeitsspeicher frei, der von CryptMemAlloc oder CryptMemRealloc zugewiesen wurde.
CryptMemRealloc Gibt Arbeitsspeicher frei, der derzeit einem Puffer zugeordnet ist, und ordnet Arbeitsspeicher für einen neuen Puffer zu.
CryptQueryObject Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollte mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Versionen entfernen.
Ruft Informationen zum Inhalt eines BLOBs oder einer Datei ab.
CryptSignAndEncodeCertificate Codiert die zu signierenden Informationen, signiert diese codierten Informationen und codiert die resultierenden signierten, codierten Informationen.
CryptSignCertificate Signiert die "zu signierenden" 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 angegebenen SIP_SUBJECTINFO-Struktur , den Digestalgorithmus und ein Codierungsattribut 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 Dynamische Linkbibliothek, die ein Themenschnittstellenpaket implementiert, und weist einer SIP_DISPATCH_INFO-Struktur entsprechende Bibliotheksexportfunktionen zu.
CryptSIPPutSignedDataMsg Speichert eine Authenticode-Signatur in der Zieldatei.
CryptSIPRemoveProvider Entfernt ein SIP, das durch einen vorherigen Aufruf der CryptSIPAddProvider-Funktion hinzugefügt wurde.
CryptSIPRemoveSignedDataMsg Entfernt eine angegebene Authenticode-Signatur.
CryptSIPRetrieveSubjectGuid Ruft eine GUID basierend auf den Headerinformationen 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 Antragsteller.
CryptUpdateProtectedState Migriert die master Schlüssel des aktuellen Benutzers, nachdem sich die Sicherheits-ID (SID) des Benutzers geändert hat.
CryptVerifyCertificateSignature Überprüft die Signatur eines Antragstellerzertifikats oder einer Zertifikatsperrliste mithilfe der Öffentlichen Schlüsselinformationen.
CryptVerifyCertificateSignatureEx Eine erweiterte Version von CryptVerifyCertificateSignature.
GetEncSChannel Speichert den verschlüsselten Inhalt der Schannel-DLL im Arbeitsspeicher.
pCryptSIPGetCaps Wird von einem SIP implementiert, um Funktionen zu melden.

 

Datenkonvertierungsfunktionen

Die folgenden CryptoAPI-Funktionen konvertieren Zertifikatstrukturmember in verschiedene Formulare.

Funktion BESCHREIBUNG
CertAlgIdToOID Konvertiert einen CryptoAPI-Algorithmusbezeichner (ALG_ID) in eine ASN.1-Objektbezeichnerzeichenfolge (OID).
CertGetNameString Ruft den Antragsteller- oder Ausstellernamen aus einem Zertifikat ab und konvertiert ihn in eine Zeichenfolge mit NULL-Beendigung.
CertNameToStr Konvertiert ein Zertifikatnamen-BLOB in eine Zeichenfolge, die mit Null beendet wird.
CertOIDToAlgId Konvertiert die ASN.1-Objektbezeichnerzeichenfolge in den CSP-Algorithmusbezeichner.
CertRDNValueToStr Konvertiert einen Namenswert in eine Zeichenfolge mit NULL-Beendigung.
CertStrToName Konvertiert eine X.500-Zeichenfolge mit NULL-Termin 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ärsequenz.

 

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, die in einer Anwendung festgelegt werden können.

Funktion BESCHREIBUNG
CertAddEnhancedKeyUsageIdentifier Fügt der EKU-Eigenschaft eines Zertifikats einen Verwendungsbezeichner hinzu.
CertGetEnhancedKeyUsage Ruft aus einem Zertifikat Informationen zur EKU-Erweiterung oder -Eigenschaft ab.
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 dem Benutzer das Erstellen, Festlegen, Abrufen oder Suchen eines Schlüsselbezeichners oder seiner Eigenschaften.

Ein Schlüsselbezeichner ist der eindeutige Bezeichner eines öffentlichen/privaten Schlüsselpaars. Es kann sich um einen beliebigen eindeutigen Bezeichner sein, ist aber in der Regel der 20-Byte-SHA1-Hash 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 keine CRLs oder CTLs zugeordnet.

Ein Schlüsselbezeichner kann dieselben 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 von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Erstellt einen Schlüsselbezeichner aus dem BLOB für öffentlichen Schlüssel eines CSP.
CryptEnumKeyIdentifierProperties Listet Schlüsselbezeichner und deren Eigenschaften auf.
CryptGetKeyIdentifierProperty Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Ruft eine bestimmte Eigenschaft von einem angegebenen Schlüsselbezeichner ab.
CryptSetKeyIdentifierProperty Wichtig:
Diese API ist veraltet. Neue und vorhandene Software sollten mit der Verwendung von Kryptografie-APIs der nächsten Generation beginnen. Microsoft kann diese API in zukünftigen Releases entfernen.
Legt eine Eigenschaft eines angegebenen Schlüsselbezeichners fest.

 

OID-Unterstützungsfunktionen

Diese Funktionen bieten Unterstützung für Objektbezeichner (Object Identifier, OID). Diese Funktionen installieren, registrieren und an OID senden und typspezifische Funktionen codieren.

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 CryptGetDefaultOIDFunctionAddress inkrementiert und zurückgegeben wurde.
CryptGetDefaultOIDDllList Ruft die Liste der registrierten Standard-DLL-Einträge für den angegebenen Funktionssatz und den angegebenen Codierungstyp ab.
CryptGetDefaultOIDFunctionAddress Ruft entweder die erste oder die nächste installierte Standardfunktion ab oder lädt die 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 in der Registrierung nach einer Übereinstimmung gesucht.
CryptGetOIDFunctionValue Ruft den Wert für den angegebenen Codierungstyp, Funktionsnamen, OID und Wertnamen ab.
CryptInitOIDFunctionSet Initialisiert und gibt einen Handle des OID-Funktionssatzes zurück, der durch den angegebenen Funktionsnamen identifiziert wird.
CryptInstallOIDFunctionAddress Installiert eine Reihe von aufrufbaren 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 aufgerufene Funktion für den angegebenen Codierungstyp, Funktionsnamen und OID enthält.
CryptRegisterOIDInfo Registriert die in der CRYPT_OID_INFO-Struktur angegebenen OID-Informationen und speichert sie in der Registrierung.
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

Die folgenden Funktionen ermöglichen es dem Benutzer, ein PKI-Objekt (Public Key Infrastructure) abzurufen, die URL eines Zertifikats, einer CTL oder einer CRL abzurufen oder eine URL aus einem Objekt zu extrahieren.

Funktion BESCHREIBUNG
CryptGetObjectUrl Ruft die URL des Remoteobjekts aus einem Zertifikat, einer CTL oder einer Zertifikatsperrliste ab.
CryptRetrieveObjectByUrl Ruft das PKI-Objekt von einem Durch eine URL angegebenen Speicherort ab.

 

PFX-Funktionen

Die folgenden Funktionen unterstützen BLOBs im PfX-Format (Personal Information Exchange).

Funktion BESCHREIBUNG
PFXExportCertStore Bei Exporten aus dem Zertifikat , auf das verwiesen wird, werden die Zertifikate und, falls verfügbar, die zugeordneten privaten Schlüssel gespeichert.
PFXExportCertStoreEx Bei Exporten aus dem Zertifikat, auf das verwiesen wird, werden die Zertifikate und, falls verfügbar, die zugeordneten privaten Schlüssel gespeichert.
PFXImportCertStore Importiert ein PFX-BLOB und gibt das Handle eines Speichers zurück, der Zertifikate und alle zugeordneten privaten Schlüssel enthält.
PFXIsPFXBlob Versucht, die äußere Schicht eines BLOB als PFX-Paket zu decodieren.
PFXVerifyPassword Versucht, die äußere Schicht eines BLOB als PFX-Paket zu decodieren und mit dem angegebenen Kennwort zu entschlüsseln.

 

Sicherungs- und Wiederherstellungsfunktionen für Zertifikatdienste

Certificate Services umfasst Funktionen zum Sichern und Wiederherstellen der Zertifikatdienste-Datenbank. Diese Sicherungs- und Wiederherstellungsfunktionen für Zertifikatdienste sind in Certadm.dll enthalten. Im Gegensatz zu den anderen API-Elementen, die Zertifikatdiensten zugeordnet sind, werden diese Funktionen nicht in einem 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 von GetProcAddress ermittelt wird. Wenn Sie den Aufruf der Sicherungs- und Wiederherstellungsfunktionen der Zertifikatdienste abgeschlossen haben, rufen Sie FreeLibrary auf, um Certadm.dll Ressourcen aus dem Arbeitsspeicher zu befreien.

Hinweis

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.

Zum Aufrufen der Sicherungs- und Wiederherstellungsfunktionen müssen Sie über Sicherungs- und Wiederherstellungsberechtigungen verfügen. Ausführliche Informationen finden Sie unter Festlegen der Sicherungs- und Wiederherstellungsberechtigungen.

 

Hinweis

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

 

Die Certificate Services Backup-APIs sind in Certbcli.h definiert. Wenn Sie Ihr Programm erstellen, verwenden Sie jedoch Certsrv.h als Includedatei.

Die folgenden APIs werden von Certadm.dll exportiert.

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 der 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 von Zertifikatdiensten ab, die für den angegebenen Sicherungskontext gesichert werden müssen.
CertSrvBackupOpenFile Öffnet eine Datei zur Vorbereitung der 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 Certificate Services-Server online ist (aktiv ausgeführt).
CertSrvRestoreEnd Beendet eine Wiederherstellungssitzung.
CertSrvRestoreGetDatabaseLocations Ruft Datenbankspeicherorte ab (wird sowohl für Sicherungs- als auch für Wiederherstellungsszenarien verwendet).
CertSrvRestorePrepare Startet eine Wiederherstellungssitzung.
CertSrvRestoreRegister Registriert einen Wiederherstellungsvorgang.
CertSrvRestoreRegisterComplete Schließt einen zuvor registrierten Wiederherstellungsvorgang ab.
CertSrvRestoreRegisterThroughFile Registriert einen Wiederherstellungsvorgang.
CertSrvServerControl Sendet einen Steuerungsbefehl an die Zertifikatdienste-instance.

 

Rückruffunktionen

Die Rückruffunktionen in diesem Abschnitt werden verwendet, um anwendungsdefinierte Zertifikatspeicheranbieter 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-Funktionen Daten bearbeiten.

Rückruffunktion Zweck
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 von der CertEnumPhysicalStore-Funktion zum Formatieren und Darstellen von Informationen zu jedem gefundenen physischen Speicher verwendet wird.
CertEnumSystemStoreCallback Rückruffunktion, die von der CertEnumSystemStore-Funktion zum Formatieren und Darstellen von Informationen zu jedem gefundenen physischen Speicher verwendet wird.
CertEnumSystemStoreLocationCallback Rückruffunktion, die von der CertEnumSystemStoreLocation-Funktion zum Formatieren und Darstellen von Informationen zu jedem gefundenen physischen Speicher verwendet wird.
CertStoreProvCloseCallback Bestimmt, was geschieht, wenn die Verweisanzahl eines geöffneten Speichers 0 ist.
CertStoreProvControl Ermöglicht es einer Anwendung, benachrichtigt zu werden, wenn es einen Unterschied zwischen dem Inhalt eines zwischengespeicherten Speichers gibt, der verwendet wird, und dem Inhalt dieses Speichers, da er im Speicher beibehalten wird.
CertStoreProvDeleteCertCallback Bestimmt Aktionen, die ausgeführt werden müssen, bevor ein Zertifikat aus einem Zertifikatspeicher gelöscht wird.
CertStoreProvDeleteCRLCallback Bestimmt Aktionen, die ausgeführt werden müssen, bevor eine Zertifikatsperrliste (Certificate Revocation List , 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 Zertifikatsperrliste 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 Zertifikatsperrliste 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, falls vorhanden, einen neuen CTL-Kontext.
CertStoreProvSetCertPropertyCallback Bestimmt Aktionen, die vor einem Aufruf von CertSetCertificateContextProperty oder CertGetCertificateContextProperty ausgeführt werden sollen.
CertStoreProvSetCRLPropertyCallback Bestimmt Aktionen, die vor einem Aufruf von CertSetCRLContextProperty oder CertGetCRLContextProperty ausgefü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 Zertifikatsperrliste 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 CryptEnumKeyIdentifierProperties-Funktion verwendet wird.
CRYPT_ENUM_OID_FUNCTION Rückruffunktion, die von der CryptEnumOIDFunction-Funktion 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 beim Analysieren einer Katalogdefinitionsdatei (CDF) aufgerufen 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 installierbare CNG-Objektbezeichnerfunktion (OID) 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 umhüllten Nachricht.
PFN_CMSG_CNG_IMPORT_KEY_TRANS Eine installierbare CNG-OID-Funktion zum Importieren und Entschlüsseln eines Schlüssel-Transport-Empfängers, verschlüsselter Inhaltsverschlüsselungsschlüssel (CEK).
PFN_CMSG_EXPORT_KEY_AGREE Verschlüsselt und exportiert den Inhaltsverschlüsselungsschlüssel für einen Schlüsselvereinbarungsempfänger einer umhüllten Nachricht.
PFN_CMSG_EXPORT_KEY_TRANS Verschlüsselt und exportiert den Inhaltsverschlüsselungsschlüssel für einen Schlüsseltransportempfänger einer umhüllten Nachricht.
PFN_CMSG_EXPORT_MAIL_LIST Verschlüsselt und exportiert den Inhaltsverschlüsselungsschlüssel für einen Empfänger der Mailingliste einer umhüllten Nachricht.
PFN_CMSG_GEN_CONTENT_ENCRYPT_KEY Generiert den symmetrischen Schlüssel , der zum Verschlüsseln von Inhalten für eine umhüllte Nachricht verwendet wird.
PFN_CMSG_IMPORT_KEY_AGREE Importiert einen Inhaltsverschlüsselungsschlüssel für einen Schlüsseltransportempfänger einer umhüllten Nachricht.
PFN_CMSG_IMPORT_KEY_TRANS Importiert einen Inhaltsverschlüsselungsschlüssel für einen Schlüsseltransportempfänger einer umhüllten Nachricht.
PFN_CMSG_IMPORT_MAIL_LIST Importiert einen Inhaltsverschlüsselungsschlüssel für einen Schlüsseltransportempfänger einer umhüllten Nachricht.
PFN_CRYPT_EXPORT_PUBLIC_KEY_INFO_EX2_FUNC Wird von CryptExportPublicKeyInfoEx aufgerufen, um ein BLOB mit öffentlichem Schlüssel 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 mit einem berechneten Hash zu vergleichen.
PFN_IMPORT_PUBLIC_KEY_INFO_EX2_FUNC Wird von CryptImportPublicKeyInfoEx2 aufgerufen, um den Algorithmusbezeichner für öffentlichen Schlüssel zu decodieren, den Algorithmusanbieter zu laden und das Schlüsselpaar zu importieren.
PFNCCERTDISPLAYPROC Eine benutzerdefinierte Rückruffunktion, die es dem Aufrufer der CryptUIDlgSelectCertificate-Funktion ermöglicht, die Anzeige von Zertifikaten zu verarbeiten, die der Benutzer auswählt.
PFNCMFILTERPROC Filtert jedes Zertifikat, um zu entscheiden, ob es im Zertifikatauswahldialogfeld angezeigt wird, das von der CertSelectCertificate-Funktion angezeigt wird.
PFNCMHOOKPROC Wird aufgerufen, bevor Nachrichten durch das Zertifikatauswahldialogfeld verarbeitet werden, das von der CertSelectCertificate-Funktion erzeugt wird.

 

Katalogdefinitionsfunktionen

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

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

 

Katalogfunktionen

Diese Funktionen werden zum Verwalten eines Katalogs verwendet.

Funktion BESCHREIBUNG
CryptCATAdminAcquireContext Ruft ein Handle für einen Katalogadministratorkontext ab. Dieses Handle kann von nachfolgenden Aufrufen der Funktionen CryptCATAdminAddCatalog, CryptCATAdminEnumCatalogFromHash und CryptCATAdminRemoveCatalog verwendet werden.
CryptCATAdminAcquireContext2 Ruft ein Handle für einen Katalogadministratorkontext für einen bestimmten Hashalgorithmus und eine hash-Richtlinie ab.
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 handle frei, das zuvor von der CryptCATAdminAcquireContext-Funktion zugewiesen wurde.
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 Kataloghandle, das zuvor von der CryptCATOpen-Funktion geöffnet wurde.
CryptCATEnumerateAttr Listet die Attribute auf, die einem Element eines Katalogs zugeordnet sind.
CryptCATEnumerateCatAttr Listet die Attribute auf, die einem Katalog zugeordnet sind.
CryptCATEnumerateMember Listet die Member 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 Verweistag ö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 die angegebene Datei eine Katalogdatei ist.

 

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 Richtlinienflags für einen Richtlinienanbieter ab.
WintrustAddDefaultForUsage Gibt den Standardnutzungsbezeichner und die Rückrufinformationen für einen Anbieter an.
WintrustGetDefaultForUsage Ruft den Standardnutzungsbezeichner und Rückrufinformationen ab.
WintrustLoadFunctionPointers Lädt Funktionseinstiegspunkte für eine angegebene Aktions-GUID.
WintrustRemoveActionID Entfernt eine Aktion, die von der WintrustAddActionID-Funktion hinzugefügt wurde.
WintrustSetDefaultIncludePEPageHashes Legt die Standardeinstellung fest, die bestimmt, ob Seitenhashes beim Erstellen indirekter SIP-Daten (Subject Interface Package) für portable ausführbare Dateien eingeschlossen werden.
WintrustSetRegPolicyFlags Legt Richtlinienflags 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 verwendet einen Zeiger auf eine WINTRUST_DATA-Struktur.
WTHelperCertCheckValidSignature Überprüft, ob eine Signatur gültig ist.
WTHelperCertFindIssuerCertificate Sucht nach einem Ausstellerzertifikat aus den angegebenen Zertifikatspeichern, das dem angegebenen Antragstellerzertifikat entspricht.
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 Vertrauensstellungsanbieterzertifikat aus der Zertifikatkette ab.
WTHelperGetProvPrivateDataFromChain Empfängt mithilfe der Anbieter-ID eine CRYPT_PROVIDER_PRIVDATA-Struktur aus der Kette.
WTHelperGetProvSignerFromChain Ruft einen Signierer oder Einen Countersigner nach Index aus der Kette ab.
WTHelperProvDataFromStateData Ruft Informationen des Vertrauensanbieters aus einem angegebenen Handle ab.

 

Objektlocatorfunktionen

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 sich ein Objekt geändert hat.
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 frei, das zum Verschlüsseln eines PFX-Bytearrays verwendet wird.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE Gibt das vom Anbieter zurückgegebene Objekt frei.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_FREE_IDENTIFIER Gibt Arbeitsspeicher für einen Objektbezeichner frei.
PFN_CRYPT_OBJECT_LOCATOR_PROVIDER_INITIALIZE Initialisiert den Anbieter.