Pergunta

Eu tenho dois certificados que eu salvos no disco. Um deles é um certificado com a chave privada que eu exportado como um arquivo .pfx, o outro é um certificado que me salvou incluindo a sua cadeia de certificados como um arquivo PKCS # 7 ( "certchain.p7b").

Em C # agora posso carregar o arquivo .pfx com

  var cert = new X509Certificate2(myPfxFileStream); 

(myPfxFileStream é um FileStream aberto para o arquivo .pfx para leitura), no entanto tentando a mesma coisa com os PKCS # 7 do certificado falha em um CryptoGraphicException "Der Indexwert ist ungültig" que se traduz em "valor de índice inválido".

Eu supor que eu tenho para analisar PKCS # 7 diferente (que contém uma cadeia, não um único certificado!), Mas como?

(Oh, a propósito: Atualmente tenho nenhuma senha sobre esses certficiates)

Foi útil?

Solução

Você vai querer usar o SignedCms classe no System.Security.Cryptography.Pkcs namespace.

Este blog vai mostrar como usar a classe:

http://blogs.msdn.com/shawnfa/ Arquivo / 2006/02/27 / 539990.aspx

Você basicamente vai chamar a Decode método , passando os bytes que representa o arquivo PKCS.

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