Операция криптографии с открытым ключом не поддерживается алгоритмом, используемым при инициализации контекста
Этот дефект возникает при инициализации объекта контекста с ключом для определенного алгоритма, но при выполнении операции, которую алгоритм не поддерживает.
Например, контекст инициализируется ключом для алгоритма DSA.
ret = EVP_PKEY_set1_DSA(pkey,dsa); ctx = EVP_PKEY_CTX_new(pkey, NULL);
ret = EVP_PKEY_encrypt(ctx,out, &out_len, in, in_len);
Если алгоритм не поддерживает криптографическую операцию, ожидаемые результаты не отображаются. Например, при использовании алгоритма DSA для шифрования может появиться непредвиденный шифротекст.
Используйте алгоритм, подходящий для криптографической операции, которую необходимо выполнить:
Диффи-Хеллман (DH): Для вывода ключей.
Алгоритм цифровой подписи (DSA): для подписи.
RSA: для шифрования и подписи.
Эллиптическая кривая (EC): Для вывода ключей и сигнатуры.
| Группа: Криптография |
| Язык: C | C++ |
| По умолчанию: Откл. |
Синтаксис командной строки:
CRYPTO_PKEY_INCORRECT_KEY |
| Воздействие: среднее |
| CWE ID: 310, 325, 573, 664 |
Context initialized incorrectly for cryptographic operation | Find defects (-checkers) | Missing data for encryption, decryption or signing operation | Missing parameters for key generation | Missing peer key | Missing private key | Missing public key | Nonsecure parameters for key generation