Kryptografiefunktionen
Kryptografiefunktionen werden wie folgt nach Verwendung kategorisiert:
- CryptXML-Funktionen
- Signerfunktionen
- Basiskryptografiefunktionen
- Zertifikat- und Zertifikatspeicherfunktionen
- MakeCert-Funktionen
- Zertifikatüberprüfungsfunktionen
- Nachrichtenfunktionen
- Zusatzfunktionen
- Sicherungs- und Wiederherstellungsfunktionen für Zertifikatdienste
- Rückruffunktionen
- Katalogdefinitionsfunktionen
- Katalogfunktionen
- WinTrust-Funktionen
- Objektlocatorfunktionen
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:
- 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 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. |