This section defines the RSA/Schannel Cryptographic Service Provider (CSP) type and describes the functionality that must be supported in order to be compatible with future versions of the Microsoft® cryptographic protocol engine (Schannel.dll).
The information presented in the following sections is intended for developers who plan to implement a compatible RSA/Schannel CSP. Readers should have a basic familiarity with Secure Socket Layer (SSL) version 3.0 protocol, public-key cryptography, digital certificates, and the Microsoft CryptoAPI function set. Before proceeding, readers who are new to these topics are advised to read the SSL Protocol 3.0 specification, the CryptoAPI Programmers Guide and Reference, available in the Microsoft Platform SDK, and the references provided in the Overview section of that CryptoAPI material.
The code samples in the following sections are presented from the perspective of the Microsoft protocol engine. To write a compatible CSP the reader needs to understand the SSL 3.0 specification and combine that knowledge with an understanding of the protocol engine code as presented here.
The CSP developer may choose not to support the Private Communication Technology (PCT) protocol because usage of this protocol in the future is expected to be minimal. The protocol engine supports the PCT protocol strictly for purposes of backward compatibility.
For information on how to develop a Diffie-Hellman/Schannel CSP, see Diffie-Hellman/Schannel CSP Overview.