Контекст, используемый для разделяемой секретной деривации, сопоставлен с равноправным ключом NULL или не сопоставлен с равноправным ключом вообще
Отсутствие равноправного ключа происходит, когда вы используете объект контекста для разделяемой секретной деривации, но вы ранее не сопоставили объект с непустым равноправным ключом.
Например, вы инициализируете объект контекста, и затем используете объект для разделяемой секретной деривации без промежуточного шага, где объект сопоставлен с равноправным ключом:
EVP_PKEY_derive_init(ctx); /* Missing step for associating peer key with context */ ret = EVP_PKEY_derive(ctx, out_buf, &out_len);
Средство проверки дубликата Missing private key
проверяет на закрытый ключ в разделяемой секретной деривации.
Без равноправного ключа не происходит разделяемый секретный шаг вывода. Избыточная операция часто указывает на ошибку кодирования.
Проверяйте размещение разделяемого секретного шага вывода. Если операция предназначается, убедитесь, что вы завершили эти шаги до операции:
Сгенерируйте непустой равноправный ключ.
Например:
EVP_PKEY* peerkey = NULL; EVP_PKEY_keygen(EVP_PKEY_CTX_new_id(EVP_PKEY_RSA, NULL), &peerkey);
Сопоставьте непустой объект контекста с равноправным ключом.
Например:
EVP_PKEY_derive_set_peer(ctx,peerkey);
Группа: криптография |
Язык: C | C++ |
Значение по умолчанию: 'off' |
Синтаксис командной строки:
CRYPTO_PKEY_NO_PEER |
Влияние: носитель |
ID CWE: 310, 320, 573, 664 |
Context initialized incorrectly for cryptographic operation
| Find defects (-checkers)
| Incorrect key for cryptographic algorithm
| Missing parameters for key generation
| Missing data for encryption, decryption or signing
| Missing private key
| Missing public key
| Nonsecure parameters for key generation