Отсутствующий ключ может привести к ошибке времени выполнения или небезопасному шифрованию
Дефект возникает, когда вы загружаете файл сертификата 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