Kryptografiefunktionen
Kryptografiefunktionen werden nach Verwendung wie folgt kategorisiert:
- CryptXML-Funktionen
- Signierfunktionen
- Basiskryptografiefunktionen
- Funktionen für Zertifikat- und Zertifikatspeicher
- MakeCert-Funktionen
-
von Zertifikatüberprüfungsfunktionen
- Überprüfungsfunktionen mithilfe von CTLs
- von Zertifikatkettenüberprüfungsfunktionen
- Nachrichtenfunktionen
- Hilfsfunktionen
- Sicherungs- und Wiederherstellungsfunktionen von Zertifikatdiensten
- Rückruffunktionen
- Katalogdefinitionsfunktionen
- Katalogfunktionen
- WinTrust-Funktionen
- Object Locator-Funktionen
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:
- CryptEncodeObject-
- CryptEncodeObjectEx-
- CryptDecodeObject-
- CryptDecodeObjectEx-
- CertVerifyRevocation
- CertOpenStore-
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. |