Проверка подлинности сертификата RSASSA-PSS (COPP)
От: Maxwell_House  
Дата: 12.05.11 11:37
Оценка:
Добрый день!

Мне необходимо проверить подлинность сертификата, получаемого от Video Mixing Renderer (Microsoft Direct Show) по интерфейсу IAMCertifiedOutputProtection.
http://msdn.microsoft.com/en-us/library/aa468617.aspx#validating_the_copp_certificate_chain__ntlp
Я вызываю функцию IAMCertifiedOutputProtection::KeyExchange, получаю открытый ключ и сертификат.

Далее каждый шаг, описанный в MSDN, выполняется успешно, остается только проверить сертификат по схеме RSASSA-PSS. Для этого я использую библиотеку Crypto++.
http://www.copypastecode.com/70961/?view=lines

Функция библиотеки RecoverMessageFromRepresentative возвращает false:
http://www.copypastecode.com/70957/?view=lines
Строка 21: переменная salt указывает на паддинг. Как результат, *M указывает на позицию, находящуюся на 19 нулевых байт впереди искомого байта 0x01.
Пункт 10 стандарта не выполняется.
http://tools.ietf.org/html/rfc3447#section-9.1.2

Есть у кого-нибудь опыт работы с чем-либо и выше перечисленного. Возможно имеются какие-либо идеи что может быть неверно.
cryptopp copp
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.