2009-02-23 3 views
5

У меня есть два сертификата, которые я сохранил на диск. Один из них - это сертификат с закрытым ключом, который я экспортировал как .pfx-файл, а другой - это сертификат, который я сохранил, включая его цепочку сертификатов в виде файла PKCS # 7 («certchain.p7b»).Как читать цепочку сертификатов Pkcs # 7 из файла/потока в C#?

В C# я теперь могу загрузить файл .pfx с

var cert = new X509Certificate2(myPfxFileStream); 

(myPfxFileStream является FileStream открыт для PFX-файла для чтения), тем не менее пытается то же самое с PKCS # 7 Сертификат неудовлетворением a CryptoGraphicException «Der Indexwert ist ungültig», что означает «недопустимое значение индекса».

Я предполагаю, что я должен разбираться с PKCS # 7 (он содержит цепочку, а не один сертификат!), Но как?

(О, кстати: В настоящее время у меня нет никаких паролей на этих certficiates)

ответ

7

Вы хотите использовать SignedCms класс в System.Security.Cryptography.Pkcs пространства имен.

Эта запись блога покажет вам, как использовать класс:

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

Вы в основном будет вызывать метод Decode, передавая байты, представляющие файл PKCS.

+0

Прямо на месте. Спасибо! – froh42

Смежные вопросы