X509VerificationFlags 열거형
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
X509 체인에서 인증서의 안정성을 확인해야 하는 조건을 지정합니다.
이 열거형은 멤버 값의 비트 조합을 지원합니다.
public enum class X509VerificationFlags
[System.Flags]
public enum X509VerificationFlags
[<System.Flags>]
type X509VerificationFlags =
Public Enum X509VerificationFlags
- 상속
- 특성
필드
AllFlags | 4095 | 안정성 확인과 관련된 모든 플래그가 포함됩니다. |
AllowUnknownCertificateAuthority | 16 | 알 수 없는 CA(인증 기관) 또는 부분 체인으로 인해 체인을 확인할 수 없음을 무시합니다. |
IgnoreCertificateAuthorityRevocationUnknown | 1024 | 인증서 안정성 확인을 결정할 때 인증 기관 해지 상태를 알 수 없는 경우 이를 무시합니다. |
IgnoreCtlNotTimeValid | 2 | 인증서 안정성 확인을 결정할 때 CTL(인증서 신뢰 목록) 만료 등의 이유로 CTL이 유효하지 않은 경우 이를 무시합니다. |
IgnoreCtlSignerRevocationUnknown | 512 | 인증서 안정성 확인을 결정할 때 CTL(인증서 신뢰 목록) 서명자 해지 상태를 알 수 없는 경우 이를 무시합니다. |
IgnoreEndRevocationUnknown | 256 | 인증서 안정성 확인을 결정할 때 최종 인증서(사용자 인증서) 해지 상태를 알 수 없는 경우 이를 무시합니다. |
IgnoreInvalidBasicConstraints | 8 | 인증서 안정성 확인을 결정할 때 기본 제약 조건이 유효하지 않은 경우 이를 무시합니다. |
IgnoreInvalidName | 64 | 인증서 안정성 확인을 결정할 때 인증서에 잘못된 이름이 있는 경우 이를 무시합니다. |
IgnoreInvalidPolicy | 128 | 인증서 안정성 확인을 결정할 때 인증서에 잘못된 정책이 있는 경우 이를 무시합니다. |
IgnoreNotTimeNested | 4 | 인증서의 안정성을 확인할 때 CA(인증 기관) 인증서와 발급된 인증서의 유효 기간이 서로 일치하지 않는 경우 이를 무시합니다. 예를 들어, CA 인증서는 1월 1일부터 12월 1일까지 유효하며 발급된 인증서는 1월 2일부터 12월 2일까지 유효하므로 유효 기간이 중첩되지 않음을 의미합니다. |
IgnoreNotTimeValid | 1 | 인증서 유효성을 확인할 때 만료되었거나 더는 적용되지 않아서 유효하지 않는 인증서가 체인에 있는 경우 이를 무시합니다. |
IgnoreRootRevocationUnknown | 2048 | 인증서 안정성 확인을 결정할 때 루트 해지 상태를 알 수 없는 경우 이를 무시합니다. |
IgnoreWrongUsage | 32 | 인증서 안정성 확인을 결정할 때 인증서가 현재 사용하도록 발급되지 않은 경우 이를 무시합니다. |
NoFlag | 0 | 안정성 확인과 관련된 플래그가 포함되지 않습니다. |
예제
다음 예제에서는 현재 사용자의 개인 인증서 저장소를 열고, 사용자가 인증서를 선택할 수 있도록 허용한 다음, 인증서 및 인증서 체인 정보를 콘솔에 씁니다. 출력은 선택한 인증서에 따라 달라집니다.
//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)
설명
이러한 플래그는 체인 확인이 수행되어야 하는 조건을 나타냅니다. 예를 들어, 애플리케이션에는 인증서 체인을 유효 시간 값 필요 하지 않으면, IgnoreNotTimeValid 플래그를 사용할 수 있습니다.
적용 대상
.NET