X509VerificationFlags X509VerificationFlags X509VerificationFlags X509VerificationFlags Enum

Определение

Определяет условия, при которых должна проводиться проверка сертификатов в цепочке X509.Specifies conditions under which verification of certificates in the X509 chain should be conducted.

Это перечисление имеет атрибут FlagsAttribute, который разрешает побитовое сочетание значений его элементов.

public enum class X509VerificationFlags
[System.Flags]
public enum X509VerificationFlags
type X509VerificationFlags = 
Public Enum X509VerificationFlags
Наследование
X509VerificationFlagsX509VerificationFlagsX509VerificationFlagsX509VerificationFlags
Атрибуты

Поля

AllFlags AllFlags AllFlags AllFlags 4095

Включены все флаги, относящиеся к проверке.All flags pertaining to verification are included.

AllowUnknownCertificateAuthority AllowUnknownCertificateAuthority AllowUnknownCertificateAuthority AllowUnknownCertificateAuthority 16

Не учитывать, что цепочку нельзя проверить из-за неизвестного центра сертификации (ЦС).Ignore that the chain cannot be verified due to an unknown certificate authority (CA).

IgnoreCertificateAuthorityRevocationUnknown IgnoreCertificateAuthorityRevocationUnknown IgnoreCertificateAuthorityRevocationUnknown IgnoreCertificateAuthorityRevocationUnknown 1024

При проверке сертификата не учитывать, что отзыв центра сертификации неизвестен.Ignore that the certificate authority revocation is unknown when determining certificate verification.

IgnoreCtlNotTimeValid IgnoreCtlNotTimeValid IgnoreCtlNotTimeValid IgnoreCtlNotTimeValid 2

При проверке сертификата не учитывать, что список доверия сертификатов (CTL) недействителен, например, из-за истечения срока действия списка доверия сертификатов.Ignore that the certificate trust list (CTL) is not valid, for reasons such as the CTL has expired, when determining certificate verification.

IgnoreCtlSignerRevocationUnknown IgnoreCtlSignerRevocationUnknown IgnoreCtlSignerRevocationUnknown IgnoreCtlSignerRevocationUnknown 512

При проверке сертификата не учитывать, что отзыв подписавшего список доверия сертификатов (CTL) неизвестен.Ignore that the certificate trust list (CTL) signer revocation is unknown when determining certificate verification.

IgnoreEndRevocationUnknown IgnoreEndRevocationUnknown IgnoreEndRevocationUnknown IgnoreEndRevocationUnknown 256

При проверке сертификата не учитывать, что отзыв конечного сертификата (сертификата пользователя) неизвестен.Ignore that the end certificate (the user certificate) revocation is unknown when determining certificate verification.

IgnoreInvalidBasicConstraints IgnoreInvalidBasicConstraints IgnoreInvalidBasicConstraints IgnoreInvalidBasicConstraints 8

При проверке сертификата не учитывать, что основные ограничения недопустимы.Ignore that the basic constraints are not valid when determining certificate verification.

IgnoreInvalidName IgnoreInvalidName IgnoreInvalidName IgnoreInvalidName 64

При проверке сертификата не учитывать, что сертификат имеет недопустимое имя.Ignore that the certificate has an invalid name when determining certificate verification.

IgnoreInvalidPolicy IgnoreInvalidPolicy IgnoreInvalidPolicy IgnoreInvalidPolicy 128

При проверке сертификата не учитывать, что сертификат имеет недопустимую политику.Ignore that the certificate has invalid policy when determining certificate verification.

IgnoreNotTimeNested IgnoreNotTimeNested IgnoreNotTimeNested IgnoreNotTimeNested 4

При проверке сертификата не учитывать, что сертификат центра сертификации (ЦС) и выданный сертификат имеют сроки действия, которые не являются вложенными.Ignore that the CA (certificate authority) certificate and the issued certificate have validity periods that are not nested when verifying the certificate. Например, сертификат ЦС может действовать с 1 января по 1 декабря, а выданный сертификат — со 2 января по 2 декабря, что означает, что сроки действия не являются вложенными.For example, the CA cert can be valid from January 1 to December 1 and the issued certificate from January 2 to December 2, which would mean the validity periods are not nested.

IgnoreNotTimeValid IgnoreNotTimeValid IgnoreNotTimeValid IgnoreNotTimeValid 1

При проверке сертификата не учитывать сертификаты в цепочке, которые недействительны, так как срок их действия истек или не наступил.Ignore certificates in the chain that are not valid either because they have expired or they are not yet in effect when determining certificate validity.

IgnoreRootRevocationUnknown IgnoreRootRevocationUnknown IgnoreRootRevocationUnknown IgnoreRootRevocationUnknown 2048

При проверке сертификата не учитывать, что корневой отзыв неизвестен.Ignore that the root revocation is unknown when determining certificate verification.

IgnoreWrongUsage IgnoreWrongUsage IgnoreWrongUsage IgnoreWrongUsage 32

При проверке сертификата не учитывать, что сертификат был выдан не текущему пользователю.Ignore that the certificate was not issued for the current use when determining certificate verification.

NoFlag NoFlag NoFlag NoFlag 0

Не включены флаги, относящиеся к проверке.No flags pertaining to verification are included.

Примеры

Следующий пример открывает личное хранилище сертификатов текущего пользователя, позволяет пользователю выбрать сертификат, а затем записывает сведения о сертификате и цепочке сертификатов в консоль.The following example opens the current user's personal certificate store, allows the user to select a certificate, then writes certificate and certificate chain information to the console. Выходные данные зависят от выбранного сертификата.The output depends on the certificate you select.

//Output chain information of the selected certificate.
X509Chain ^ ch = gcnew X509Chain;
ch->ChainPolicy->RevocationMode = X509RevocationMode::Online;
ch->Build( certificate );
Console::WriteLine( "Chain Information" );
Console::WriteLine( "Chain revocation flag: {0}", ch->ChainPolicy->RevocationFlag );
Console::WriteLine( "Chain revocation mode: {0}", ch->ChainPolicy->RevocationMode );
Console::WriteLine( "Chain verification flag: {0}", ch->ChainPolicy->VerificationFlags );
Console::WriteLine( "Chain verification time: {0}", ch->ChainPolicy->VerificationTime );
Console::WriteLine( "Chain status length: {0}", ch->ChainStatus->Length );
Console::WriteLine( "Chain application policy count: {0}", ch->ChainPolicy->ApplicationPolicy->Count );
Console::WriteLine( "Chain certificate policy count: {0} {1}", ch->ChainPolicy->CertificatePolicy->Count, Environment::NewLine );
//Output chain information of the selected certificate.
X509Chain ch = new X509Chain();
ch.ChainPolicy.RevocationMode = X509RevocationMode.Online;
ch.Build (certificate);
Console.WriteLine ("Chain Information");
Console.WriteLine ("Chain revocation flag: {0}", ch.ChainPolicy.RevocationFlag);
Console.WriteLine ("Chain revocation mode: {0}", ch.ChainPolicy.RevocationMode);
Console.WriteLine ("Chain verification flag: {0}", ch.ChainPolicy.VerificationFlags);
Console.WriteLine ("Chain verification time: {0}", ch.ChainPolicy.VerificationTime);
Console.WriteLine ("Chain status length: {0}", ch.ChainStatus.Length);
Console.WriteLine ("Chain application policy count: {0}", ch.ChainPolicy.ApplicationPolicy.Count);
Console.WriteLine ("Chain certificate policy count: {0} {1}", ch.ChainPolicy.CertificatePolicy.Count, Environment.NewLine);
'Output chain information of the selected certificate.
Dim ch As New X509Chain()
ch.ChainPolicy.RevocationMode = X509RevocationMode.Online
ch.Build(certificate)
Console.WriteLine("Chain Information")
Console.WriteLine("Chain revocation flag: {0}", ch.ChainPolicy.RevocationFlag)
Console.WriteLine("Chain revocation mode: {0}", ch.ChainPolicy.RevocationMode)
Console.WriteLine("Chain verification flag: {0}", ch.ChainPolicy.VerificationFlags)
Console.WriteLine("Chain verification time: {0}", ch.ChainPolicy.VerificationTime)
Console.WriteLine("Chain status length: {0}", ch.ChainStatus.Length)
Console.WriteLine("Chain application policy count: {0}", ch.ChainPolicy.ApplicationPolicy.Count)
Console.WriteLine("Chain certificate policy count: {0} {1}", ch.ChainPolicy.CertificatePolicy.Count, Environment.NewLine)

Комментарии

Эти флаги указывают на условия, при которых должна выполняться проверка цепочки.These flags indicate the conditions under which chain verification should occur. Например, если приложению не требуется, чтобы значения времени сертификатов в цепочке были допустимыми, можно использовать флаг Игнореноттимевалид.For example, if an application does not require certificates time values in a chain to be valid, the IgnoreNotTimeValid flag can be used.

Применяется к