Зашифрованный Xml с использованием файла cer

70
5

Это веб-сайт

http://msdn.microsoft.com/en-us/library/vstudio/ms148633(v=vs.100).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2

шифрует XML, используя "test.pfx".

Я хочу зашифровать свой XML по сертификату X509 и расшифровать его с помощью смарт-карты.

Я изменил эту строку

X509Certificate2 cert = new X509Certificate2("test.pfx");

на

X509Certificate2 cert = new X509Certificate2("test.cer");

и мой код шифрует XML и во время дешифрования я печатаю свой вывод карты памяти и мой XML расшифровывается.

Когда я использую test.pfx, мне нужно изменить код на

X509Certificate2 cert = new X509Certificate2("test.pfx", "myPassword"); 

и этот код шифрует XML, но во время дешифровки я не печатаю свой вывод карты памяти и мой XML расшифровывается.

Можете ли вы объяснить мне, почему на http://msdn.microsoft.com/ веб-сайт для шифрования xml используется файл pfx?

Зашифрован ли XML файл *.cer? Я хочу дешифровать свой XML только с помощью моей смарт-карты.

спросил(а) 2014-05-14T16:15:00+04:00 6 лет, 5 месяцев назад
1
Решение
59

Файл pfx похож на файл PKCS # 12 (.p12). Обычно он содержит сертификат и соответствующий закрытый ключ.

Файл.cer содержит только простой сертификат без закрытого ключа.

Согласно документации, метод EncryptedXml.Encrypt, используемый в ссылочном примере, хочет шифровать и подписывать сгенерированный ключ AES, который используется для шифрования XML-документа.

Для шифрования используется открытый ключ в сертификате. Однако для подписания документа требуется закрытый ключ, я предполагаю, что это причина использования файла.pfx.

ответил(а) 2014-05-14T16:30:00+04:00 6 лет, 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема