From bc51d2a8cd18ea5d7eda32658c1b876d6b13e2a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9D=D0=B0=D0=B8=D0=BB=D1=8F=20=D0=90=D0=BB=D0=B0=D1=88?= =?UTF-8?q?=D0=BA=D0=BE=D0=B2=D0=B0?= Date: Mon, 2 Dec 2024 12:02:24 +0300 Subject: [PATCH] =?UTF-8?q?SUPPORT-8761.=20=D0=9F=D0=BE=D0=B4=D1=80=D0=BE?= =?UTF-8?q?=D0=B1=D0=BD=D0=BE=D0=B5=20=D0=BB=D0=BE=D0=B3=D0=B8=D1=80=D0=BE?= =?UTF-8?q?=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA?= =?UTF-8?q?=D0=B8=20=D0=BE=D0=B1=20=D0=B8=D1=81=D1=82=D0=B5=D0=BA=D1=88?= =?UTF-8?q?=D0=B5=D0=B9=20=D0=BB=D0=B8=D1=86=D0=B5=D0=BD=D0=B7=D0=B8=D0=B8?= =?UTF-8?q?=20(+=20=D0=BE=20=D0=BD=D0=B5=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=D1=8C=D0=BD=D0=BE=D0=BC=20=D0=BF=D0=B0=D1=80=D0=BE=D0=BB?= =?UTF-8?q?=D0=B5)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/cryptopro.c | 26 +++++++++++++++++++++++++- Инструкция по установке.md | 7 +++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/src/utils/cryptopro.c b/src/utils/cryptopro.c index d15bdd3..acaa949 100644 --- a/src/utils/cryptopro.c +++ b/src/utils/cryptopro.c @@ -5,6 +5,7 @@ #include "library.h" #include "logger.h" + static capi_function_list_t cp_function_list; static library_t libcapi; @@ -203,6 +204,28 @@ exit: return is_verified; } +static void +log_sign_hash_data_last_error() +{ + DWORD error = cp_function_list.GetLastError(); + + switch (error) { + case ERROR_FUNCTION_FAILED: + LOG_ERROR("sign_hash_data exit with error. Last error code: " + "license is expired or not yet valid (0x%08x)", error); + break; + + case SCARD_W_WRONG_CHV: + LOG_ERROR("sign_hash_data exit with error. Last error code: " + "the wrong PIN was presented (0x%08x)", error); + break; + + default: + LOG_ERROR("sign_hash_data exit with error. Last error code: 0x%08x", error); + break; + } +} + static int sign_hash_data(const cryptopro_context_t *ctx, const str_t *data, /*out*/ str_t *sign) { @@ -288,8 +311,9 @@ exit: } if (rc) { - LOG_ERROR("sign_hash_data exit with error. Last error code: 0x%08x", cp_function_list.GetLastError()); + log_sign_hash_data_last_error(); } + return rc; } diff --git a/Инструкция по установке.md b/Инструкция по установке.md index 0e74d09..8e3390c 100644 --- a/Инструкция по установке.md +++ b/Инструкция по установке.md @@ -225,6 +225,13 @@ curl -v http://127.0.0.1/version В ответе будет получена версия приложения (статус-код ответа должен быть равен 200 OK). +### Лицензия КриптоПро + +Команда для проверки лицензии КриптоПро: +``` bash +/opt/cprocsp/sbin/amd64/cpconfig -license -view +``` + ### Примечания