LINUX.ORG.RU

Цифровая подпись в PHP и CryptoPP

 , , ,


0

2

Необходимо сгенерировать цифровую подпись в PHP, которую потом можно будет проверить в C++ приложении с CryptoPP. Проблему совместомости файлов ключей уже решил, тоже не сразу. Но сейчас и PHP и CryptoPP могут корректно читать одни и те же закрытые и открытые ключи. Но подпись, которую возвращает openssl_sign в PHP не проходит проверку в CryptoPP. В CryptoPP использую DSA2<SHA256>. В CryptoPP подпись всегда 256 бит. А в PHP длина подписи отличается. Если сделать наоборот - проверить в PHP подпись от CryptoPP, то PHP сообщает о неверной структуре ASN.1 в подписи. То есть openss_sign возвращает не чисто подпись, а ASN.1 структуру с ней. ПРи этом первые байты не менятся, но начиная с 3 примерно - меняются. И суда по струкутуре в начале подписи PHP идут какие-то параметры.

Вопрос собственно: как сделать так, чтобы подпись PHP проверить в CryptoPP. Или подвопрос: что за структура у подписи PHP?



Последнее исправление: r_a_vic (всего исправлений: 1)
Ответ на: комментарий от mr4k1

Я в общем-то уже решил. Написал свой модуль для PHP с использованием того же CryptoPP. По другому никак не мог получить подписи в PHP валидные для CryptoPP.

r_a_vic
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.