aboutsummaryrefslogtreecommitdiffstats
path: root/doc/ssl/SSL_CTX_get0_param.pod
blob: 332f181187a8f4993c293fa8dae52b1f7107c8de (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
=pod

=head1 NAME

SSL_CTX_get0_param, SSL_get0_param, SSL_CTX_set1_param, SSL_set1_param -
get and set verification parameters

=head1 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)

=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>.

=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 EXAMPLE

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");

=head1 RETURN VALUES

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

SSL_CTX_set1_param() and SSL_set1_param() return 1 for success and 0
for failure.

=head1 SEE ALSO

L<X509_VERIFY_PARAM_set_flags(3)|X509_VERIFY_PARAM_set_flags(3)>

=head1 HISTORY

These functions were first added to OpenSSL 1.0.2.

=cut