Pergunta

Pode alguém dizer-me por favor porque eu não tenho o cert.PrivateKey (= null) após i instanciado um X509Certificate2 de um HttpClientCertificate durante uma chamada de método web .. sth como este:

X509Certificate2 cert = new X509Certificate2 (Context.Request.ClientCertificate.Certificate, "teste");

O HttpClientCertificate tem uma chave privada quando eu verificar com o depurador, mas X509Certificate2 (variável cert) não!

.. Além disso, eu nem sequer obter um CryptographicException quando eu especificar uma senha inválida.

Alguém por favor pode me clearify?

Graças realmente muito com antecedência!

Atenciosamente, Kris

Foi útil?

Solução

O construtor você está usando (dados / senha) se destina a ser usado para obter um certificado de uma (arquivo PFX) arquivo PKCS # 12. A propriedade Certificado de ClientCertificate "Obtém uma string contendo o fluxo binário de todo o conteúdo do certificado, no formato ASN.1."

ClientCertificate se destina a dar-lhe o certificado usado durante o estabelecimento da sessão SSL com o servidor. I wouln't esperar que ele exponha a chave privada na forma como você está tentando.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top