Перечисление X509RequestInheritOptions (certenroll.h)

Тип перечисления X509RequestInheritOptions указывает, как наследуются ключи, значения расширения и внешние свойства при создании нового запроса из существующего сертификата. Это перечисление можно использовать для инициализации объекта IX509CertificateRequestPkcs7 или IX509CertificateRequestPkcs10 из существующего сертификата.

Чтобы указать, как наследуются ключи, можно выбрать одно из следующих значений:

  • InheritNewDefaultKey
  • InheritNewSimilarKey
  • InheritPrivateKey
  • InheritPublicKey
Вы также можете использовать побитовую операцию AND для объединения выбора наследования ключей с InheritNone или с любым сочетанием следующих флагов:
  • InheritRenewalCertificateFlag
  • InheritTemplateFlag
  • InheritSubjectFlag
  • InheritExtensionsFlag
  • InheritSubjectAltNameFlag
  • InheritValidityPeriodFlag

Синтаксис

typedef enum X509RequestInheritOptions {
  InheritDefault = 0,
  InheritNewDefaultKey = 0x1,
  InheritNewSimilarKey = 0x2,
  InheritPrivateKey = 0x3,
  InheritPublicKey = 0x4,
  InheritKeyMask = 0xf,
  InheritNone = 0x10,
  InheritRenewalCertificateFlag = 0x20,
  InheritTemplateFlag = 0x40,
  InheritSubjectFlag = 0x80,
  InheritExtensionsFlag = 0x100,
  InheritSubjectAltNameFlag = 0x200,
  InheritValidityPeriodFlag = 0x400,
  InheritReserved80000000 = 0x80000000
} ;

Константы

 
InheritDefault
Значение: 0
Наследование не указано. Дополнительные сведения см. в статье Метод InitializeFromCertificate в интерфейсе IX509CertificateRequestPkcs10 .
InheritNewDefaultKey
Значение: 0x1
Создает новый ключ, но наследует поставщика служб шифрования по умолчанию (CSP) или KSP.
InheritNewSimilarKey
Значение: 0x2
Создает новый ключ, но наследует CSP или KSP, используемый для создания существующего сертификата.
InheritPrivateKey
Значение: 0x3
Наследует закрытый и открытый ключи.
InheritPublicKey
Значение: 0x4
Наследует только открытый ключ.
InheritKeyMask
Значение: 0xf
Используйте для маскирования 4 бита нижнего порядка, определяющих наследование ключей.
InheritNone
Значение: 0x10
Запрещает использование следующих значений наследования:


  • InheritRenewalCertificateFlag

  • InheritTemplateFlag

  • InheritSubjectFlag

  • InheritExtensionsFlag

  • InheritSubjectAltNameFlag

  • InheritValidityPeriodFlag

InheritRenewalCertificateFlag
Значение: 0x20
Наследует сертификат продления. При указании этого флага устанавливается значение ICertPropertyRenewal .
InheritTemplateFlag
Значение: 0x40
Наследует шаблон сертификата.
InheritSubjectFlag
Значение: 0x80
Наследует различающееся имя субъекта.
InheritExtensionsFlag
Значение: 0x100
Наследует соответствующие расширения от сертификата. Значения расширений, связанные со следующими идентификаторами объектов, не наследуются:


  • 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
Значение: 0x200
Наследует расширение SubjectAlternativeName .
InheritValidityPeriodFlag
Значение: 0x400
Наследует срок действия.
InheritReserved80000000
Значение: 0x80000000

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Верхняя часть certenroll.h

См. также раздел

Перечисления CertEnroll

Интерфейсы CertEnroll

IX509CertificateRequestPkcs10

IX509CertificateRequestPkcs7