Missing certification authority list
Certificate for authentication cannot be trusted
Description
This defect occurs when you use a context to handle TLS/SSL connections with these functions, but you do not load a certification authority (CA) list into the context.
SSL_connect
SSL_accept
SSL_do_handshake
SSL_write
SSL_read
BIO_do_connect
BIO_do_accept
BIO_do_handshake
A CA is a trusted third party entity that issues digital certificates to other entities. The certificate contains information about its owner. Server or clients use this information to authenticate connections to the certificate owner.
The checker raises a defect if:
For server authentication, the client has no CA list to determine whether the server certificate is from a trusted source.
For client authentication, the server has no CA list to determine whether the client certificate is from a trusted source.
Risk
Without a CA list, you cannot determine if the certificate is issued by a trusted CA. The entity that presents the certificate for authentication might not be the entity described in the certificate. Your connection is vulnerable to man-in-the-middle (MITM) attacks.
Fix
Load a certification authority list into the context you create to handle TLS/SSL connections.
Examples
Result Information
Group: Cryptography |
Language: C | C++ |
Default: Off |
Command-Line Syntax:
CRYPTO_SSL_NO_CA |
Impact: Medium |
Version History
Introduced in R2019b
See Also
Find defects
(-checkers)
| Missing X.509 certificate
Topics
- Interpret Bug Finder Results in Polyspace Desktop User Interface
- Address Results in Polyspace User Interface Through Bug Fixes or Justifications
- Interpret Bug Finder Results in Polyspace Access Web Interface (Polyspace Access)
- Address Results in Polyspace Access Through Bug Fixes or Justifications (Polyspace Access)