X509ProviderType enumeration (certenroll.h)

The X509ProviderType enumeration specifies the type of cryptographic provider. Providers implement cryptographic standards and algorithms in software and hardware. This enumeration is used by the ICspInformation and IX509PrivateKey interfaces.

Syntax

typedef enum X509ProviderType {
  XCN_PROV_NONE = 0,
  XCN_PROV_RSA_FULL = 1,
  XCN_PROV_RSA_SIG = 2,
  XCN_PROV_DSS = 3,
  XCN_PROV_FORTEZZA = 4,
  XCN_PROV_MS_EXCHANGE = 5,
  XCN_PROV_SSL = 6,
  XCN_PROV_RSA_SCHANNEL = 12,
  XCN_PROV_DSS_DH = 13,
  XCN_PROV_EC_ECDSA_SIG = 14,
  XCN_PROV_EC_ECNRA_SIG = 15,
  XCN_PROV_EC_ECDSA_FULL = 16,
  XCN_PROV_EC_ECNRA_FULL = 17,
  XCN_PROV_DH_SCHANNEL = 18,
  XCN_PROV_SPYRUS_LYNKS = 20,
  XCN_PROV_RNG = 21,
  XCN_PROV_INTEL_SEC = 22,
  XCN_PROV_REPLACE_OWF = 23,
  XCN_PROV_RSA_AES = 24
} ;

Constants

 
XCN_PROV_NONE
Value: 0
No provider is identified.
XCN_PROV_RSA_FULL
Value: 1
Supports the following algorithms:


  • Encryption: RC2 and RC4

  • Hashing: MD5 and SHA

  • Key Exchange: RSA

  • Signatures: RSA

XCN_PROV_RSA_SIG
Value: 2
Supports the following algorithms:


  • Hashing: MD5 and SHA

  • Signatures: RSA

XCN_PROV_DSS
Value: 3
Supports the following algorithms. This is a subset of the XCN_PROV_DSS_DH provider type.

XCN_PROV_FORTEZZA
Value: 4
Supports the Fortezza cryptographic card developed by NSA. This includes support for the following algorithms:


  • Encryption: Skipjack

  • Hashing: SHA

  • Key Exchange: KEA

  • Signatures: DSS

XCN_PROV_MS_EXCHANGE
Value: 5
Supports cryptographic algorithms used by the Microsoft Exchange mail application and other applications compatible with Microsoft Mail.
This includes the following:


  • Encryption: CAST

  • Hashing: MD5

  • Key Exchange: RSA

  • Signatures: RSA

XCN_PROV_SSL
Value: 6
Supports the Secure Sockets Layer protocol. This includes the following algorithms:


  • Encryption: variable

  • Hashing: variable

  • Key Exchange: RSA

  • Signatures: RSA

XCN_PROV_RSA_SCHANNEL
Value: 12
Supports RSA and Schannel protocols. This includes the following algorithms:

XCN_PROV_DSS_DH
Value: 13
Supports the following algorithms:

XCN_PROV_EC_ECDSA_SIG
Value: 14
Microsoft currently does not provide a CSP of this type.
XCN_PROV_EC_ECNRA_SIG
Value: 15
Microsoft currently does not provide a CSP of this type.
XCN_PROV_EC_ECDSA_FULL
Value: 16
Microsoft currently does not provide a CSP of this type.
XCN_PROV_EC_ECNRA_FULL
Value: 17
Microsoft currently does not provide a CSP of this type.
XCN_PROV_DH_SCHANNEL
Value: 18
Supports the Diffie-Hellman and Schannel protocols. This includes the following algorithms:


  • Encryption: DES, 3DES

  • Hashing: MD5, SHA

  • Key Exchange: Diffie-Hellman algorithm

  • Signatures: DSS

XCN_PROV_SPYRUS_LYNKS
Value: 20
Microsoft currently does not provide a CSP of this type.
XCN_PROV_RNG
Value: 21
Microsoft currently does not provide a CSP of this type.
XCN_PROV_INTEL_SEC
Value: 22
Microsoft currently does not provide a CSP of this type.
XCN_PROV_REPLACE_OWF
Value: 23
Microsoft currently does not provide a CSP of this type.
XCN_PROV_RSA_AES
Value: 24
Supports the following algorithms:


  • Encryption: RC2, RC4, AES

  • Hashing: MD5, SHA

  • Key Exchange: RSA

  • Signatures: RSA

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Header certenroll.h

See also

CertEnroll Enumerations

CertEnroll Interfaces

ICspInformation

IX509PrivateKey