logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

SSL_CTX_get0_param, SSL_get0_param, SSL_CTX_set1_param, SSL_set1_param, SSL_CTX_set_purpose,

Description

SSL_CTX_get0_param() and SSL_get0_param() retrieve an internal pointer to the verification parameters for
       ctx or ssl respectively. The returned pointer must not be freed by the calling application.

       SSL_CTX_set1_param() and SSL_set1_param() set the verification parameters to vpm for ctx or ssl.

       The functions SSL_CTX_set_purpose() and SSL_set_purpose() are shorthands which set the purpose parameter
       on the verification parameters object. These functions are equivalent to calling
       X509_VERIFY_PARAM_set_purpose() directly.

       The functions SSL_CTX_set_trust() and SSL_set_trust() are similarly shorthands which set the trust
       parameter on the verification parameters object. These functions are equivalent to calling
       X509_VERIFY_PARAM_set_trust() directly.

Examples

       Check hostname matches "www.foo.com" in peer certificate:

        X509_VERIFY_PARAM *vpm = SSL_get0_param(ssl);
        X509_VERIFY_PARAM_set1_host(vpm, "www.foo.com", 0);

History

       These functions were added in OpenSSL 1.0.2.

Name

       SSL_CTX_get0_param, SSL_get0_param, SSL_CTX_set1_param, SSL_set1_param, SSL_CTX_set_purpose,
       SSL_CTX_set_trust, SSL_set_purpose, SSL_set_trust - get and set verification parameters

Notes

       Typically parameters are retrieved from an SSL_CTX or SSL structure using SSL_CTX_get0_param() or
       SSL_get0_param() and an application modifies them to suit its needs: for example to add a hostname check.

Return Values

SSL_CTX_get0_param() and SSL_get0_param() return a pointer to an X509_VERIFY_PARAM structure.

       SSL_CTX_set1_param(), SSL_set1_param(), SSL_CTX_set_purpose(), SSL_set_purpose(), SSL_CTX_set_trust() and
       SSL_set_trust() return 1 for success and 0 for failure.

See Also

ssl(7), X509_VERIFY_PARAM_set_flags(3)

Synopsis

        #include <openssl/ssl.h>

        X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx);
        X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl);
        int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm);
        int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm);

        int SSL_CTX_set_purpose(SSL_CTX *ctx, int purpose);
        int SSL_set_purpose(SSL *ssl, int purpose);

        int SSL_CTX_set_trust(SSL_CTX *ctx, int trust);
        int SSL_set_trust(SSL *ssl, int trust);