Контекст, используемый для операции криптографии, сопоставлен с закрытым ключом NULL или не сопоставлен с закрытым ключом вообще
Этот дефект происходит, когда вы используете объект контекста для дешифрования, подписи, или совместно использовали секретную деривацию, но вы ранее не сопоставили объект с непустым закрытым ключом.
Например, вы инициализируете объект контекста закрытым ключом NULL и используете объект для дешифрования позже.
ctx = EVP_PKEY_CTX_new(pkey, NULL); ... ret = EVP_PKEY_decrypt_init(ctx); ... ret = EVP_PKEY_decrypt(ctx, out, &out_len, in, in_len);
Средство проверки дубликата Missing public key
проверки на открытый ключ в шифровании и операциях аутентификации. Средство проверки Missing peer key
проверки на коллегу вводят разделяемую секретную деривацию.
Без закрытого ключа, дешифрования, подписи или совместно использованного секретного шага вывода не происходит. Избыточная операция часто указывает на ошибку кодирования.
Проверяйте размещение операции (дешифрование, подпись, или совместно использовал секретную деривацию). Если операция предназначается, убедитесь, что вы завершили эти шаги до операции:
Сгенерируйте непустой закрытый ключ.
Например:
EVP_PKEY *pkey = NULL; kctx = EVP_PKEY_CTX_new_id(EVP_PKEY_RSA, NULL); EVP_PKEY_keygen_init(kctx); EVP_PKEY_CTX_set_rsa_keygen_bits(kctx, RSA_2048BITS); EVP_PKEY_keygen(kctx, &pkey);
Сопоставьте непустой объект контекста с закрытым ключом.
Например:
ctx = EVP_PKEY_CTX_new(pkey, NULL);
Примечание: Если вы используете EVP_PKEY_CTX_new_id
вместо EVP_PKEY_CTX_new
, вы не сопоставляете объект контекста с закрытым ключом.
Группа: криптография |
Язык: C | C++ |
Значение по умолчанию: Off |
Синтаксис командной строки:
CRYPTO_PKEY_NO_PRIVATE_KEY |
Удар: носитель |
ID CWE: 310, 320, 573, 664 |
Context initialized incorrectly for cryptographic operation
| Find defects (-checkers)
| Incorrect key for cryptographic algorithm
| Missing data for encryption, decryption or signing
| Missing parameters for key generation
| Missing peer key
| Missing public key
| Nonsecure parameters for key generation