X509VerificationFlags Перечисление

Определение

Указывает условия, в которых должна выполняться проверка сертификатов в цепочке X509.

Это перечисление поддерживает побитовую комбинацию значений его членов.

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

Поля

Имя Значение Описание
NoFlag 0

Флаги, относящиеся к проверке, не включаются.

IgnoreNotTimeValid 1

Игнорировать сертификаты в цепочке, которые недопустимы либо потому, что истек срок действия, либо они еще не применяются при определении допустимости сертификата.

IgnoreCtlNotTimeValid 2

Игнорируйте, что список доверия сертификатов (CTL) недопустим, по таким причинам, как срок действия CTL, истек при определении проверки сертификата.

IgnoreNotTimeNested 4

Игнорируйте, что сертификат ЦС (центр сертификации) и выданный сертификат имеют срок действия, которые не вложены при проверке сертификата. Например, сертификат ЦС может быть действительным с 1 января по 1 декабря и выданный сертификат с 2 января по 2 декабря, что означает, что срок действия не вложен.

IgnoreInvalidBasicConstraints 8

Игнорируйте, что основные ограничения недопустимы при определении проверки сертификата.

AllowUnknownCertificateAuthority 16

Игнорируйте, что цепочка не может быть проверена из-за неизвестного центра сертификации (ЦС) или частичных цепочек.

IgnoreWrongUsage 32

Игнорируйте, что сертификат не был выдан для текущего использования при определении проверки сертификата.

IgnoreInvalidName 64

Игнорируйте, что сертификат имеет недопустимое имя при определении проверки сертификата.

IgnoreInvalidPolicy 128

Игнорируйте, что сертификат имеет недопустимую политику при определении проверки сертификата.

IgnoreEndRevocationUnknown 256

Игнорируйте, что отзыв конечного сертификата (сертификат пользователя) неизвестен при определении проверки сертификата.

IgnoreCtlSignerRevocationUnknown 512

Игнорируйте, что при определении проверки сертификата при определении проверки сертификата неизвестен список подписывания сертификатов (CTL).

IgnoreCertificateAuthorityRevocationUnknown 1024

Игнорируйте, что отзыв центра сертификации неизвестен при определении проверки сертификата.

IgnoreRootRevocationUnknown 2048

Игнорируйте, что корневой отзыв неизвестен при определении проверки сертификата.

AllFlags 4095

Включены все флаги, относящиеся к проверке.

Примеры

В следующем примере открывается личное хранилище сертификатов текущего пользователя, позволяет пользователю выбрать сертификат, а затем записывать сведения о сертификате и цепочке сертификатов в консоль. Выходные данные зависят от выбранного сертификата.

//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)

Комментарии

Эти флаги указывают условия, при которых должна выполняться проверка цепочки. Например, если приложению не требуется допустимые значения времени сертификатов в цепочке, можно использовать флаг IgnoreNotTimeValid.

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