summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/doc/X509_VERIFY_PARAM_set_flags.pod
diff options
context:
space:
mode:
authorschwarze <>2016-11-04 15:29:03 +0000
committerschwarze <>2016-11-04 15:29:03 +0000
commite23d00ab37299e14c06d5d2b599a3793e3d0575c (patch)
treef91172cf4f459119421ea45c97eb6fa4aec563bc /src/lib/libcrypto/doc/X509_VERIFY_PARAM_set_flags.pod
parentf34ab28d6356aae4d0458dd2076438a042314790 (diff)
downloadopenbsd-e23d00ab37299e14c06d5d2b599a3793e3d0575c.tar.gz
openbsd-e23d00ab37299e14c06d5d2b599a3793e3d0575c.tar.bz2
openbsd-e23d00ab37299e14c06d5d2b599a3793e3d0575c.zip
convert X509 manuals from pod to mdoc
Diffstat (limited to 'src/lib/libcrypto/doc/X509_VERIFY_PARAM_set_flags.pod')
-rw-r--r--src/lib/libcrypto/doc/X509_VERIFY_PARAM_set_flags.pod172
1 files changed, 0 insertions, 172 deletions
diff --git a/src/lib/libcrypto/doc/X509_VERIFY_PARAM_set_flags.pod b/src/lib/libcrypto/doc/X509_VERIFY_PARAM_set_flags.pod
deleted file mode 100644
index 6c88aec49e..0000000000
--- a/src/lib/libcrypto/doc/X509_VERIFY_PARAM_set_flags.pod
+++ /dev/null
@@ -1,172 +0,0 @@
1=pod
2
3=head1 NAME
4
5X509_VERIFY_PARAM_set_flags, X509_VERIFY_PARAM_clear_flags,
6X509_VERIFY_PARAM_get_flags, X509_VERIFY_PARAM_set_purpose,
7X509_VERIFY_PARAM_set_trust, X509_VERIFY_PARAM_set_depth,
8X509_VERIFY_PARAM_get_depth, X509_VERIFY_PARAM_set_time,
9X509_VERIFY_PARAM_add0_policy, X509_VERIFY_PARAM_set1_policies - X509
10verification parameters
11
12=head1 SYNOPSIS
13
14 #include <openssl/x509_vfy.h>
15
16 int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, unsigned long flags);
17 int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param,
18 unsigned long flags);
19 unsigned long X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *param);
20
21 int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose);
22 int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust);
23
24 void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t);
25
26 int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param,
27 ASN1_OBJECT *policy);
28 int X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param,
29 STACK_OF(ASN1_OBJECT) *policies);
30
31 void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth);
32 int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param);
33
34=head1 DESCRIPTION
35
36These functions manipulate the B<X509_VERIFY_PARAM> structure associated with
37a certificate verification operation.
38
39The X509_VERIFY_PARAM_set_flags() function sets the flags in B<param> by oring
40it with B<flags>. See the B<VERIFICATION FLAGS> section for a complete
41description of values the B<flags> parameter can take.
42
43X509_VERIFY_PARAM_get_flags() returns the flags in B<param>.
44
45X509_VERIFY_PARAM_clear_flags() clears the flags B<flags> in B<param>.
46
47X509_VERIFY_PARAM_set_purpose() sets the verification purpose in B<param>
48to B<purpose>. This determines the acceptable purpose of the certificate
49chain, for example SSL client or SSL server.
50
51X509_VERIFY_PARAM_set_trust() sets the trust setting in B<param> to
52B<trust>.
53
54X509_VERIFY_PARAM_set_time() sets the verification time in B<param> to
55B<t>. Normally the current time is used.
56
57X509_VERIFY_PARAM_add0_policy() enables policy checking (it is disabled
58by default) and adds B<policy> to the acceptable policy set.
59
60X509_VERIFY_PARAM_set1_policies() enables policy checking (it is disabled
61by default) and sets the acceptable policy set to B<policies>. Any existing
62policy set is cleared. The B<policies> parameter can be B<NULL> to clear
63an existing policy set.
64
65X509_VERIFY_PARAM_set_depth() sets the maximum verification depth to B<depth>.
66That is the maximum number of untrusted CA certificates that can appear in a
67chain.
68
69=head1 RETURN VALUES
70
71X509_VERIFY_PARAM_set_flags(), X509_VERIFY_PARAM_clear_flags(),
72X509_VERIFY_PARAM_set_purpose(), X509_VERIFY_PARAM_set_trust(),
73X509_VERIFY_PARAM_add0_policy() and X509_VERIFY_PARAM_set1_policies() return 1
74for success and 0 for failure.
75
76X509_VERIFY_PARAM_get_flags() returns the current verification flags.
77
78X509_VERIFY_PARAM_set_time() and X509_VERIFY_PARAM_set_depth() do not return
79values.
80
81X509_VERIFY_PARAM_get_depth() returns the current verification depth.
82
83=head1 VERIFICATION FLAGS
84
85The verification flags consists of zero or more of the following flags
86ored together.
87
88B<X509_V_FLAG_CRL_CHECK> enables CRL checking for the certificate chain leaf
89certificate. An error occurs if a suitable CRL cannot be found.
90
91B<X509_V_FLAG_CRL_CHECK_ALL> enables CRL checking for the entire certificate
92chain.
93
94B<X509_V_FLAG_IGNORE_CRITICAL> disabled critical extension checking. By default
95any unhandled critical extensions in certificates or (if checked) CRLs results
96in a fatal error. If this flag is set unhandled critical extensions are
97ignored. B<WARNING> setting this option for anything other than debugging
98purposes can be a security risk. Finer control over which extensions are
99supported can be performed in the verification callback.
100
101THe B<X509_V_FLAG_X509_STRICT> flag disables workarounds for some broken
102certificates and makes the verification strictly apply B<X509> rules.
103
104B<X509_V_FLAG_ALLOW_PROXY_CERTS> enables proxy certificate verification.
105
106B<X509_V_FLAG_POLICY_CHECK> enables certificate policy checking, by default
107no policy checking is performed. Additional information is sent to the
108verification callback relating to policy checking.
109
110B<X509_V_FLAG_EXPLICIT_POLICY>, B<X509_V_FLAG_INHIBIT_ANY> and
111B<X509_V_FLAG_INHIBIT_MAP> set the B<require explicit policy>, B<inhibit any
112policy> and B<inhibit policy mapping> flags respectively as defined in
113B<RFC3280>. Policy checking is automatically enabled if any of these flags
114are set.
115
116If B<X509_V_FLAG_NOTIFY_POLICY> is set and the policy checking is successful
117a special status code is set to the verification callback. This permits it
118to examine the valid policy tree and perform additional checks or simply
119log it for debugging purposes.
120
121By default some additional features such as indirect CRLs and CRLs signed by
122different keys are disabled. If B<X509_V_FLAG_EXTENDED_CRL_SUPPORT> is set
123they are enabled.
124
125If B<X509_V_FLAG_USE_DELTAS> ise set delta CRLs (if present) are used to
126determine certificate status. If not set deltas are ignored.
127
128B<X509_V_FLAG_CHECK_SS_SIGNATURE> enables checking of the root CA self signed
129certificate signature. By default this check is disabled because it doesn't
130add any additional security but in some cases applications might want to
131check the signature anyway. A side effect of not checking the root CA
132signature is that disabled or unsupported message digests on the root CA
133are not treated as fatal errors.
134
135The B<X509_V_FLAG_CB_ISSUER_CHECK> flag enables debugging of certificate
136issuer checks. It is B<not> needed unless you are logging certificate
137verification. If this flag is set then additional status codes will be sent
138to the verification callback and it B<must> be prepared to handle such cases
139without assuming they are hard errors.
140
141=head1 NOTES
142
143The above functions should be used to manipulate verification parameters
144instead of legacy functions which work in specific structures such as
145X509_STORE_CTX_set_flags().
146
147=head1 BUGS
148
149Delta CRL checking is currently primitive. Only a single delta can be used and
150(partly due to limitations of B<X509_STORE>) constructed CRLs are not
151maintained.
152
153If CRLs checking is enable CRLs are expected to be available in the
154corresponding B<X509_STORE> structure. No attempt is made to download
155CRLs from the CRL distribution points extension.
156
157=head1 EXAMPLE
158
159Enable CRL checking when performing certificate verification during SSL
160connections associated with an B<SSL_CTX> structure B<ctx>:
161
162 X509_VERIFY_PARAM *param;
163 param = X509_VERIFY_PARAM_new();
164 X509_VERIFY_PARAM_set_flags(param, X509_V_FLAG_CRL_CHECK);
165 SSL_CTX_set1_param(ctx, param);
166 X509_VERIFY_PARAM_free(param);
167
168=head1 SEE ALSO
169
170L<X509_verify_cert(3)|X509_verify_cert(3)>
171
172=cut