CryptoAPI: Очень долгое CryptReleaseContext Rutoken CSP v 1.0

Здравствуйте.
у клиента появилась проблема: зависает наш софт, зависает именно на освобождении контекста провайдера Rutoken CSP v 1.0 - самое долгое 2 с лишним часа.

DWORD index = 0;
    DWORD len = 0;
    DWORD provType;
    CString provName;
    HCRYPTPROV prov(0);
    while (CryptEnumProviders(index, 0, 0, &provType, 0, &len))
    {
        if (CryptEnumProviders(index, 0, 0, &provType, provName.GetBufferSetLength(len), &len))
        {
            provName.ReleaseBuffer();
            ca_log_event(L"CryptAcquireContext CSP " + provName, false);
            if (CryptAcquireContext(&prov, 0, provName, provType, CRYPT_VERIFYCONTEXT | CRYPT_SILENT))
            {
                if (AlgorithmIsSupported(prov, algId, keyLength))
                {
                    ca_log_event(L"CSP found " + provName, false);
                    break;
                }
                ca_log_event(L"CryptReleaseContext CSP " + provName, false);
                CryptReleaseContext(prov, 0);
                prov = 0;
            }
            else
            {
                ca_log_err(GetLastError());
            }
        }
        index++;
    }

Лог для наглядности:

03.09.2024 16:13:30.164 (ThreadId: 7312) FindProvByAlgId: CryptAcquireContext CSP Aktiv ruToken CSP v1.0
03.09.2024 16:13:30.975 (ThreadId: 7312) FindProvByAlgId: CryptReleaseContext CSP Aktiv ruToken CSP v1.0
03.09.2024 18:42:49.247 (ThreadId: 7312) FindProvByAlgId: CryptAcquireContext CSP FCP Cryptographic Service Provider
03.09.2024 18:42:49.247 (ThreadId: 7312) FindProvByAlgId: CryptReleaseContext CSP FCP Cryptographic Service Provider

Далее попытка следующего вызова функции завершается с ошибкой(формулировка наша, но код ошибки есть):

03.09.2024 18:42:49.250 (ThreadId: 7312) FindProvByAlgId: CryptAcquireContext CSP Aktiv ruToken CSP v1.0
ERROR 03.09.2024 18:42:49.257 (ThreadId: 7312) FindProvByAlgId: Контекст криптопровайдера не был получен, или уже был освобожден
ERROR 03.09.2024 18:42:49.257 (ThreadId: 7312) FindProvByAlgId: Thu Dec 22 02:25:51 2022; CryptUtil.cpp:526
ERROR 03.09.2024 18:42:49.259 (ThreadId: 7312) FindProvByAlgId: ERROR Неизвестная ошибка. (0x8010001d)

Подскажите, пожалуйста, в чем может быть причина и как решить проблему?

Re: CryptoAPI: Очень долгое CryptReleaseContext Rutoken CSP v 1.0

Здравствуйте.
Ожидаемо помогло удаление данного CSP.
Но хотелось бы разобраться, в чем проблема?
Спасибо!