Exportar (0) Imprimir
Expandir Tudo
Este artigo foi traduzido manualmente. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
Tradução
Original
Este tópico ainda não foi avaliado como - Avalie este tópico

Diferenças de validação de certificado entre HTTPS, o SSL sobre a segurança de TCP, e de SOAP

.NET Framework 4.5

Você pode usar certificados em Windows Communication Foundation (WCF) a segurança de mensagem- camada SOAP () além da segurança (TLS) da camada de transporte sobre HTTP (HTTPS) ou TCP. Este tópico descreve as diferenças em modo que esses certificados são validados.

Ao usar HTTPS para comunicação entre um cliente e um serviço, o certificado que o cliente usa para se autenticar no serviço deve oferecer suporte a confiança da cadeia. Isto é, o encadeamento deve a uma autoridade raiz confiável. Caso contrário, a camada HTTP aumenta WebException com a mensagem “o servidor remoto retornou um erro: (403) Proibido”. WCF surge essa exceção como MessageSecurityException.

Ao usar HTTPS para comunicação entre um cliente e um serviço, o certificado que autentica com o servidor deve oferecer suporte a confiança de cadeia por padrão. Isto é, o encadeamento deve a uma autoridade raiz confiável. Nenhuma verificação é executada online para verificar se o certificado esteve revogado. Você pode substituir esse comportamento registrando um retorno de chamada de RemoteCertificateValidationCallback , conforme mostrado no seguinte código.


ServicePointManager.ServerCertificateValidationCallback +=
    new RemoteCertificateValidationCallback(ValidateServerCertificate);


onde a assinatura para ValidateServerCertificate é como segue:


public static bool ValidateServerCertificate(
  object sender,
  X509Certificate certificate,
  X509Chain chain,
  SslPolicyErrors sslPolicyErrors)


Implementar ValidateServerCertificate pode executar todas as verificações que o desenvolvedor do aplicativo cliente julga necessário para validar o certificado de serviço.

Ao usar o protocolo SSL (SSL) sobre a segurança de TCP ou da mensagem SOAP (), certificados de cliente forem validados de acordo com o valor da propriedade de CertificateValidationMode da classe de X509ClientCertificateAuthentication . A propriedade é definida como um dos valores de X509CertificateValidationMode . Verifique de revogação é executado de acordo com os valores do valor da propriedade de RevocationMode da classe de X509ClientCertificateAuthentication . A propriedade é definida como um dos valores de X509RevocationMode .


myServiceHost.Credentials.ClientCertificate.Authentication.
    CertificateValidationMode=
    X509CertificateValidationMode.PeerOrChainTrust;       

myServiceHost.Credentials.ClientCertificate.Authentication.
    RevocationMode=X509RevocationMode.Offline; 


Ao usar o SSL sobre a segurança de TCP ou da mensagem SOAP (), certificados de serviço são validados de acordo com o valor da propriedade de CertificateValidationMode da classe de X509ServiceCertificateAuthentication . A propriedade é definida como um dos valores de X509CertificateValidationMode .

Verifique de revogação é executado de acordo com os valores do valor da propriedade de RevocationMode da classe de X509ServiceCertificateAuthentication . A propriedade é definida como um dos valores de X509RevocationMode .


myClient.ClientCredentials.ServiceCertificate.
    Authentication.CertificateValidationMode=
    X509CertificateValidationMode.PeerOrChainTrust;
myClient.ClientCredentials.ServiceCertificate.Authentication.
    RevocationMode = X509RevocationMode.Offline;


Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft. Todos os direitos reservados.