Fortop, спасибо за линк, это я видел. Забыл упомянуть, что у меня имеются ключи в таком виде, для наглядности приведу кусочек кода:
| Код | function read_private_key($filename) { $xml = simplexml_load_file($filename); $key_values['Modulus'] = base64_decode($xml->Modulus); $key_values['Exponent'] = base64_decode($xml->Exponent); $key_values['P'] = base64_decode($xml->P); $key_values['Q'] = base64_decode($xml->Q); $key_values['DP'] = base64_decode($xml->DP); $key_values['DQ'] = base64_decode($xml->DQ); $key_values['InverseQ'] = base64_decode($xml->InverseQ); $key_values['D'] = base64_decode($xml->D); return $key_values; }
|
То есть, у меня нет в наличии .pem файла с ключем. Для цифровой подписи нужна реализация по формуле: signature = m ^ D mod Modulus. Как видно, даны превычесленные значения алгоритма, которые позволяют использовать так называемую "китайскую теорему об остатке", при этом увеличивается быстродействие. Еще остается открытым вопрос о формировании сообщения, есть подозрение, что нужно использовать "сырые" сокеты, но я не уверен. Люди добрые, откликнитесь, возможно кто-то сталкивался с подобными проблемами. Уже голова кругом! |