Partager via


X509Chain.Build(X509Certificate2) Méthode

Définition

Génère une chaîne X.509 à l'aide de la stratégie spécifiée dans X509ChainPolicy.

public:
 bool Build(System::Security::Cryptography::X509Certificates::X509Certificate2 ^ certificate);
public bool Build (System.Security.Cryptography.X509Certificates.X509Certificate2 certificate);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public bool Build (System.Security.Cryptography.X509Certificates.X509Certificate2 certificate);
member this.Build : System.Security.Cryptography.X509Certificates.X509Certificate2 -> bool
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.Build : System.Security.Cryptography.X509Certificates.X509Certificate2 -> bool
Public Function Build (certificate As X509Certificate2) As Boolean

Paramètres

certificate
X509Certificate2

Objet X509Certificate2.

Retours

Boolean

true en présence d'un certificat X.509 valide ; sinon, false.

Attributs

Exceptions

certificate n'est pas un certificat valide ou est null.

certificate est illisible.

Exemples

L’exemple de code suivant ouvre le magasin de certificats personnel de l’utilisateur actuel, vous permet de sélectionner un certificat, puis d’écrire des informations de certificat et de chaîne de certificats dans la console. La sortie dépend du certificat que vous sélectionnez.

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

Remarques

Notez qu’un certificat X.509 valide d’un émetteur approuvé est valide uniquement pour l’utilisation spécifiée dans l’objet X509ChainPolicy . Les certificats qui répondent à ces règles de stratégie de chaîne peuvent toujours ne pas être valides pour des utilisations spécifiques avec des fonctionnalités telles que Security/MIME (SMIME), Authenticode ou SSL (Secure Sockets Layer). Si un traitement supplémentaire est nécessaire pour déterminer si le certificat est valide pour une stratégie spécifique, dérivez une classe et X509Chain remplacez la Build méthode afin qu’elle appelle d’abord la méthode de classe Build de base, puis effectue le traitement supplémentaire.

S’applique à