2012-04-20 4 views
0

Я хочу подписать документ xml, который будет проверен на сервере. Я не знаю, как подписать и зашифровать XML-файл, используя цифровые сертификаты, такие как файлы .cer и .pfx. я гугл из & найден различных примеров, но не мог понять, стандартный способ, т.е.Цифровая подпись с сертификатом x509 и шифрованием

Каков шаг за шагом процессом, чтобы подписать и зашифровать файл XML

Один улова здесь есть

Я хочу подписать и зашифровать файл на клиенте (.net C# code) в таком способе, которым он мог быть проверен и расшифрован на сервере (код Java)

ответ

1

Если вы хотите сделать это как на C#, так и на Java, вы можете взглянуть на BouncyCastle. Это популярная библиотека для работы с шифрованием и поддерживает C# и Java.

Ресурс: http://www.bouncycastle.org/

+0

спасибо за повтор. можно предоставить примеры или шаги для подписания и шифрования xml-файла с помощью bouncycastle – kevin159

+0

XMLDSig или XMLEnc никогда не требовали первоначального вопроса. Я просто заявил, что вы можете шифровать/дешифровать файл с помощью BouncyCastle. –

0

Что вам нужно, это называется XMLDSig и XMLEnc (это имена соответствующих стандартов для подписи и шифрования XML в XML, как в противоположном pkcs7/CMS, которая шифрует и подписывает данные в виде непрозрачных сгустков) ,

Java имеет встроенный XMLDSig API (read the article here), хотя, похоже, для XMLEnc не существует родной путь.

У .NET Framework 4.0 также есть встроенные механизмы для подписи и шифрования XML, но они не столь очевидны. See how-tos here.

Наша компания предлагает обширную библиотеку для задач безопасности под названием SecureBlackbox, а SecureBlackbox включает гибкую и удобную в использовании поддержку XMLDSig, XMLEnc и XAdES. Доступны как версии .NET, так и Java. Прочитайте details about XMLBlackbox пакет SecureBlackbox.

Обновление: Если вам не нужен формат, и единственный маршрут ваших данных XML от одного места к другому, то вы можете использовать PKCS # 7/CMS вместо XMLDSig и XMLEnc. Как сказано выше, CMS обрабатывает ваши данные как непрозрачные blob и переносит их в двоичные данные. BouncyCastle - один из вариантов, и SecureBlackbox также может быть полезен.

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