Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline ivoidd  
#1 Оставлено : 17 июля 2024 г. 13:45:09(UTC)
ivoidd

Статус: Новичок

Группы: Участники
Зарегистрирован: 17.07.2024(UTC)
Сообщений: 1
Российская Федерация

Коллеги, привет!

Пробую создать подпись из примера CadesSamples/SimplifiedSignHashCades. Все создается без ошибок.
Пробую в своем примере и получаю на выходе диагностическую информацию по установленному CSP.
Код:
        CADES_SERVICE_CONNECTION_PARA tspConnectionPara = { sizeof(tspConnectionPara) };
        tspConnectionPara.wszUri = SERVICE_URL_2012;

        CADES_SIGN_PARA cadesSignPara = {sizeof(cadesSignPara)};
        cadesSignPara.dwCadesType = CADES_X_LONG_TYPE_1;
        cadesSignPara.pTspConnectionPara = &tspConnectionPara;

        CRYPT_SIGN_MESSAGE_PARA signPara = {sizeof(signPara)};
        signPara.dwMsgEncodingType = X509_ASN_ENCODING | PKCS_7_ASN_ENCODING;
        signPara.pSigningCert = pCertContext;
        signPara.HashAlgorithm.pszObjId = (LPSTR) GetHashOid(pCertContext);

        CADES_SIGN_MESSAGE_PARA para = {sizeof(para)};
        para.pSignMessagePara = &signPara;
        para.pCadesSignPara = &cadesSignPara;

        PCRYPT_DATA_BLOB pSignedMessage = 0;

        if (!CadesSignHash(&para, data, *size, (LPSTR) GetHashOid(pCertContext), &pSignedMessage)) {
                *size = sprintf(out,"CadesSignHash() failed: %i", GetLastError());
                CertFreeCertificateContext(pCertContext);
                return -1;
        }

        if (pChainContext)
                CertFreeCertificateChain(pChainContext);

        out = pSignedMessage->pbData;


В pSignedMessage->pbData у меня простыня примерно такого содержания:
Код:
[cptools\certificates]
shown_columns = msz:"Subject\'s name", \
  "Issuer\'s name", \
  "Expiration date", \
  "Serial number"

[cptools\create_sign]
shown_columns = msz:"Subject\'s name", \
  "Issuer\'s name", \
  "Expiration date", \
  "Thumbprint"
is_detached = 1

[cptools\encrypt_file]
shown_columns = msz:"Subject\'s name", \
  "Issuer\'s name", \
  "Expiration date", \
  "Thumbprint"

[cptools\revocation_lists]
shown_columns = msz:"Issuer", \
  "Expiration date", \
  "Thumbprint", \
  "Key ID"

[cptools]
window_width = 3440
window_height = 1414
csp_version = "5.0.13000"

[cptools\update_info]
query_time = 1721211465
query_success = 1
os = "linux"
architecture = "amd64"
installer = "rpm"
version = "5.0.13000"
codename = "Titan"
desc_link = "https://www.cryptopro.ru/forum2/default.aspx?g=posts&m=1473" \
  "72#post147372"
date = "2024-04-02"
link = "https://www.cryptopro.ru/update/csp/50/13000/linux-amd64.tgz"


При этом ошибок не получаю:
Код:
июл 17 13:31:11  cryptopro.test[62631]: <cades>retrieveOcspResponse #success#
июл 17 13:31:11  cryptopro.test[62631]: <cades>checkRevocation #failure# HRESULT: (0xc2110121)
июл 17 13:31:11  cryptopro.test[62631]: <cades>checkRevocation Cannot find OCSP response for certificate.
июл 17 13:31:11  cryptopro.test[62631]: <cades>checkRevocation #start#
июл 17 13:31:11  cryptopro.test[62631]: <cades>checkRevocation Checking certificate in CRL
июл 17 13:31:11  cryptopro.test[62631]: <cades>findAndVerifyInCrl #start#
июл 17 13:31:11  cryptopro.test[62631]: <cades>findInElementAndVerifyInCrl #start#
июл 17 13:31:11  cryptopro.test[62631]: <cades>findInElementAndVerifyInCrl #success#
июл 17 13:31:11  cryptopro.test[62631]: <cades>findInStoreAndVerifyInCrl #start#
июл 17 13:31:11  cryptopro.test[62631]: <cades>findInStoreAndVerifyInCrl Cannot find CRL in provided store
июл 17 13:31:11  cryptopro.test[62631]: <cades>findInStoreAndVerifyInCrl #success#
июл 17 13:31:11  cryptopro.test[62631]: <cades>retrieveAndVerifyInCrl #start#
июл 17 13:31:11  cryptopro.test[62631]: <cades>verifyCertificateInCrl #start#
июл 17 13:31:11  cryptopro.test[62631]: <cades>verifyCertificateInCrl #success#
июл 17 13:31:11  cryptopro.test[62631]: <cades>retrieveAndVerifyInCrl #success#
июл 17 13:31:11  cryptopro.test[62631]: <cades>findAndVerifyInCrl #success#
июл 17 13:31:11  cryptopro.test[62631]: <cades>checkRevocation Certificate is checked in CRL
июл 17 13:31:11  cryptopro.test[62631]: <cades>appendCrl #start#
июл 17 13:31:11  cryptopro.test[62631]: <cades>appendCrl #success#
июл 17 13:31:11  cryptopro.test[62631]: <cades>checkRevocation #success#
июл 17 13:31:11  cryptopro.test[62631]: <cades>lastElement #start#
июл 17 13:31:11  cryptopro.test[62631]: <cades>lastElement #start#
июл 17 13:31:11  cryptopro.test[62631]: <cades>walk #success#
июл 17 13:31:11  cryptopro.test[62631]: <cades>validateChain #success#
июл 17 13:31:11  cryptopro.test[62631]: <cades>CadesMsgGetType (hCryptMsg=0x32951ca0, dwSignatureIndex=0, pdwCadesType=0x7fff24484a1c)
июл 17 13:31:11  cryptopro.test[62631]: <cades>CadesMsgGetType (res=1, GetLastError=0x00000000


Подскажите в какую сторону смотреть.


upd. разобрался

Отредактировано пользователем 17 июля 2024 г. 15:31:49(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.