Отсутствующий ключ может привести к ошибке времени выполнения или небезопасному шифрованию
Дефект возникает, когда вы загружаете файл сертификата X.509 в контекст SSL, но вы не загружаете соответствующий закрытый ключ, или ключ, который вы загружаете в контекст, имеет значение null.
Обычно при обмене TLS/SSL сервер доказывает свои тождества во время подтверждения TLS/SSL путем отправки сертификата X.509, содержащего информацию о сервере и открытом ключе. Клиент, который получает сертификат, использует открытый ключ для шифрования и отправки предмастерского секрета, который может быть расшифрован только соответствующим закрытым ключом. Сервер использует расшифрованный предварительно главный секрет и другие обменянные сообщения, чтобы сгенерировать сеансовые ключи, которые используются для шифрования сеанса связи.
Шашка не поднимает дефект, если:
Контекст SSL передается в качестве аргумента в функцию, которая вызывает SSL_new.
Контекст SSL объявляется вне возможностей функции, обрабатывающей соединение.
Отсутствие загрузки закрытого ключа для сертификата X.509 может привести к ошибке времени выполнения при незащищенном шифровании.
Загрузите закрытый ключ сертификата X.509 в контекст SSL путем вызова SSL_CTX_use_PrivateKey_file или загрузить закрытый ключ в структуру SSL путем вызова SSL_use_PrivateKey_file.
| Группа: Криптография |
| Язык: C | C++ |
| По умолчанию: Off |
Синтаксис командной строки
: CRYPTO_SSL_NO_PRIVATE_KEY |
| Влияние: Средний |
| ИДЕНТИФИКАТОР CWE: 573 |
Find defects (-checkers) | Missing certification authority list | Missing X.509 certificate