Проверка подписи на PHP
(1 чел.) (1) гость
  • Страница:
  • 1
  • 2
  • 3
  • 4

ТЕМА: Проверка подписи на PHP

Re: Проверка подписи на PHP 9 мес. назад #4656

  • elPumba
  • Новый участник
  • Постов: 10
  • Репутация: 2
Ситуация понемногу начинает проясняться. Но появился ряд вопросов относительно реализации процесса подписания XML:

1. Что конкретно подписывается в xml документе: содержимое <ds:SignedInfo> или хэш <ds:SignedInfo>?

2. Как должна выглядеть строка которую хэшируем/подписывем:
а) <ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm=" www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<ds:SignatureMethod Algorithm=" www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<ds:Reference URI="">
<ds:Transforms>
<ds:Transform Algorithm=" www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm=" www.w3.org/TR/2001/REC-xml-c14n-20010315...hComments"/>
</ds:Transforms>
<ds:DigestMethod Algorithm=" www.w3.org/2001/04/xmlenc#sha256"/>
<ds:DigestValue>Lux33eWUj46OF+itELOaO6ZVleyBBeE7XKtvjBntAHI=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
или
б) <ds:CanonicalizationMethod Algorithm=" www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<ds:SignatureMethod Algorithm=" www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<ds:Reference URI="">
<ds:Transforms>
<ds:Transform Algorithm=" www.w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform Algorithm=" www.w3.org/TR/2001/REC-xml-c14n-20010315...hComments"/>
</ds:Transforms>
<ds:DigestMethod Algorithm=" www.w3.org/2001/04/xmlenc#sha256"/>
<ds:DigestValue>Lux33eWUj46OF+itELOaO6ZVleyBBeE7XKtvjBntAHI=</ds:DigestValue>
</ds:Reference>

3. Верно ли я понимаю последовательность действий:
а) Хэшируем строку xml.
б) Подписываем хэш.
в) Упаковываем результат в base64?

Заранее благодарю.
Изменено: 9 мес. назад от elPumba.

Re: Проверка подписи на PHP 9 мес. назад #4657

  • elPumba
  • Новый участник
  • Постов: 10
  • Репутация: 2
Уже разобрался, извиняюсь за беспокойство.

Re: Проверка подписи на PHP 9 мес. назад #4658

  • elPumba
  • Новый участник
  • Постов: 10
  • Репутация: 2
Удалось верифицировать подпись нативными средствами РНР с использованием классов DOMDocument и OpenSSL. Теперь хотелось бы узнать какие алгоритмы шифрования используются в NCALayer помимо rsa-sha256? Чтобы расширить возможности библиотеки.
Изменено: 9 мес. назад от elPumba.

Re: Проверка подписи на PHP 9 мес. назад #4659

  • danil.miskiv
  • Осваиваюсь на форуме
  • Постов: 24
  • Репутация: 1
elPumba написал:
Теперь хотелось бы узнать какие алгоритмы шифрования используются в NCALayer помимо rsa-sha256? .


Используется алгоритм подписи ГОСТ34.310-2004. Реализация данного алгоритма осуществляется только в наших библиотеках.
Изменено: 9 мес. назад от danil.miskiv.
Спасибо сказали: elPumba

Re: Проверка подписи на PHP 9 мес. назад #4660

  • elPumba
  • Новый участник
  • Постов: 10
  • Репутация: 2
Верно ли я понимаю, что RSA сертификаты выдаются физическим лицам и негосударственным юридическим лицам, а ГОСТ сертификаты предназначены для сотрудников государственных учреждений? Просто мы в своей системе будем принимать только документы подписанные физическими лицами и если мое предположение верно, то в реализации ГОСТ алгоритмов у нас нет необходимости.

Re: Проверка подписи на PHP 9 мес. назад #4661

  • danil.miskiv
  • Осваиваюсь на форуме
  • Постов: 24
  • Репутация: 1
elPumba написал:
Просто мы в своей системе будем принимать только документы подписанные физическими лицами и если мое предположение верно, то в реализации ГОСТ алгоритмов у нас нет необходимости.

В случае возникновения каких-то споров, подпись созданная RSA будет юридически недействительна, если она создавалась не нашими библиотеками.
  • Страница:
  • 1
  • 2
  • 3
  • 4
FaLang translation system by Faboba