Click to Rate and Give Feedback
MSDN
MSDN Library
Security
Cryptography
About Cryptography
Cryptographic Service Providers

A cryptographic service provider (CSP) contains implementations of cryptographic standards and algorithms. At a minimum, a CSP consists of a dynamic-link library (DLL) that implements the functions in CryptoSPI (a system program interface). Most CSPs contain the implementation of all of their own functions. Some CSPs, however, implement their functions mainly in a Windows-based service program managed by the Windows service control manager. Others implement functions in hardware, such as a smart card or secure coprocessor. If a CSP does not implement its own functions, the DLL acts as a pass-through layer, facilitating the communication between the operating system and the actual CSP implementation.

This documentation is written for CSP developers. It defines the CSP interfaces, describes the procedures a CSP writer must use, and the requirements that a CSP writer must fulfill to create a custom CSP. While information in this documentation is primarily intended for a person writing a CSP, it can also be of interest to advanced cryptography application developers.

This documentation maintains a focus on creating a CSP and assumes familiarity with Cryptography Essentials in the Platform Software Development Kit (SDK). The following related subjects, which a CSP developer must be familiar with to implement a CSP, are not covered:

  • Cryptography Theory
  • Cryptographic protocols and standards
  • Cryptographic application programming
  • Windows programming

For more reading on the above topics, see Additional Documentation on Cryptography.

This section includes the following topics.

TopicContents
Architecture of a Cryptographic Service Provider (CSP)Describes the internal structure of a typical CSP and explains some of the assumptions implicit in the CryptoAPI/CryptoSPI design.
Cryptographic Provider TypesCryptographic provider types are families of cryptographic services providers that share data formats and cryptographic protocols. Data formats include algorithms padding schemes, key lengths, and default modes.
Microsoft Cryptographic Service ProvidersDetailed information about CSPs currently available from Microsoft.
Writing a CSPOutlines the steps used to write, test, and implement a custom CSP.
CSP InteroperabilityPresents information on implementation requirements that a CSP must meet to work with other cryptography providers.

 

Send comments about this topic to Microsoft

Build date: 10/2/2009

Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement | Site Feedback
Page view tracker