X509VerificationFlags 열거형

정의

X509 체인에서 인증서의 안정성을 확인해야 하는 조건을 지정합니다.

이 열거형은 멤버 값의 비트 조합을 지원합니다.

public enum class X509VerificationFlags
[System.Flags]
public enum X509VerificationFlags
[<System.Flags>]
type X509VerificationFlags = 
Public Enum X509VerificationFlags
상속
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 플래그를 사용할 수 있습니다.

적용 대상