Export (0) Print
Expand All

X509RequestInheritOptions enumeration

The X509RequestInheritOptions enumeration type specifies how keys, extension values, and external properties are inherited when a new request is created from an existing certificate. This enumeration can be used to initialize an IX509CertificateRequestPkcs7 or an IX509CertificateRequestPkcs10 object from an existing certificate.

You can choose one of the following values to specify how keys are inherited:

  • InheritNewDefaultKey
  • InheritNewSimilarKey
  • InheritPrivateKey
  • InheritPublicKey
You can also use a bitwise-AND operation to combine the key inheritance choice with InheritNone or with any combination of the following flags:
  • InheritRenewalCertificateFlag
  • InheritTemplateFlag
  • InheritSubjectFlag
  • InheritExtensionsFlag
  • InheritSubjectAltNameFlag
  • InheritValidityPeriodFlag

Syntax


typedef enum X509RequestInheritOptions { 
  InheritDefault                 = 0x00000000,
  InheritNewDefaultKey           = 0x00000001,
  InheritNewSimilarKey           = 0x00000002,
  InheritPrivateKey              = 0x00000003,
  InheritPublicKey               = 0x00000004,
  InheritKeyMask                 = 0x0000000f,
  InheritNone                    = 0x00000010,
  InheritRenewalCertificateFlag  = 0x00000020,
  InheritTemplateFlag            = 0x00000040,
  InheritSubjectFlag             = 0x00000080,
  InheritExtensionsFlag          = 0x00000100,
  InheritSubjectAltNameFlag      = 0x00000200,
  InheritValidityPeriodFlag      = 0x00000400
} X509RequestInheritOptions;

Constants

InheritDefault

Inheritance is not specified. For more information, see the InitializeFromCertificate method on the IX509CertificateRequestPkcs10 interface.

InheritNewDefaultKey

Creates a new key but inherits the default cryptographic service provider (CSP) or KSP.

InheritNewSimilarKey

Creates a new key but inherits the CSP or KSP used to create the existing certificate.

InheritPrivateKey

Inherits the private and public keys.

InheritPublicKey

Inherits only the public key.

InheritKeyMask

Use to mask the lower-order 4 bits that identify key inheritance.

InheritNone

Prevents use of the following inheritance values:

  • InheritRenewalCertificateFlag
  • InheritTemplateFlag
  • InheritSubjectFlag
  • InheritExtensionsFlag
  • InheritSubjectAltNameFlag
  • InheritValidityPeriodFlag
InheritRenewalCertificateFlag

Inherits the renewal certificate. Specifying this flag sets an ICertPropertyRenewal value.

InheritTemplateFlag

Inherits the certificate template.

InheritSubjectFlag

Inherits the subject distinguished name.

InheritExtensionsFlag

Inherits the relevant extensions from the certificate. Extension values associated with the following object identifiers are not inherited:

  • XCN_OID_CERTSRV_CA_VERSION
  • XCN_OID_AUTHORITY_INFO_ACCESS
  • XCN_OID_CRL_DIST_POINTS
  • XCN_OID_AUTHORITY_KEY_IDENTIFIER2
  • XCN_OID_CERTSRV_PREVIOUS_CERT_HASH
  • XCN_OID_ENROLL_CERTTYPE_EXTENSION
  • XCN_OID_CERTIFICATE_TEMPLATE
InheritSubjectAltNameFlag

Inherits the SubjectAlternativeName extension.

InheritValidityPeriodFlag

Inherits the validity period.

Requirements

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
IX509CertificateRequestPkcs7
IX509CertificateRequestPkcs10

 

 

Community Additions

ADD
Show:
© 2014 Microsoft