X509Chain.Build(X509Certificate2) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Constrói uma cadeia X.509 usando a política especificada em X509ChainPolicy.
public:
bool Build(System::Security::Cryptography::X509Certificates::X509Certificate2 ^ certificate);
[System.Runtime.Versioning.UnsupportedOSPlatform("browser")]
public bool Build(System.Security.Cryptography.X509Certificates.X509Certificate2 certificate);
public bool Build(System.Security.Cryptography.X509Certificates.X509Certificate2 certificate);
[<System.Runtime.Versioning.UnsupportedOSPlatform("browser")>]
member this.Build : System.Security.Cryptography.X509Certificates.X509Certificate2 -> bool
member this.Build : System.Security.Cryptography.X509Certificates.X509Certificate2 -> bool
Public Function Build (certificate As X509Certificate2) As Boolean
Parâmetros
- certificate
- X509Certificate2
Um X509Certificate2 objeto.
Devoluções
true se o certificado X.509 for válido; caso contrário, false.
- Atributos
Exceções
O certificate não é um certificado válido ou é null.
É certificate ilegível.
Exemplos
O exemplo de código seguinte abre o armazenamento de certificados pessoais do utilizador atual, permite-lhe selecionar um certificado e depois escreve as informações do certificado e da cadeia de certificados na consola. A saída depende do certificado que selecionar.
//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)
Observações
Note que um certificado X.509 válido de um emissor de confiança é válido apenas para o uso especificado no X509ChainPolicy objeto. Certificados que cumpram estas regras de política de cadeia podem ainda ser inválidos para usos específicos com funcionalidades como Security/MIME (SMIME), Authenticode ou Secure Sockets Layer (SSL). Se for necessário processamento adicional para determinar se o certificado é válido para uma política específica, derive uma classe a partir X509Chain de e sobrepone o Build método para que chame primeiro o método da classe Build base, e depois faça o processamento adicional.