Вопрос

Я борюсь со следующим сценарием:

  1. XML-Message создается клиентская сторона и цифровой подписан с использованием Window Mozilla's Window.crypto.Signtext. После подписи сообщение и подпись передаются через веб -сервис (.net) на сервер. Все в порядке до этого момента.

  2. На сервере XML должен быть включен в другой XML-документ, который общедоступен. Подпись должна быть опубликована также для предоставления невозврата.

В: Существует ли плавный вариант для преобразования отдельных PKCS#7 в XML-DSIG (например, функциональность в рамках .NET)?

Q2: Или возможно создать XML-DSIG уже клиентскую сторону без использования внешних плагинов?

TNX за вашу помощь!

Алоис Полин

Это было полезно?

Решение

Из -за характера обоих форматов цифровых подписей XML и PKCS#7 невозможно преобразовать из одного в другой.

В очень упрощенном объяснении подпись в PKCS#7 Формат содержит, помимо прочего, некоторую конкретную структуру данных, называемую DigestinFo, которая содержит DATA Digest и OID (идентификатор объекта), и был забит закрытым ключом пользователя. А XML-DSIG Формат применяет окончательный этап криптографического алгоритма (опять же с закрытым ключом пользователя) к другому значению данных, рассчитанному по перевариванию исходных данных XML и некоторых конкретных структур данных XML-DSIG. Следовательно, поскольку оба зашифрованных значения не будут одинаковыми, можно только генерировать подпись XML-DSIG, подписав данные с закрытым ключом пользователя, к которому вы не будете иметь доступ (таким образом, имя частного).

Из этого объяснения ответ на ваш первый вопрос: «Нет, плавный вариант нет, он вообще невозможно».

Поэтому единственный вариант-генерировать XML-DSIG непосредственно на стороне клиента. Это невозможно с использованием стандартного JavaScript, определенно не в Windure's Window.crypto (который генерирует только отдельные подписи PKCS7). В моей компании (www.isigma.es), мы решаем, что, используя апплет, это общее решение в индустрии цифровых подписей (есть много коммерческих, а также некоторых решений с открытым исходным кодом). Это может быть не вариант в вашем случае, если вам не нужны плагины браузера.

CAPICOM (на основе Windows Active/X-компонент, который вы можете использовать в настройке Microsoft) также не генерирует XML-DSIG, только CMS/PKCS7.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top