2015-06-17 22:51:41 +08:00
|
|
|
=pod
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
2022-04-04 20:45:44 +08:00
|
|
|
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 -
|
2015-06-17 22:51:41 +08:00
|
|
|
get and set verification parameters
|
|
|
|
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
|
|
|
|
#include <openssl/ssl.h>
|
|
|
|
|
2020-07-15 16:26:35 +08:00
|
|
|
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);
|
2015-06-17 22:51:41 +08:00
|
|
|
|
2022-04-04 20:45:44 +08:00
|
|
|
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);
|
|
|
|
|
2015-06-17 22:51:41 +08:00
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
|
|
|
SSL_CTX_get0_param() and SSL_get0_param() retrieve an internal pointer to
|
|
|
|
the verification parameters for B<ctx> or B<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 B<vpm> for B<ctx> or B<ssl>.
|
|
|
|
|
2022-04-04 20:45:44 +08:00
|
|
|
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.
|
|
|
|
|
2015-06-17 22:51:41 +08:00
|
|
|
=head1 NOTES
|
|
|
|
|
|
|
|
Typically parameters are retrieved from an B<SSL_CTX> or B<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.
|
|
|
|
|
|
|
|
=head1 RETURN VALUES
|
|
|
|
|
|
|
|
SSL_CTX_get0_param() and SSL_get0_param() return a pointer to an
|
|
|
|
B<X509_VERIFY_PARAM> structure.
|
|
|
|
|
2022-04-04 20:45:44 +08:00
|
|
|
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.
|
2015-06-17 22:51:41 +08:00
|
|
|
|
2019-08-16 02:26:08 +08:00
|
|
|
=head1 EXAMPLES
|
2019-08-16 01:52:41 +08:00
|
|
|
|
|
|
|
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);
|
|
|
|
|
2015-06-17 22:51:41 +08:00
|
|
|
=head1 SEE ALSO
|
|
|
|
|
2019-11-02 00:27:29 +08:00
|
|
|
L<ssl(7)>,
|
2015-08-18 03:21:33 +08:00
|
|
|
L<X509_VERIFY_PARAM_set_flags(3)>
|
2015-06-17 22:51:41 +08:00
|
|
|
|
|
|
|
=head1 HISTORY
|
|
|
|
|
2018-12-09 08:02:36 +08:00
|
|
|
These functions were added in OpenSSL 1.0.2.
|
2015-06-17 22:51:41 +08:00
|
|
|
|
2016-05-18 23:44:05 +08:00
|
|
|
=head1 COPYRIGHT
|
|
|
|
|
2022-05-03 18:52:38 +08:00
|
|
|
Copyright 2015-2022 The OpenSSL Project Authors. All Rights Reserved.
|
2016-05-18 23:44:05 +08:00
|
|
|
|
2018-12-06 21:04:44 +08:00
|
|
|
Licensed under the Apache License 2.0 (the "License"). You may not use
|
2016-05-18 23:44:05 +08:00
|
|
|
this file except in compliance with the License. You can obtain a copy
|
|
|
|
in the file LICENSE in the source distribution or at
|
|
|
|
L<https://www.openssl.org/source/license.html>.
|
|
|
|
|
|
|
|
=cut
|