Контекст, используемый для операции криптографии, связан с закрытым ключом NULL или не связан с закрытым ключом вообще
Этот дефект возникает, когда вы используете объект контекста для расшифровки, сигнатуры или производных от общего секрета, но ранее вы не связывали объект с закрытым ключом, отличным от 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
проверяет наличие однорангового ключа в деривации общего секрета.
Без закрытого ключа дешифрование, подпись или шаг производных от общего секрета не происходит. Избыточная операция часто указывает на ошибку кодирования.
Проверьте размещение операции (дешифрование, подпись или деривация общего секрета). Если операция предназначена, убедитесь, что вы завершили следующие шаги до операции:
Сгенерируйте закрытый ключ, отличный от NULL.
Для образца:
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);
Связать объект контекста, отличный от NULL, с закрытым ключом.
Для образца:
ctx = EVP_PKEY_CTX_new(pkey, NULL);
Примечание: Если вы используете EVP_PKEY_CTX_new_id
вместо EVP_PKEY_CTX_new
объект контекста не связан с закрытым ключом.
Группа: Криптография |
Язык: C | C++ |
По умолчанию: Off |
Синтаксис командной строки
: CRYPTO_PKEY_NO_PRIVATE_KEY |
Влияние: Средний |
ИДЕНТИФИКАТОР 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