X509ChainPolicy.VerificationTime Propiedad

Definición

Obtiene o establece el tiempo durante el que se validará la cadena.

public:
 property DateTime VerificationTime { DateTime get(); void set(DateTime value); };
public DateTime VerificationTime { get; set; }
member this.VerificationTime : DateTime with get, set
Public Property VerificationTime As DateTime

Valor de propiedad

Un objeto DateTime.

Ejemplos

En el ejemplo siguiente se abre el almacén de certificados personal del usuario actual, se permite al usuario seleccionar un certificado y, a continuación, escribir información de la cadena de certificados y certificados en la consola. La salida depende del certificado que seleccione.

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

Comentarios

Esta propiedad representa el parámetro de tiempo para la validación de la cadena. Esta propiedad devuelve un valor que indica la hora en que se va a validar la cadena, ya sea como hora local o UTC, según el valor de la DateTime.Kind propiedad. Esta propiedad es importante al validar los mensajes firmados, ya que la firma debe haber sido válida en el momento de la firma, no en el momento de la validación. Cada certificado de la cadena debe tener un X509Certificate2.NotBefore tiempo posterior al valor de esta propiedad y un X509Certificate2.NotAfter tiempo no anterior al valor de esta propiedad. De lo contrario, se afirma la X509ChainStatusFlags.NotTimeValid marca . En Windows, esta propiedad también se puede usar para determinar el estado de revocación de un certificado.

El constructor sin parámetros de la X509ChainPolicy clase establece la VerificationTime propiedad en el momento en que se llama al constructor. Al llamar al Reset() método se reemplaza el valor de VerificationTime por la hora actual del sistema, no por la hora en que se construyó el objeto.

Se aplica a