X509VerificationFlags Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает условия, в которых должна выполняться проверка сертификатов в цепочке X509.
Это перечисление поддерживает побитовую комбинацию значений его членов.
public enum class X509VerificationFlags
[System.Flags]
public enum X509VerificationFlags
[<System.Flags>]
type X509VerificationFlags =
Public Enum 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.