CryptoSignPKCS1v15 - вычисляет подпись хеширования с использованием RSASSA-PKCS1-V1_5-SIGN из RSA PKCS # 1 v1.5. ================================================================================================================================================================ CryptoSignPKCS1v15 вычисляет подпись хеширования с использованием RSASSA-PKCS1-V1_5-SIGN из RSA PKCS # 1 v1.5. Обратите внимание, что хеширование должно быть результатом хеширования входного сообщения с использованием данной хеш-функции. Если хеш равен нулю, хеш подписывается напрямую. Это не рекомендуется, за исключением возможности взаимодействия. Если rand не равно нулю, то RSA-ослепление будет использоваться, чтобы избежать атак по побочным каналам по времени. Эта функция детерминирована. Таким образом, если набор возможных сообщений невелик, злоумышленник может построить карту от сообщений до подписей и идентифицировать подписанные сообщения. Как всегда, подписи обеспечивают подлинность, а не конфиденциальность. Пример .. code-block:: lua fullText=[[ 2019-02-08T00:00:00+06:002019-02-08T23:59:59+06:00 KZ5660XXXXXXXXXX1806 11111 ]] pk,errText1,errNum1 = ReadFile("c:/Users/damu/testonlinebank.p12") data,cert,errText,errNum = CryptoSignPKCS1v15(pk,"1234",fullText) body = "" .. Base64Encode(cert).."\r\n".. "" .. Base64Encode(fullText).."\r\n".. "" .. Base64Encode(data).."\r\n" data = array( { ["Content-type"] = "text/xml;charset=UTF-8" } ) --output={} res = httpPost2("https://services.onlinebank.kz:443/ContractStatementsWebService",data , [[ ]]..body..[[ ]] ) Результат .. code-block:: xml PGNvbnRyYWN0U3RhXXXXXXXXXXXXXXX8L2RhdGUtYmVnaW4+PGRhdGUtZW5kPjIwMTktMDItMDhUMjM6NTk6NTkrMDY6MDA8L2RhdGUtZW5kPgo8YWNjb3VudXXXXXXXXXXXXXXXXXX50LWliYW4+Cjxjb250cmFjdC1pZD44NTc5NjM8L2NvbnRyYWN0LWlXXXXXXXXXXX1JlcXVlc3Q+