Verwenden von Schannel-CSPs

Die SSL-Protokoll-Engine (Schannel) verwendet einen Kryptografiedienstanbieter (Cryptographic Service Provider , CSP) bei kryptografischen Vorgängen. Kryptografische Anwendungen können CryptAcquireContext mithilfe der PROV_RSA_SCHANNEL- und PROV_DH_SCHANNEL-Anbieter aufrufen.

In diesem Abschnitt werden die RSA- und Diffie-Hellman Schannel-CSP-Typen definiert und die Funktionalität beschrieben, die ein CSP unterstützen muss, um mit Schannel.dll, der Kryptografieprotokoll-Engine, kompatibel zu sein. Eine Protokoll-Engine ist ein Programm, das einen sicheren Kommunikationskanal zwischen einem Client und einer Serveranwendung herstellt.

Anwendungen sollten nicht versuchen, informationen in dieser Dokumentation zur direkten Verwendung von PROV_RSA_SCHANNEL oder PROV_DH_SCHANNEL zu verwenden. In dieser Dokumentation wird vielmehr erläutert, wie CSP-Entwickler und -Anbieter Schannel-CSPs schreiben müssen, die mit Microsoft Schannel-Anbietern kompatibel sind.

Diese Dokumentation soll CSP-Entwicklern helfen, kompatible RSA- oder Diffie-Hellman Schannel-CSPs zu implementieren. Es wird davon ausgegangen, dass Entwickler mit der SSL-Protokollversion 3.0 ( Secure Socket Layer ), der Kryptografie mit öffentlichen Schlüsseln , digitalen Zertifikaten und dem CryptoAPI-Funktionssatz vertraut sind. Entwicklern, die mit diesen Themen vertraut sind, wird empfohlen, die SSL-Protokoll 3.0-Spezifikation und die Kryptografie-Grundlagendokumentation in diesem SDK zu lesen. Darüber hinaus müssen RSA- und Diffie-Hellman CSP-Entwickler die TLS-Protokollspezifikationen (Transport Layer Security ) sowie die relevanten RSA- und Diffie-Hellman-Algorithmen kennen.

Ein Beispiel, das von einer Microsoft-Protokoll-Engine verwendet wird, finden Sie unter Erstellen des Hauptschlüssels. Die Aufrufe von Kryptografiefunktionen in diesem Beispiel führen zu Aufrufen von CP-Funktionen, die ein CSP implementieren muss. Um einen kompatiblen CSP zu schreiben, muss ein Entwickler die SSL 3.0-Spezifikation verstehen und dieses Wissen mit einem Verständnis des Code der Protokoll-Engine kombinieren, der dem in diesem Beispiel verwendeten ähnelt.

Da die Verwendung des Private Communications Technology-Protokolls in Zukunft voraussichtlich nur noch minimal sein wird, müssen Entwickler neuer CSPs dieses Protokoll nicht unterstützen. Die Schannel-Protokoll-Engine unterstützt sie streng aus Gründen der Abwärtskompatibilität.