X509VerificationFlags 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
X509 체인의 인증서 확인을 수행해야 하는 조건을 지정합니다.
이 열거형은 멤버 값의 비트 조합을 지원합니다.
public enum class X509VerificationFlags
[System.Flags]
public enum X509VerificationFlags
[<System.Flags>]
type X509VerificationFlags =
Public Enum X509VerificationFlags
- 상속
- 특성
필드
| Name | 값 | Description |
|---|---|---|
| NoFlag | 0 | 확인과 관련된 플래그는 포함되지 않습니다. |
| IgnoreNotTimeValid | 1 | 만료되었거나 인증서 유효성을 결정할 때 아직 적용되지 않아서 유효하지 않은 체인의 인증서를 무시합니다. |
| IgnoreCtlNotTimeValid | 2 | 인증서 확인을 결정할 때 CTL(인증서 신뢰 목록)이 유효하지 않다는 것을 무시합니다( 예: CTL이 만료된 이유). |
| IgnoreNotTimeNested | 4 | CA(인증 기관) 인증서 및 발급된 인증서에 인증서를 확인할 때 중첩되지 않은 유효 기간이 있음을 무시합니다. 예를 들어 CA 인증서는 1월 1일부터 12월 1일까지 유효하고 1월 2일부터 12월 2일까지 발급된 인증서는 유효 기간이 중첩되지 않음을 의미합니다. |
| IgnoreInvalidBasicConstraints | 8 | 인증서 확인을 결정할 때 기본 제약 조건이 유효하지 않다는 것을 무시합니다. |
| AllowUnknownCertificateAuthority | 16 | CA(알 수 없는 인증 기관) 또는 부분 체인으로 인해 체인을 확인할 수 없음을 무시합니다. |
| 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 플래그를 사용할 수 있습니다.