Como ler PKCS # chain 7 certificado a partir do arquivo / fluxo em C #?
-
06-09-2019 - |
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)
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.