Статус: Новичок
Группы: Участники
Зарегистрирован: 18.10.2014(UTC) Сообщений: 9
|
ОС на сервере: RHEL7 ОС на клиенте: W7 CSP: 3.9 ЭЦП SDK: 1.05 1. Формирую на W7 в браузере подпись(CADES_BES) сообщения, отсылаю ее на сервер.
MIIJYwYJKoZIhvcNAQcCoIIJVDCCCVACAQExCzAJBgUrDgMCGgUAMBIGCSqGSIb3DQEHAaAFBAO16y2gggcMMIICTDCCAfugAwIBAgIQK24zUf1usq1IIAIDy1uhQTAIBgYqhQMCAgMwfzEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBjcnlwdG9wcm8ucnUxCzAJBgNVBAYTAlJVMQ8wDQYDVQQHEwZNb3Njb3cxFzAVBgNVBAoTDkNSWVBUTy1QUk8gTExDMSEwHwYDVQQDExhDUllQVE8tUFJPIFRlc3QgQ2VudGVyIDIwHhcNMTQwODA1MTM0NDI0WhcNMTkwODA1MTM1NDAzWjB/MSMwIQYJKoZIhvcNAQkBFhRzdXBwb3J0QGNyeXB0b3Byby5ydTELMAkGA1UEBhMCUlUxDzANBgNVBAcTBk1vc2NvdzEXMBUGA1UEChMOQ1JZUFRPLVBSTyBMTEMxITAfBgNVBAMTGENSWVBUTy1QUk8gVGVzdCBDZW50ZXIgMjBjMBwGBiqFAwICEzASBgcqhQMCAiMBBgcqhQMCAh4BA0MABEDgUgrcR9wpvdcgXwxIfO/UjR52JdC9UgWOrc3Ky2YMpunm+lAm5JIgbnCASrzW/Q43EMfmhQGy7dZijrm3zceeo1EwTzALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUFTF8sI0a3mbXFZxJUpcXJLkBeoMwEAYJKwYBBAGCNxUBBAMCAQAwCAYGKoUDAgIDA0EA2MocS+lhIGVHLNXI6jiI3s3scchFv7+c5d7/VVp3JJnt4Lki0avn90/m0G97j1oq407pZA2QUDLB8eO0SRJX1TCCBLgwggRnoAMCAQICExIAAE710R02MB86m24AAAAATvUwCAYGKoUDAgIDMH8xIzAhBgkqhkiG9w0BCQEWFHN1cHBvcnRAY3J5cHRvcHJvLnJ1MQswCQYDVQQGEwJSVTEPMA0GA1UEBxMGTW9zY293MRcwFQYDVQQKEw5DUllQVE8tUFJPIExMQzEhMB8GA1UEAxMYQ1JZUFRPLVBSTyBUZXN0IENlbnRlciAyMB4XDTE0MTAwODExNTIyM1oXDTE1MTAwODEyMDIyM1owcTEaMBgGCSqGSIb3DQEJARYLZnNkZkBzZGYucnUxDjAMBgNVBAMMBVZpc2RmMQwwCgYDVQQLDANzZGYxDDAKBgNVBAoMA3NkZjEMMAoGA1UEBwwDZnNkMQwwCgYDVQQIDANmc2QxCzAJBgNVBAYTAlJVMIIBtzCCASsGByqGSM44BAEwggEeAoGBAMOMa+V6qnKe7DrkoaMX8V96hqInonGj/57gTVv75d77Ts+bNtA9XW2HXRbdOck63U/Dk9BF0ZIPaVRJoZbmg4v4p/9SpBYYt+mqLYRC4rRNZgBKzNpkDc6vkVGLCzVu+IgQ8vtAHZmnU9MT3Pyj2rrXp/BjafC4m91f8nTqF0xRAhUAkcJ4rqN5oCnzjFfJ52VbddQOfXsCgYB98YEGpM3Gq6net217s1NiBntakFS+HwvvFbT1n1frVWPmBaGFGGrTsKx8vmPUj4SbsUYHlfGn0REU7zxZFXiMu+OMRMlJkUu1v9t1cj0v09p6aL6BWZj6ckiI7+aZl1IfI5OjCzto9u23GXqA32bJZ30rzcOrfPoyliLRPUPh1wOBhQACgYEAp2TxCKrFQcRgs8OJW6Ds660WAADDOddbQdpWhAvyGPCm4led7wqO9dTReEAR61uDH/nwQnoU2XoA2AZNFbKJvWqA48fqaj4ITfTGKcf+cQzSCFkoNlTqmetW3YwACMUh9fewbVjCpUu1nenO+FQ+Zw1UuAisKoYFwYGo6Bb93EyjggFwMIIBbDAOBgNVHQ8BAf8EBAMCBsAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFKMRplVC/xnMROgshmkPsCrdd6rEMB8GA1UdIwQYMBaAFBUxfLCNGt5m1xWcSVKXFyS5AXqDMFkGA1UdHwRSMFAwTqBMoEqGSGh0dHA6Ly90ZXN0Y2EuY3J5cHRvcHJvLnJ1L0NlcnRFbnJvbGwvQ1JZUFRPLVBSTyUyMFRlc3QlMjBDZW50ZXIlMjAyLmNybDCBqQYIKwYBBQUHAQEEgZwwgZkwYQYIKwYBBQUHMAKGVWh0dHA6Ly90ZXN0Y2EuY3J5cHRvcHJvLnJ1L0NlcnRFbnJvbGwvdGVzdC1jYS0yMDE0X0NSWVBUTy1QUk8lMjBUZXN0JTIwQ2VudGVyJTIwMi5jcnQwNAYIKwYBBQUHMAGGKGh0dHA6Ly90ZXN0Y2EuY3J5cHRvcHJvLnJ1L29jc3Avb2NzcC5zcmYwCAYGKoUDAgIDA0EAdY3jJ/2oRi1/tYxzduSAbtR6eSgGgYWy9XdZWZBsRjX2F7PvTq6Up4dysl3qCxE5iF0reyM2r6hhH3R/E2lcDjGCAhgwggIUAgEBMIGWMH8xIzAhBgkqhkiG9w0BCQEWFHN1cHBvcnRAY3J5cHRvcHJvLnJ1MQswCQYDVQQGEwJSVTEPMA0GA1UEBxMGTW9zY293MRcwFQYDVQQKEw5DUllQVE8tUFJPIExMQzEhMB8GA1UEAxMYQ1JZUFRPLVBSTyBUZXN0IENlbnRlciAyAhMSAABO9dEdNjAfOptuAAAAAE71MAkGBSsOAwIaBQCgggEuMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTE0MTAxODEyMTY0MFowIwYJKoZIhvcNAQkEMRYEFGYMQlYTsGpKW9CuvSW/zBrarncZMIHOBgsqhkiG9w0BCRACDDGBvjCBuzCBuDCBtQQUZxukjqYmIKeD+mLBAXiKmAEKyKEwgZwwgYSkgYEwfzEjMCEGCSqGSIb3DQEJARYUc3VwcG9ydEBjcnlwdG9wcm8ucnUxCzAJBgNVBAYTAlJVMQ8wDQYDVQQHEwZNb3Njb3cxFzAVBgNVBAoTDkNSWVBUTy1QUk8gTExDMSEwHwYDVQQDExhDUllQVE8tUFJPIFRlc3QgQ2VudGVyIDICExIAAE710R02MB86m24AAAAATvUwCQYHKoZIzjgEAQQuMCwCFCbJ0r6QF/vnPF88qOgtNGq5stTwAhRNlPMa8WV5amJpCz8Vc+hNFdF3gA==
2. Проверяю на сервере(RHEL7) функцией:
Код:
# Python 2.7.5 + ctypes
# ---------------------
DEFAULT_ENCODING_TYPE = DWORD(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING)
#...
cmsg = b64decode(message_b64)
#...
def crypt_verify_message_signature(
message_raw,
encoding_type=DEFAULT_ENCODING_TYPE):
verification_info = CADES_VERIFICATION_INFO()
verify_params = CRYPT_VERIFY_MESSAGE_PARA()
verify_params.cbSize = c_sizeof(verify_params)
verify_params.dwMsgAndCertEncodingType = encoding_type
cades_verification_params = CADES_VERIFICATION_PARA()
cades_verification_params.dwSize = c_sizeof(cades_verification_params)
cades_verification_params.dwCadesType = CADES_BES
cades_verify_params = CADES_VERIFY_MESSAGE_PARA()
cades_verify_params.dwSize = c_sizeof(cades_verify_params)
cades_verify_params.pVerifyMessagePara = PCRYPT_VERIFY_MESSAGE_PARA(verify_params)
cades_verify_params.pCadesVerifyPara = PCADES_VERIFICATION_PARA(cades_verification_params)
message_buffer = create_string_buffer(message_raw)
message_size = len(message_buffer.raw)
if CadesVerifyMessage(
byref(cades_verify_params),
0,
message_buffer,
message_size,
NULL,
byref(verification_info)
):
return verification_info
else:
raise exceptions.CryptVerifyMessageSignatureError(GetLastError())
crypt_verify_message_signature(cmsg) # 0x80090008
Лог:
Oct 20 03:17:46 localhost python: ubi_mutex 03:17:46.041491 named_mutex_once:86 p:998 t:0x0x7f40816fa1d0 fscanf('%d') - fail errno=0(Success) Oct 20 03:17:46 localhost cades[998]: cades: CadesVerifyMessage (pVerifyPara=0x0x20f0ca0, dwSignerIndex=0, pbSignedBlob=0x0x1e25080, cbSignedBlob=2408, ppDecodedBlob=0x(nil), ppVerificationInfo=0x0x228ea80) Oct 20 03:17:46 localhost cades[998]: capi10: CryptGetDefaultProvider () Default provider for type 1 is not specified! Oct 20 03:17:46 localhost cpcsp[957]: cryptsrv: support_grow_handle_table lpTable->lEntries=0 newLEntries=139985869078656 Oct 20 03:17:46 localhost libcspr[998]: cades: CadesMsgVerifySignatureImpl Input parameters checked Oct 20 03:17:46 localhost libcspr[998]: cades: VerifyMessageSignature Signature verification started Oct 20 03:17:46 localhost libcspr[998]: capi20: CryptMsgControl () Exception :'Îøèáêà 0x80090008: Invalid algorithm specified.' at file:'/dailybuildsbranches/CSP_3_9/CSPbuild/CSP/capilite/CMSSignedMessage.cpp' line:1249 Oct 20 03:17:46 localhost libcspr[998]: cades: VerifyMessageSignature Exception thrown: _hr Oct 20 03:17:46 localhost libcspr[998]: cades: CadesVerifyMessage CAtlException, m_hr=0x80090008 Oct 20 03:17:46 localhost libcspr[998]: cades: CadesVerifyMessage (res=0, GetLastError=0x80090008
Backtrace 0x80090017:
#0 0x00007fffefd61580 in SetLastError () from /opt/cprocsp/lib/amd64/libcapi10.so.4 #1 0x00007fffefd5a233 in CryptGetDefaultProvider () from /opt/cprocsp/lib/amd64/libcapi10.so.4 #2 0x00007fffefd57ce8 in CryptAcquireContextA () from /opt/cprocsp/lib/amd64/libcapi10.so.4 #3 0x00007fffefd57fe8 in CPCAPI_I_GetDefaultProvider () from /opt/cprocsp/lib/amd64/libcapi10.so.4 #4 0x00007fffefff8a0a in ?? () from /opt/cprocsp/lib/amd64/libcapi20.so #5 0x00007ffff00468c4 in ?? () from /opt/cprocsp/lib/amd64/libcapi20.so #6 0x00007ffff003cc07 in ?? () from /opt/cprocsp/lib/amd64/libcapi20.so #7 0x00007ffff0088301 in CryptMsgUpdate () from /opt/cprocsp/lib/amd64/libcapi20.so #8 0x00007fffee5cfd36 in CadesVerifyMessageImpl(_CADES_VERIFY_MESSAGE_PARA*, unsigned int, unsigned char const*, unsigned int, _CRYPTOAPI_BLOB**, _CADES_VERIFICATION_INFO**, bool) () from /opt/cprocsp/lib/amd64/libcades.so #9 0x00007fffee5d15ef in CadesVerifyMessage () from /opt/cprocsp/lib/amd64/libcades.so #10 0x00007ffff03e8dac in ffi_call_unix64 () from /lib64/libffi.so.6 #11 0x00007ffff03e86d5 in ffi_call () from /lib64/libffi.so.6 #12 0x00007ffff05fbc8b in _ctypes_callproc () from /usr/lib64/python2.7/lib-dynload/_ctypes.so #13 0x00007ffff05f5a85 in PyCFuncPtr_call () from /usr/lib64/python2.7/lib-dynload/_ctypes.so #14 0x00007ffff7a60073 in PyObject_Call () from /lib64/libpython2.7.so.1.0 #15 0x00007ffff7af434c in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0 #16 0x00007ffff7af81ad in PyEval_EvalCodeEx () from /lib64/libpython2.7.so.1.0 #17 0x00007ffff7af685f in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0 #18 0x00007ffff7af81ad in PyEval_EvalCodeEx () from /lib64/libpython2.7.so.1.0 #19 0x00007ffff7af82b2 in PyEval_EvalCode () from /lib64/libpython2.7.so.1.0 #20 0x00007ffff7b116ef in run_mod () from /lib64/libpython2.7.so.1.0 #21 0x00007ffff7b128ae in PyRun_FileExFlags () from /lib64/libpython2.7.so.1.0 #22 0x00007ffff7b13b39 in PyRun_SimpleFileExFlags () from /lib64/libpython2.7.so.1.0 #23 0x00007ffff7b24b3f in Py_Main () from /lib64/libpython2.7.so.1.0 #24 0x00007ffff6d51af5 in __libc_start_main () from /lib64/libc.so.6 #25 0x0000000000400721 in _start ()
Backtrace 0x80090008:
#0 0x00007fffefd61580 in SetLastError () from /opt/cprocsp/lib/amd64/libcapi10.so.4 #1 0x00007fffee5d1787 in CadesVerifyMessage () from /opt/cprocsp/lib/amd64/libcades.so #2 0x00007ffff03e8dac in ffi_call_unix64 () from /lib64/libffi.so.6 #3 0x00007ffff03e86d5 in ffi_call () from /lib64/libffi.so.6 #4 0x00007ffff05fbc8b in _ctypes_callproc () from /usr/lib64/python2.7/lib-dynload/_ctypes.so #5 0x00007ffff05f5a85 in PyCFuncPtr_call () from /usr/lib64/python2.7/lib-dynload/_ctypes.so #6 0x00007ffff7a60073 in PyObject_Call () from /lib64/libpython2.7.so.1.0 #7 0x00007ffff7af434c in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0 #8 0x00007ffff7af81ad in PyEval_EvalCodeEx () from /lib64/libpython2.7.so.1.0 #9 0x00007ffff7af685f in PyEval_EvalFrameEx () from /lib64/libpython2.7.so.1.0 #10 0x00007ffff7af81ad in PyEval_EvalCodeEx () from /lib64/libpython2.7.so.1.0 #11 0x00007ffff7af82b2 in PyEval_EvalCode () from /lib64/libpython2.7.so.1.0 #12 0x00007ffff7b116ef in run_mod () from /lib64/libpython2.7.so.1.0 #13 0x00007ffff7b128ae in PyRun_FileExFlags () from /lib64/libpython2.7.so.1.0 #14 0x00007ffff7b13b39 in PyRun_SimpleFileExFlags () from /lib64/libpython2.7.so.1.0 #15 0x00007ffff7b24b3f in Py_Main () from /lib64/libpython2.7.so.1.0 #16 0x00007ffff6d51af5 in __libc_start_main () from /lib64/libc.so.6 #17 0x0000000000400721 in _start ()
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 18.10.2014(UTC) Сообщений: 9
|
Правильно ли я понимаю, что осуществляется поиск провайдера PROV_RSA_FULL ?
Oct 20 03:17:46 localhost cades[998]: capi10: CryptGetDefaultProvider () Default provider for type 1 is not specified!
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 18.10.2014(UTC) Сообщений: 9
|
Проблема была в том, что ключ был сгенерирован для RSA, соотв. этот алгоритм под Linux не поддерживался (в рамках решений КриптоПро). Отредактировано пользователем 20 октября 2014 г. 13:56:32(UTC)
| Причина: Не указана
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 18.10.2014(UTC) Сообщений: 9
|
Теперь другая проблема: Код:
Oct 20 05:35:07 localhost python: ubi_mutex 05:35:07.828984 named_mutex_once:86 p:2649 t:0x0x7f529bd8b1d0 fscanf('%d') - fail errno=0(Success)
Oct 20 05:35:07 localhost cades[2649]: cades: CadesVerifyMessage (pVerifyPara=0x0xf22d10, dwSignerIndex=0, pbSignedBlob=0x0xc57080, cbSignedBlob=2132, ppDecodedBlob=0x(nil), ppVerificationInfo=0x0x10c0b50)
Oct 20 05:35:08 localhost libcspr[2649]: cades: CadesMsgVerifySignatureImpl Input parameters checked
Oct 20 05:35:08 localhost libcspr[2649]: capi20: CryptMsgGetParam () Exception :'Îøèáêà 0xea: More data is available.' at file:'/dailybuildsbranches/CSP_3_9/CSPbuild/CSP/capilite/CMSMessage.h' line:162
Oct 20 05:35:08 localhost libcspr[2649]: capi20: CryptMsgGetParam () Exception :'Îøèáêà 0xea: More data is available.' at file:'/dailybuildsbranches/CSP_3_9/CSPbuild/CSP/capilite/CMSMessage.h' line:162
Oct 20 05:35:08 localhost libcspr[2649]: capi20: CryptMsgGetParam () Exception :'Îøèáêà 0xea: More data is available.' at file:'/dailybuildsbranches/CSP_3_9/CSPbuild/CSP/capilite/CMSMessage.h' line:162
Oct 20 05:35:08 localhost libcspr[2649]: capi20: CryptMsgGetParam () Exception :'Îøèáêà 0xea: More data is available.' at file:'/dailybuildsbranches/CSP_3_9/CSPbuild/CSP/capilite/CMSMessage.h' line:162
Oct 20 05:35:08 localhost libcspr[2649]: cades: VerifyMessageSignature Signature verification started
Oct 20 05:35:08 localhost libcspr[2649]: cades: VerifyMessageSignature Signature verified
Oct 20 05:35:08 localhost libcspr[2649]: cades: ExtractSignature Signature extracted via CMSG_ENCRYPTED_DIGEST
Oct 20 05:35:08 localhost libcspr[2649]: cades: ExtractSignature Signature extracted via CMSG_ENCRYPTED_DIGEST
Oct 20 05:35:08 localhost libcspr[2649]: cades: GetEarliestStamp Looking for an earliest valid timestamp
Oct 20 05:35:08 localhost libcspr[2649]: cades: GetEarliestStamp No valid time stamps found in signature for attribute
Oct 20 05:35:08 localhost libcspr[2649]: cades: CadesVerifyMessage CAtlException, m_hr=0x80070490
Oct 20 05:35:08 localhost libcspr[2649]: cades: CadesVerifyMessage (res=0, GetLastError=0x80070490
Отредактировано пользователем 20 октября 2014 г. 15:45:03(UTC)
| Причина: Не указана
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 18.10.2014(UTC) Сообщений: 9
|
Решилось все отказом от функции CadesVerifyMessage в сторону CryptVerifyMessageSignature, как временное решение. Отредактировано пользователем 20 октября 2014 г. 15:47:12(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Просматривает сообщения в теме : 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
А чему у вас CADES_BES константа равна? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 18.10.2014(UTC) Сообщений: 9
|
Код:
#define CADES_DEFAULT 0x00000000
#define CADES_BES 0x00000001
#define CADES_X_LONG_TYPE_1 0x0000005D
Соответственно CADES_BES = 1 p.s.: для генерации данных (структур, типов, констант) из заголовочных C файлов был использован ctypesgen, так что константы должны быть идентичны оригинальным. Отредактировано пользователем 21 октября 2014 г. 9:52:53(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Просматривает сообщения в теме : 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Я правильно понимаю что у вас там еще в подписи есть атрибуты с штампами времени как в CADES_XLONG_TYPE_1? |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close