summaryrefslogtreecommitdiff
path: root/src/lib/libssl/src/doc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libssl/src/doc')
-rw-r--r--src/lib/libssl/src/doc/apps/CA.pl.pod8
-rw-r--r--src/lib/libssl/src/doc/apps/config.pod2
-rw-r--r--src/lib/libssl/src/doc/apps/crl.pod5
-rw-r--r--src/lib/libssl/src/doc/apps/pkcs12.pod9
-rw-r--r--src/lib/libssl/src/doc/apps/req.pod2
-rw-r--r--src/lib/libssl/src/doc/apps/rsa.pod15
-rw-r--r--src/lib/libssl/src/doc/apps/s_client.pod16
-rw-r--r--src/lib/libssl/src/doc/apps/s_server.pod2
-rw-r--r--src/lib/libssl/src/doc/apps/verify.pod60
-rw-r--r--src/lib/libssl/src/doc/apps/x509.pod5
-rw-r--r--src/lib/libssl/src/doc/crypto/ERR_get_error.pod7
-rw-r--r--src/lib/libssl/src/doc/crypto/EVP_BytesToKey.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod6
-rw-r--r--src/lib/libssl/src/doc/crypto/EVP_EncryptInit.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/EVP_PKEY_verifyrecover.pod103
-rw-r--r--src/lib/libssl/src/doc/crypto/EVP_SignInit.pod8
-rw-r--r--src/lib/libssl/src/doc/crypto/des_modes.pod3
-rw-r--r--src/lib/libssl/src/doc/crypto/dsa.pod3
-rw-r--r--src/lib/libssl/src/doc/crypto/hmac.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/mdc2.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/pem.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/ripemd.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/sha.pod2
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_CTX_set_client_CA_list.pod8
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_CTX_set_options.pod5
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_CTX_set_verify.pod4
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_accept.pod12
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_connect.pod10
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_do_handshake.pod10
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_set_shutdown.pod2
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_shutdown.pod10
-rw-r--r--src/lib/libssl/src/doc/ssl/ssl.pod2
32 files changed, 137 insertions, 194 deletions
diff --git a/src/lib/libssl/src/doc/apps/CA.pl.pod b/src/lib/libssl/src/doc/apps/CA.pl.pod
index ed69952f37..d326101cde 100644
--- a/src/lib/libssl/src/doc/apps/CA.pl.pod
+++ b/src/lib/libssl/src/doc/apps/CA.pl.pod
@@ -39,13 +39,13 @@ prints a usage message.
39 39
40=item B<-newcert> 40=item B<-newcert>
41 41
42creates a new self signed certificate. The private key and certificate are 42creates a new self signed certificate. The private key is written to the file
43written to the file "newreq.pem". 43"newkey.pem" and the request written to the file "newreq.pem".
44 44
45=item B<-newreq> 45=item B<-newreq>
46 46
47creates a new certificate request. The private key and request are 47creates a new certificate request. The private key is written to the file
48written to the file "newreq.pem". 48"newkey.pem" and the request written to the file "newreq.pem".
49 49
50=item B<-newreq-nodes> 50=item B<-newreq-nodes>
51 51
diff --git a/src/lib/libssl/src/doc/apps/config.pod b/src/lib/libssl/src/doc/apps/config.pod
index ace34b62bd..25c5381b9d 100644
--- a/src/lib/libssl/src/doc/apps/config.pod
+++ b/src/lib/libssl/src/doc/apps/config.pod
@@ -119,7 +119,7 @@ variable points to a section containing further ENGINE configuration
119information. 119information.
120 120
121The section pointed to by B<engines> is a table of engine names (though see 121The section pointed to by B<engines> is a table of engine names (though see
122B<engine_id> below) and further sections containing configuration informations 122B<engine_id> below) and further sections containing configuration information
123specific to each ENGINE. 123specific to each ENGINE.
124 124
125Each ENGINE specific section is used to set default algorithms, load 125Each ENGINE specific section is used to set default algorithms, load
diff --git a/src/lib/libssl/src/doc/apps/crl.pod b/src/lib/libssl/src/doc/apps/crl.pod
index a40c873b95..1ad76a5f8c 100644
--- a/src/lib/libssl/src/doc/apps/crl.pod
+++ b/src/lib/libssl/src/doc/apps/crl.pod
@@ -62,6 +62,11 @@ don't output the encoded version of the CRL.
62output a hash of the issuer name. This can be use to lookup CRLs in 62output a hash of the issuer name. This can be use to lookup CRLs in
63a directory by issuer name. 63a directory by issuer name.
64 64
65=item B<-hash_old>
66
67outputs the "hash" of the CRL issuer name using the older algorithm
68as used by OpenSSL versions before 1.0.0.
69
65=item B<-issuer> 70=item B<-issuer>
66 71
67output the issuer name. 72output the issuer name.
diff --git a/src/lib/libssl/src/doc/apps/pkcs12.pod b/src/lib/libssl/src/doc/apps/pkcs12.pod
index f69a5c5a4c..8e0d91798a 100644
--- a/src/lib/libssl/src/doc/apps/pkcs12.pod
+++ b/src/lib/libssl/src/doc/apps/pkcs12.pod
@@ -67,7 +67,7 @@ by default.
67The filename to write certificates and private keys to, standard output by 67The filename to write certificates and private keys to, standard output by
68default. They are all written in PEM format. 68default. They are all written in PEM format.
69 69
70=item B<-pass arg>, B<-passin arg> 70=item B<-passin arg>
71 71
72the PKCS#12 file (i.e. input file) password source. For more information about 72the PKCS#12 file (i.e. input file) password source. For more information about
73the format of B<arg> see the B<PASS PHRASE ARGUMENTS> section in 73the format of B<arg> see the B<PASS PHRASE ARGUMENTS> section in
@@ -75,10 +75,15 @@ L<openssl(1)|openssl(1)>.
75 75
76=item B<-passout arg> 76=item B<-passout arg>
77 77
78pass phrase source to encrypt any outputed private keys with. For more 78pass phrase source to encrypt any outputted private keys with. For more
79information about the format of B<arg> see the B<PASS PHRASE ARGUMENTS> section 79information about the format of B<arg> see the B<PASS PHRASE ARGUMENTS> section
80in L<openssl(1)|openssl(1)>. 80in L<openssl(1)|openssl(1)>.
81 81
82=item B<-password arg>
83
84With -export, -password is equivalent to -passout.
85Otherwise, -password is equivalent to -passin.
86
82=item B<-noout> 87=item B<-noout>
83 88
84this option inhibits output of the keys and certificates to the output file 89this option inhibits output of the keys and certificates to the output file
diff --git a/src/lib/libssl/src/doc/apps/req.pod b/src/lib/libssl/src/doc/apps/req.pod
index ff48bbdf28..0730d117b3 100644
--- a/src/lib/libssl/src/doc/apps/req.pod
+++ b/src/lib/libssl/src/doc/apps/req.pod
@@ -303,7 +303,7 @@ Reverses effect of B<-asn1-kludge>
303 303
304=item B<-newhdr> 304=item B<-newhdr>
305 305
306Adds the word B<NEW> to the PEM file header and footer lines on the outputed 306Adds the word B<NEW> to the PEM file header and footer lines on the outputted
307request. Some software (Netscape certificate server) and some CAs need this. 307request. Some software (Netscape certificate server) and some CAs need this.
308 308
309=item B<-batch> 309=item B<-batch>
diff --git a/src/lib/libssl/src/doc/apps/rsa.pod b/src/lib/libssl/src/doc/apps/rsa.pod
index 69b2bef82c..d7d784d52b 100644
--- a/src/lib/libssl/src/doc/apps/rsa.pod
+++ b/src/lib/libssl/src/doc/apps/rsa.pod
@@ -24,6 +24,8 @@ B<openssl> B<rsa>
24[B<-check>] 24[B<-check>]
25[B<-pubin>] 25[B<-pubin>]
26[B<-pubout>] 26[B<-pubout>]
27[B<-RSAPublicKey_in>]
28[B<-RSAPublicKey_out>]
27[B<-engine id>] 29[B<-engine id>]
28 30
29=head1 DESCRIPTION 31=head1 DESCRIPTION
@@ -118,6 +120,10 @@ by default a private key is output: with this option a public
118key will be output instead. This option is automatically set if 120key will be output instead. This option is automatically set if
119the input is a public key. 121the input is a public key.
120 122
123=item B<-RSAPublicKey_in>, B<-RSAPublicKey_out>
124
125like B<-pubin> and B<-pubout> except B<RSAPublicKey> format is used instead.
126
121=item B<-engine id> 127=item B<-engine id>
122 128
123specifying an engine (by its unique B<id> string) will cause B<rsa> 129specifying an engine (by its unique B<id> string) will cause B<rsa>
@@ -139,6 +145,11 @@ The PEM public key format uses the header and footer lines:
139 -----BEGIN PUBLIC KEY----- 145 -----BEGIN PUBLIC KEY-----
140 -----END PUBLIC KEY----- 146 -----END PUBLIC KEY-----
141 147
148The PEM B<RSAPublicKey> format uses the header and footer lines:
149
150 -----BEGIN RSA PUBLIC KEY-----
151 -----END RSA PUBLIC KEY-----
152
142The B<NET> form is a format compatible with older Netscape servers 153The B<NET> form is a format compatible with older Netscape servers
143and Microsoft IIS .key files, this uses unsalted RC4 for its encryption. 154and Microsoft IIS .key files, this uses unsalted RC4 for its encryption.
144It is not very secure and so should only be used when necessary. 155It is not very secure and so should only be used when necessary.
@@ -173,6 +184,10 @@ To just output the public part of a private key:
173 184
174 openssl rsa -in key.pem -pubout -out pubkey.pem 185 openssl rsa -in key.pem -pubout -out pubkey.pem
175 186
187Output the public part of a private key in B<RSAPublicKey> format:
188
189 openssl rsa -in key.pem -RSAPublicKey_out -out pubkey.pem
190
176=head1 BUGS 191=head1 BUGS
177 192
178The command line password arguments don't currently work with 193The command line password arguments don't currently work with
diff --git a/src/lib/libssl/src/doc/apps/s_client.pod b/src/lib/libssl/src/doc/apps/s_client.pod
index 4ebf7b5854..3215b2e8c9 100644
--- a/src/lib/libssl/src/doc/apps/s_client.pod
+++ b/src/lib/libssl/src/doc/apps/s_client.pod
@@ -10,6 +10,7 @@ s_client - SSL/TLS client program
10B<openssl> B<s_client> 10B<openssl> B<s_client>
11[B<-connect host:port>] 11[B<-connect host:port>]
12[B<-verify depth>] 12[B<-verify depth>]
13[B<-verify_return_error>]
13[B<-cert filename>] 14[B<-cert filename>]
14[B<-certform DER|PEM>] 15[B<-certform DER|PEM>]
15[B<-key filename>] 16[B<-key filename>]
@@ -90,6 +91,11 @@ Currently the verify operation continues after errors so all the problems
90with a certificate chain can be seen. As a side effect the connection 91with a certificate chain can be seen. As a side effect the connection
91will never fail due to a server certificate verify failure. 92will never fail due to a server certificate verify failure.
92 93
94=item B<-verify_return_error>
95
96Return verification errors instead of continuing. This will typically
97abort the handshake with a fatal error.
98
93=item B<-CApath directory> 99=item B<-CApath directory>
94 100
95The directory to use for server certificate verification. This directory 101The directory to use for server certificate verification. This directory
@@ -286,6 +292,13 @@ Since the SSLv23 client hello cannot include compression methods or extensions
286these will only be supported if its use is disabled, for example by using the 292these will only be supported if its use is disabled, for example by using the
287B<-no_sslv2> option. 293B<-no_sslv2> option.
288 294
295The B<s_client> utility is a test tool and is designed to continue the
296handshake after any certificate verification errors. As a result it will
297accept any certificate chain (trusted or not) sent by the peer. None test
298applications should B<not> do this as it makes them vulnerable to a MITM
299attack. This behaviour can be changed by with the B<-verify_return_error>
300option: any verify errors are then returned aborting the handshake.
301
289=head1 BUGS 302=head1 BUGS
290 303
291Because this program has a lot of options and also because some of 304Because this program has a lot of options and also because some of
@@ -293,9 +306,6 @@ the techniques used are rather old, the C source of s_client is rather
293hard to read and not a model of how things should be done. A typical 306hard to read and not a model of how things should be done. A typical
294SSL client program would be much simpler. 307SSL client program would be much simpler.
295 308
296The B<-verify> option should really exit if the server verification
297fails.
298
299The B<-prexit> option is a bit of a hack. We should really report 309The B<-prexit> option is a bit of a hack. We should really report
300information whenever a session is renegotiated. 310information whenever a session is renegotiated.
301 311
diff --git a/src/lib/libssl/src/doc/apps/s_server.pod b/src/lib/libssl/src/doc/apps/s_server.pod
index 3e503e17e1..6758ba3080 100644
--- a/src/lib/libssl/src/doc/apps/s_server.pod
+++ b/src/lib/libssl/src/doc/apps/s_server.pod
@@ -111,7 +111,7 @@ by using an appropriate certificate.
111 111
112=item B<-dcertform format>, B<-dkeyform format>, B<-dpass arg> 112=item B<-dcertform format>, B<-dkeyform format>, B<-dpass arg>
113 113
114addtional certificate and private key format and passphrase respectively. 114additional certificate and private key format and passphrase respectively.
115 115
116=item B<-nocert> 116=item B<-nocert>
117 117
diff --git a/src/lib/libssl/src/doc/apps/verify.pod b/src/lib/libssl/src/doc/apps/verify.pod
index 336098f1e3..da683004bd 100644
--- a/src/lib/libssl/src/doc/apps/verify.pod
+++ b/src/lib/libssl/src/doc/apps/verify.pod
@@ -54,35 +54,37 @@ in PEM format concatenated together.
54=item B<-untrusted file> 54=item B<-untrusted file>
55 55
56A file of untrusted certificates. The file should contain multiple certificates 56A file of untrusted certificates. The file should contain multiple certificates
57in PEM format concatenated together.
57 58
58=item B<-purpose purpose> 59=item B<-purpose purpose>
59 60
60the intended use for the certificate. Without this option no chain verification 61The intended use for the certificate. If this option is not specified,
61will be done. Currently accepted uses are B<sslclient>, B<sslserver>, 62B<verify> will not consider certificate purpose during chain verification.
62B<nssslserver>, B<smimesign>, B<smimeencrypt>. See the B<VERIFY OPERATION> 63Currently accepted uses are B<sslclient>, B<sslserver>, B<nssslserver>,
63section for more information. 64B<smimesign>, B<smimeencrypt>. See the B<VERIFY OPERATION> section for more
65information.
64 66
65=item B<-help> 67=item B<-help>
66 68
67prints out a usage message. 69Print out a usage message.
68 70
69=item B<-verbose> 71=item B<-verbose>
70 72
71print extra information about the operations being performed. 73Print extra information about the operations being performed.
72 74
73=item B<-issuer_checks> 75=item B<-issuer_checks>
74 76
75print out diagnostics relating to searches for the issuer certificate 77Print out diagnostics relating to searches for the issuer certificate of the
76of the current certificate. This shows why each candidate issuer 78current certificate. This shows why each candidate issuer certificate was
77certificate was rejected. However the presence of rejection messages 79rejected. The presence of rejection messages does not itself imply that
78does not itself imply that anything is wrong: during the normal 80anything is wrong; during the normal verification process, several
79verify process several rejections may take place. 81rejections may take place.
80 82
81=item B<-policy arg> 83=item B<-policy arg>
82 84
83Enable policy processing and add B<arg> to the user-initial-policy-set 85Enable policy processing and add B<arg> to the user-initial-policy-set (see
84(see RFC3280 et al). The policy B<arg> can be an object name an OID in numeric 86RFC5280). The policy B<arg> can be an object name an OID in numeric form.
85form. This argument can appear more than once. 87This argument can appear more than once.
86 88
87=item B<-policy_check> 89=item B<-policy_check>
88 90
@@ -90,41 +92,40 @@ Enables certificate policy processing.
90 92
91=item B<-explicit_policy> 93=item B<-explicit_policy>
92 94
93Set policy variable require-explicit-policy (see RFC3280 et al). 95Set policy variable require-explicit-policy (see RFC5280).
94 96
95=item B<-inhibit_any> 97=item B<-inhibit_any>
96 98
97Set policy variable inhibit-any-policy (see RFC3280 et al). 99Set policy variable inhibit-any-policy (see RFC5280).
98 100
99=item B<-inhibit_map> 101=item B<-inhibit_map>
100 102
101Set policy variable inhibit-policy-mapping (see RFC3280 et al). 103Set policy variable inhibit-policy-mapping (see RFC5280).
102 104
103=item B<-policy_print> 105=item B<-policy_print>
104 106
105Print out diagnostics, related to policy checking 107Print out diagnostics related to policy processing.
106 108
107=item B<-crl_check> 109=item B<-crl_check>
108 110
109Checks end entity certificate validity by attempting to lookup a valid CRL. 111Checks end entity certificate validity by attempting to look up a valid CRL.
110If a valid CRL cannot be found an error occurs. 112If a valid CRL cannot be found an error occurs.
111 113
112=item B<-crl_check_all> 114=item B<-crl_check_all>
113 115
114Checks the validity of B<all> certificates in the chain by attempting 116Checks the validity of B<all> certificates in the chain by attempting
115to lookup valid CRLs. 117to look up valid CRLs.
116 118
117=item B<-ignore_critical> 119=item B<-ignore_critical>
118 120
119Normally if an unhandled critical extension is present which is not 121Normally if an unhandled critical extension is present which is not
120supported by OpenSSL the certificate is rejected (as required by 122supported by OpenSSL the certificate is rejected (as required by RFC5280).
121RFC3280 et al). If this option is set critical extensions are 123If this option is set critical extensions are ignored.
122ignored.
123 124
124=item B<-x509_strict> 125=item B<-x509_strict>
125 126
126Disable workarounds for broken certificates which have to be disabled 127For strict X.509 compliance, disable non-compliant workarounds for broken
127for strict X.509 compliance. 128certificates.
128 129
129=item B<-extended_crl> 130=item B<-extended_crl>
130 131
@@ -142,16 +143,15 @@ because it doesn't add any security.
142 143
143=item B<-> 144=item B<->
144 145
145marks the last option. All arguments following this are assumed to be 146Indicates the last option. All arguments following this are assumed to be
146certificate files. This is useful if the first certificate filename begins 147certificate files. This is useful if the first certificate filename begins
147with a B<->. 148with a B<->.
148 149
149=item B<certificates> 150=item B<certificates>
150 151
151one or more certificates to verify. If no certificate filenames are included 152One or more certificates to verify. If no certificates are given, B<verify>
152then an attempt is made to read a certificate from standard input. They should 153will attempt to read a certificate from standard input. Certificates must be
153all be in PEM format. 154in PEM format.
154
155 155
156=back 156=back
157 157
diff --git a/src/lib/libssl/src/doc/apps/x509.pod b/src/lib/libssl/src/doc/apps/x509.pod
index 3002b08123..d2d9eb812a 100644
--- a/src/lib/libssl/src/doc/apps/x509.pod
+++ b/src/lib/libssl/src/doc/apps/x509.pod
@@ -29,6 +29,7 @@ B<openssl> B<x509>
29[B<-purpose>] 29[B<-purpose>]
30[B<-dates>] 30[B<-dates>]
31[B<-modulus>] 31[B<-modulus>]
32[B<-pubkey>]
32[B<-fingerprint>] 33[B<-fingerprint>]
33[B<-alias>] 34[B<-alias>]
34[B<-noout>] 35[B<-noout>]
@@ -135,6 +136,10 @@ section for more information.
135 136
136this option prevents output of the encoded version of the request. 137this option prevents output of the encoded version of the request.
137 138
139=item B<-pubkey>
140
141outputs the the certificate's SubjectPublicKeyInfo block in PEM format.
142
138=item B<-modulus> 143=item B<-modulus>
139 144
140this option prints out the value of the modulus of the public key 145this option prints out the value of the modulus of the public key
diff --git a/src/lib/libssl/src/doc/crypto/ERR_get_error.pod b/src/lib/libssl/src/doc/crypto/ERR_get_error.pod
index 34443045fc..828ecf529b 100644
--- a/src/lib/libssl/src/doc/crypto/ERR_get_error.pod
+++ b/src/lib/libssl/src/doc/crypto/ERR_get_error.pod
@@ -52,8 +52,11 @@ ERR_get_error_line_data(), ERR_peek_error_line_data() and
52ERR_get_last_error_line_data() store additional data and flags 52ERR_get_last_error_line_data() store additional data and flags
53associated with the error code in *B<data> 53associated with the error code in *B<data>
54and *B<flags>, unless these are B<NULL>. *B<data> contains a string 54and *B<flags>, unless these are B<NULL>. *B<data> contains a string
55if *B<flags>&B<ERR_TXT_STRING>. If it has been allocated by OPENSSL_malloc(), 55if *B<flags>&B<ERR_TXT_STRING> is true.
56*B<flags>&B<ERR_TXT_MALLOCED> is true. 56
57An application B<MUST NOT> free the *B<data> pointer (or any other pointers
58returned by these functions) with OPENSSL_free() as freeing is handled
59automatically by the error library.
57 60
58=head1 RETURN VALUES 61=head1 RETURN VALUES
59 62
diff --git a/src/lib/libssl/src/doc/crypto/EVP_BytesToKey.pod b/src/lib/libssl/src/doc/crypto/EVP_BytesToKey.pod
index d375c46e03..0ea7d55c0f 100644
--- a/src/lib/libssl/src/doc/crypto/EVP_BytesToKey.pod
+++ b/src/lib/libssl/src/doc/crypto/EVP_BytesToKey.pod
@@ -17,7 +17,7 @@ EVP_BytesToKey - password based encryption routine
17 17
18EVP_BytesToKey() derives a key and IV from various parameters. B<type> is 18EVP_BytesToKey() derives a key and IV from various parameters. B<type> is
19the cipher to derive the key and IV for. B<md> is the message digest to use. 19the cipher to derive the key and IV for. B<md> is the message digest to use.
20The B<salt> paramter is used as a salt in the derivation: it should point to 20The B<salt> parameter is used as a salt in the derivation: it should point to
21an 8 byte buffer or NULL if no salt is used. B<data> is a buffer containing 21an 8 byte buffer or NULL if no salt is used. B<data> is a buffer containing
22B<datal> bytes which is used to derive the keying data. B<count> is the 22B<datal> bytes which is used to derive the keying data. B<count> is the
23iteration count to use. The derived key and IV will be written to B<key> 23iteration count to use. The derived key and IV will be written to B<key>
diff --git a/src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod b/src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod
index 1aa15acb61..367691cc7a 100644
--- a/src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod
+++ b/src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod
@@ -252,9 +252,9 @@ digest name passed on the command line.
252 252
253=head1 SEE ALSO 253=head1 SEE ALSO
254 254
255L<evp(3)|evp(3)>, L<HMAC(3)|HMAC(3)>, L<MD2(3)|MD2(3)>, 255L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>,
256L<MD5(3)|MD5(3)>, L<MDC2(3)|MDC2(3)>, L<RIPEMD160(3)|RIPEMD160(3)>, 256L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>,
257L<SHA1(3)|SHA1(3)> 257L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)>
258 258
259=head1 HISTORY 259=head1 HISTORY
260 260
diff --git a/src/lib/libssl/src/doc/crypto/EVP_EncryptInit.pod b/src/lib/libssl/src/doc/crypto/EVP_EncryptInit.pod
index 8271d3dfc4..1c4bf184a1 100644
--- a/src/lib/libssl/src/doc/crypto/EVP_EncryptInit.pod
+++ b/src/lib/libssl/src/doc/crypto/EVP_EncryptInit.pod
@@ -152,7 +152,7 @@ does not remain in memory.
152 152
153EVP_EncryptInit(), EVP_DecryptInit() and EVP_CipherInit() behave in a 153EVP_EncryptInit(), EVP_DecryptInit() and EVP_CipherInit() behave in a
154similar way to EVP_EncryptInit_ex(), EVP_DecryptInit_ex and 154similar way to EVP_EncryptInit_ex(), EVP_DecryptInit_ex and
155EVP_CipherInit_ex() except the B<ctx> paramter does not need to be 155EVP_CipherInit_ex() except the B<ctx> parameter does not need to be
156initialized and they always use the default cipher implementation. 156initialized and they always use the default cipher implementation.
157 157
158EVP_EncryptFinal(), EVP_DecryptFinal() and EVP_CipherFinal() behave in a 158EVP_EncryptFinal(), EVP_DecryptFinal() and EVP_CipherFinal() behave in a
diff --git a/src/lib/libssl/src/doc/crypto/EVP_PKEY_verifyrecover.pod b/src/lib/libssl/src/doc/crypto/EVP_PKEY_verifyrecover.pod
deleted file mode 100644
index f3605eb826..0000000000
--- a/src/lib/libssl/src/doc/crypto/EVP_PKEY_verifyrecover.pod
+++ /dev/null
@@ -1,103 +0,0 @@
1=pod
2
3=head1 NAME
4
5EVP_PKEY_verifyrecover_init, EVP_PKEY_verifyrecover - recover signature using a public key algorithm
6
7=head1 SYNOPSIS
8
9 #include <openssl/evp.h>
10
11 int EVP_PKEY_verifyrecover_init(EVP_PKEY_CTX *ctx);
12 int EVP_PKEY_verifyrecover(EVP_PKEY_CTX *ctx,
13 unsigned char *rout, size_t *routlen,
14 const unsigned char *sig, size_t siglen);
15
16=head1 DESCRIPTION
17
18The EVP_PKEY_verifyrecover_init() function initializes a public key algorithm
19context using key B<pkey> for a verify recover operation.
20
21The EVP_PKEY_verifyrecover() function recovers signed data
22using B<ctx>. The signature is specified using the B<sig> and
23B<siglen> parameters. If B<rout> is B<NULL> then the maximum size of the output
24buffer is written to the B<routlen> parameter. If B<rout> is not B<NULL> then
25before the call the B<routlen> parameter should contain the length of the
26B<rout> buffer, if the call is successful recovered data is written to
27B<rout> and the amount of data written to B<routlen>.
28
29=head1 NOTES
30
31Normally an application is only interested in whether a signature verification
32operation is successful in those cases the EVP_verify() function should be
33used.
34
35Sometimes however it is useful to obtain the data originally signed using a
36signing operation. Only certain public key algorithms can recover a signature
37in this way (for example RSA in PKCS padding mode).
38
39After the call to EVP_PKEY_verifyrecover_init() algorithm specific control
40operations can be performed to set any appropriate parameters for the
41operation.
42
43The function EVP_PKEY_verifyrecover() can be called more than once on the same
44context if several operations are performed using the same parameters.
45
46=head1 RETURN VALUES
47
48EVP_PKEY_verifyrecover_init() and EVP_PKEY_verifyrecover() return 1 for success
49and 0 or a negative value for failure. In particular a return value of -2
50indicates the operation is not supported by the public key algorithm.
51
52=head1 EXAMPLE
53
54Recover digest originally signed using PKCS#1 and SHA256 digest:
55
56 #include <openssl/evp.h>
57 #include <openssl/rsa.h>
58
59 EVP_PKEY_CTX *ctx;
60 unsigned char *rout, *sig;
61 size_t routlen, siglen;
62 EVP_PKEY *verify_key;
63 /* NB: assumes verify_key, sig and siglen are already set up
64 * and that verify_key is an RSA public key
65 */
66 ctx = EVP_PKEY_CTX_new(verify_key);
67 if (!ctx)
68 /* Error occurred */
69 if (EVP_PKEY_verifyrecover_init(ctx) <= 0)
70 /* Error */
71 if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_PADDING) <= 0)
72 /* Error */
73 if (EVP_PKEY_CTX_set_signature_md(ctx, EVP_sha256()) <= 0)
74 /* Error */
75
76 /* Determine buffer length */
77 if (EVP_PKEY_verifyrecover(ctx, NULL, &routlen, sig, siglen) <= 0)
78 /* Error */
79
80 rout = OPENSSL_malloc(routlen);
81
82 if (!rout)
83 /* malloc failure */
84
85 if (EVP_PKEY_verifyrecover(ctx, rout, &routlen, sig, siglen) <= 0)
86 /* Error */
87
88 /* Recovered data is routlen bytes written to buffer rout */
89
90=head1 SEE ALSO
91
92L<EVP_PKEY_CTX_new(3)|EVP_PKEY_CTX_new(3)>,
93L<EVP_PKEY_encrypt(3)|EVP_PKEY_encrypt(3)>,
94L<EVP_PKEY_decrypt(3)|EVP_PKEY_decrypt(3)>,
95L<EVP_PKEY_sign(3)|EVP_PKEY_sign(3)>,
96L<EVP_PKEY_verify(3)|EVP_PKEY_verify(3)>,
97L<EVP_PKEY_derive(3)|EVP_PKEY_derive(3)>
98
99=head1 HISTORY
100
101These functions were first added to OpenSSL 1.0.0.
102
103=cut
diff --git a/src/lib/libssl/src/doc/crypto/EVP_SignInit.pod b/src/lib/libssl/src/doc/crypto/EVP_SignInit.pod
index 781d43e401..620a623ab6 100644
--- a/src/lib/libssl/src/doc/crypto/EVP_SignInit.pod
+++ b/src/lib/libssl/src/doc/crypto/EVP_SignInit.pod
@@ -89,10 +89,10 @@ The previous two bugs are fixed in the newer EVP_SignDigest*() function.
89=head1 SEE ALSO 89=head1 SEE ALSO
90 90
91L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>, 91L<EVP_VerifyInit(3)|EVP_VerifyInit(3)>,
92L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, 92L<EVP_DigestInit(3)|EVP_DigestInit(3)>, L<err(3)|err(3)>,
93L<evp(3)|evp(3)>, L<HMAC(3)|HMAC(3)>, L<MD2(3)|MD2(3)>, 93L<evp(3)|evp(3)>, L<hmac(3)|hmac(3)>, L<md2(3)|md2(3)>,
94L<MD5(3)|MD5(3)>, L<MDC2(3)|MDC2(3)>, L<RIPEMD(3)|RIPEMD(3)>, 94L<md5(3)|md5(3)>, L<mdc2(3)|mdc2(3)>, L<ripemd(3)|ripemd(3)>,
95L<SHA1(3)|SHA1(3)>, L<digest(1)|digest(1)> 95L<sha(3)|sha(3)>, L<dgst(1)|dgst(1)>
96 96
97=head1 HISTORY 97=head1 HISTORY
98 98
diff --git a/src/lib/libssl/src/doc/crypto/des_modes.pod b/src/lib/libssl/src/doc/crypto/des_modes.pod
index 0ad01eafe2..e883ca8fde 100644
--- a/src/lib/libssl/src/doc/crypto/des_modes.pod
+++ b/src/lib/libssl/src/doc/crypto/des_modes.pod
@@ -248,7 +248,8 @@ it to:
248 248
249=head1 SEE ALSO 249=head1 SEE ALSO
250 250
251L<blowfish(3)|blowfish(3)> 251L<blowfish(3)|blowfish(3)>, L<des(3)|des(3)>, L<idea(3)|idea(3)>,
252L<rc2(3)|rc2(3)>
252 253
253=cut 254=cut
254 255
diff --git a/src/lib/libssl/src/doc/crypto/dsa.pod b/src/lib/libssl/src/doc/crypto/dsa.pod
index ae2e5d81f9..da07d2b930 100644
--- a/src/lib/libssl/src/doc/crypto/dsa.pod
+++ b/src/lib/libssl/src/doc/crypto/dsa.pod
@@ -101,7 +101,8 @@ Standard, DSS), ANSI X9.30
101=head1 SEE ALSO 101=head1 SEE ALSO
102 102
103L<bn(3)|bn(3)>, L<dh(3)|dh(3)>, L<err(3)|err(3)>, L<rand(3)|rand(3)>, 103L<bn(3)|bn(3)>, L<dh(3)|dh(3)>, L<err(3)|err(3)>, L<rand(3)|rand(3)>,
104L<rsa(3)|rsa(3)>, L<SHA1(3)|SHA1(3)>, L<DSA_new(3)|DSA_new(3)>, 104L<rsa(3)|rsa(3)>, L<sha(3)|sha(3)>, L<engine(3)|engine(3)>,
105L<DSA_new(3)|DSA_new(3)>,
105L<DSA_size(3)|DSA_size(3)>, 106L<DSA_size(3)|DSA_size(3)>,
106L<DSA_generate_parameters(3)|DSA_generate_parameters(3)>, 107L<DSA_generate_parameters(3)|DSA_generate_parameters(3)>,
107L<DSA_dup_DH(3)|DSA_dup_DH(3)>, 108L<DSA_dup_DH(3)|DSA_dup_DH(3)>,
diff --git a/src/lib/libssl/src/doc/crypto/hmac.pod b/src/lib/libssl/src/doc/crypto/hmac.pod
index 5e3921a0d8..d92138d273 100644
--- a/src/lib/libssl/src/doc/crypto/hmac.pod
+++ b/src/lib/libssl/src/doc/crypto/hmac.pod
@@ -90,7 +90,7 @@ RFC 2104
90 90
91=head1 SEE ALSO 91=head1 SEE ALSO
92 92
93L<SHA1(3)|SHA1(3)>, L<EVP_DigestInit(3)|EVP_DigestInit(3)> 93L<sha(3)|sha(3)>, L<evp(3)|evp(3)>
94 94
95=head1 HISTORY 95=head1 HISTORY
96 96
diff --git a/src/lib/libssl/src/doc/crypto/mdc2.pod b/src/lib/libssl/src/doc/crypto/mdc2.pod
index 2fab9a9871..41f648af36 100644
--- a/src/lib/libssl/src/doc/crypto/mdc2.pod
+++ b/src/lib/libssl/src/doc/crypto/mdc2.pod
@@ -54,7 +54,7 @@ ISO/IEC 10118-2, with DES
54 54
55=head1 SEE ALSO 55=head1 SEE ALSO
56 56
57L<SHA1(3)|SHA1(3)>, L<EVP_DigestInit(3)|EVP_DigestInit(3)> 57L<sha(3)|sha(3)>, L<EVP_DigestInit(3)|EVP_DigestInit(3)>
58 58
59=head1 HISTORY 59=head1 HISTORY
60 60
diff --git a/src/lib/libssl/src/doc/crypto/pem.pod b/src/lib/libssl/src/doc/crypto/pem.pod
index d5b1896119..54414a3f6f 100644
--- a/src/lib/libssl/src/doc/crypto/pem.pod
+++ b/src/lib/libssl/src/doc/crypto/pem.pod
@@ -201,7 +201,7 @@ handle PKCS#8 format encrypted and unencrypted keys too.
201PEM_write_bio_PKCS8PrivateKey() and PEM_write_PKCS8PrivateKey() 201PEM_write_bio_PKCS8PrivateKey() and PEM_write_PKCS8PrivateKey()
202write a private key in an EVP_PKEY structure in PKCS#8 202write a private key in an EVP_PKEY structure in PKCS#8
203EncryptedPrivateKeyInfo format using PKCS#5 v2.0 password based encryption 203EncryptedPrivateKeyInfo format using PKCS#5 v2.0 password based encryption
204algorithms. The B<cipher> argument specifies the encryption algoritm to 204algorithms. The B<cipher> argument specifies the encryption algorithm to
205use: unlike all other PEM routines the encryption is applied at the 205use: unlike all other PEM routines the encryption is applied at the
206PKCS#8 level and not in the PEM headers. If B<cipher> is NULL then no 206PKCS#8 level and not in the PEM headers. If B<cipher> is NULL then no
207encryption is used and a PKCS#8 PrivateKeyInfo structure is used instead. 207encryption is used and a PKCS#8 PrivateKeyInfo structure is used instead.
diff --git a/src/lib/libssl/src/doc/crypto/ripemd.pod b/src/lib/libssl/src/doc/crypto/ripemd.pod
index 348ef7c961..264bb99ae7 100644
--- a/src/lib/libssl/src/doc/crypto/ripemd.pod
+++ b/src/lib/libssl/src/doc/crypto/ripemd.pod
@@ -56,7 +56,7 @@ ISO/IEC 10118-3 (draft) (??)
56 56
57=head1 SEE ALSO 57=head1 SEE ALSO
58 58
59L<SHA1(3)|SHA1(3)>, L<HMAC(3)|HMAC(3)>, L<EVP_DigestInit(3)|EVP_DigestInit(3)> 59L<sha(3)|sha(3)>, L<hmac(3)|hmac(3)>, L<EVP_DigestInit(3)|EVP_DigestInit(3)>
60 60
61=head1 HISTORY 61=head1 HISTORY
62 62
diff --git a/src/lib/libssl/src/doc/crypto/sha.pod b/src/lib/libssl/src/doc/crypto/sha.pod
index d7a56accd3..94ab7bc724 100644
--- a/src/lib/libssl/src/doc/crypto/sha.pod
+++ b/src/lib/libssl/src/doc/crypto/sha.pod
@@ -60,7 +60,7 @@ ANSI X9.30
60 60
61=head1 SEE ALSO 61=head1 SEE ALSO
62 62
63L<RIPEMD160(3)|RIPEMD160(3)>, L<HMAC(3)|HMAC(3)>, L<EVP_DigestInit(3)|EVP_DigestInit(3)> 63L<ripemd(3)|ripemd(3)>, L<hmac(3)|hmac(3)>, L<EVP_DigestInit(3)|EVP_DigestInit(3)>
64 64
65=head1 HISTORY 65=head1 HISTORY
66 66
diff --git a/src/lib/libssl/src/doc/ssl/SSL_CTX_set_client_CA_list.pod b/src/lib/libssl/src/doc/ssl/SSL_CTX_set_client_CA_list.pod
index 04d0a3c9a8..bcf35dc85b 100644
--- a/src/lib/libssl/src/doc/ssl/SSL_CTX_set_client_CA_list.pod
+++ b/src/lib/libssl/src/doc/ssl/SSL_CTX_set_client_CA_list.pod
@@ -66,16 +66,16 @@ values:
66 66
67=over 4 67=over 4
68 68
69=item C<1>
70
71The operation succeeded.
72
73=item C<0> 69=item C<0>
74 70
75A failure while manipulating the STACK_OF(X509_NAME) object occurred or 71A failure while manipulating the STACK_OF(X509_NAME) object occurred or
76the X509_NAME could not be extracted from B<cacert>. Check the error stack 72the X509_NAME could not be extracted from B<cacert>. Check the error stack
77to find out the reason. 73to find out the reason.
78 74
75=item C<1>
76
77The operation succeeded.
78
79=back 79=back
80 80
81=head1 EXAMPLES 81=head1 EXAMPLES
diff --git a/src/lib/libssl/src/doc/ssl/SSL_CTX_set_options.pod b/src/lib/libssl/src/doc/ssl/SSL_CTX_set_options.pod
index cc588f3a78..fded0601b5 100644
--- a/src/lib/libssl/src/doc/ssl/SSL_CTX_set_options.pod
+++ b/src/lib/libssl/src/doc/ssl/SSL_CTX_set_options.pod
@@ -88,9 +88,10 @@ As of OpenSSL 0.9.8q and 1.0.0c, this option has no effect.
88 88
89... 89...
90 90
91=item SSL_OP_MSIE_SSLV2_RSA_PADDING 91=item SSL_OP_SAFARI_ECDHE_ECDSA_BUG
92 92
93As of OpenSSL 0.9.7h and 0.9.8a, this option has no effect. 93Don't prefer ECDHE-ECDSA ciphers when the client appears to be Safari on OS X.
94OS X 10.8..10.8.3 has broken support for ECDHE-ECDSA ciphers.
94 95
95=item SSL_OP_SSLEAY_080_CLIENT_DH_BUG 96=item SSL_OP_SSLEAY_080_CLIENT_DH_BUG
96 97
diff --git a/src/lib/libssl/src/doc/ssl/SSL_CTX_set_verify.pod b/src/lib/libssl/src/doc/ssl/SSL_CTX_set_verify.pod
index 81566839d3..6fd6c03215 100644
--- a/src/lib/libssl/src/doc/ssl/SSL_CTX_set_verify.pod
+++ b/src/lib/libssl/src/doc/ssl/SSL_CTX_set_verify.pod
@@ -169,8 +169,8 @@ that will always continue the TLS/SSL handshake regardless of verification
169failure, if wished. The callback realizes a verification depth limit with 169failure, if wished. The callback realizes a verification depth limit with
170more informational output. 170more informational output.
171 171
172All verification errors are printed, informations about the certificate chain 172All verification errors are printed; information about the certificate chain
173are printed on request. 173is printed on request.
174The example is realized for a server that does allow but not require client 174The example is realized for a server that does allow but not require client
175certificates. 175certificates.
176 176
diff --git a/src/lib/libssl/src/doc/ssl/SSL_accept.pod b/src/lib/libssl/src/doc/ssl/SSL_accept.pod
index 17f504b89b..288203f8af 100644
--- a/src/lib/libssl/src/doc/ssl/SSL_accept.pod
+++ b/src/lib/libssl/src/doc/ssl/SSL_accept.pod
@@ -44,18 +44,18 @@ The following return values can occur:
44 44
45=over 4 45=over 4
46 46
47=item C<1>
48
49The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
50established.
51
52=item C<0> 47=item C<0>
53 48
54The TLS/SSL handshake was not successful but was shut down controlled and 49The TLS/SSL handshake was not successful but was shut down controlled and
55by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the 50by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
56return value B<ret> to find out the reason. 51return value B<ret> to find out the reason.
57 52
58=item C<E<lt>0> 53=item C<1>
54
55The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
56established.
57
58=item E<lt>0
59 59
60The TLS/SSL handshake was not successful because a fatal error occurred either 60The TLS/SSL handshake was not successful because a fatal error occurred either
61at the protocol level or a connection failure occurred. The shutdown was 61at the protocol level or a connection failure occurred. The shutdown was
diff --git a/src/lib/libssl/src/doc/ssl/SSL_connect.pod b/src/lib/libssl/src/doc/ssl/SSL_connect.pod
index 413af361e1..0087f6b3e1 100644
--- a/src/lib/libssl/src/doc/ssl/SSL_connect.pod
+++ b/src/lib/libssl/src/doc/ssl/SSL_connect.pod
@@ -41,17 +41,17 @@ The following return values can occur:
41 41
42=over 4 42=over 4
43 43
44=item C<1>
45
46The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
47established.
48
49=item C<0> 44=item C<0>
50 45
51The TLS/SSL handshake was not successful but was shut down controlled and 46The TLS/SSL handshake was not successful but was shut down controlled and
52by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the 47by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
53return value B<ret> to find out the reason. 48return value B<ret> to find out the reason.
54 49
50=item C<1>
51
52The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
53established.
54
55=item C<E<lt>0> 55=item C<E<lt>0>
56 56
57The TLS/SSL handshake was not successful, because a fatal error occurred either 57The TLS/SSL handshake was not successful, because a fatal error occurred either
diff --git a/src/lib/libssl/src/doc/ssl/SSL_do_handshake.pod b/src/lib/libssl/src/doc/ssl/SSL_do_handshake.pod
index e9d4119c72..1ca18d4723 100644
--- a/src/lib/libssl/src/doc/ssl/SSL_do_handshake.pod
+++ b/src/lib/libssl/src/doc/ssl/SSL_do_handshake.pod
@@ -45,17 +45,17 @@ The following return values can occur:
45 45
46=over 4 46=over 4
47 47
48=item C<1>
49
50The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
51established.
52
53=item C<0> 48=item C<0>
54 49
55The TLS/SSL handshake was not successful but was shut down controlled and 50The TLS/SSL handshake was not successful but was shut down controlled and
56by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the 51by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
57return value B<ret> to find out the reason. 52return value B<ret> to find out the reason.
58 53
54=item C<1>
55
56The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
57established.
58
59=item C<E<lt>0> 59=item C<E<lt>0>
60 60
61The TLS/SSL handshake was not successful because a fatal error occurred either 61The TLS/SSL handshake was not successful because a fatal error occurred either
diff --git a/src/lib/libssl/src/doc/ssl/SSL_set_shutdown.pod b/src/lib/libssl/src/doc/ssl/SSL_set_shutdown.pod
index 011a022a12..fe013085d3 100644
--- a/src/lib/libssl/src/doc/ssl/SSL_set_shutdown.pod
+++ b/src/lib/libssl/src/doc/ssl/SSL_set_shutdown.pod
@@ -24,7 +24,7 @@ The shutdown state of an ssl connection is a bitmask of:
24 24
25=over 4 25=over 4
26 26
27=item 0 27=item Z<>0
28 28
29No shutdown setting, yet. 29No shutdown setting, yet.
30 30
diff --git a/src/lib/libssl/src/doc/ssl/SSL_shutdown.pod b/src/lib/libssl/src/doc/ssl/SSL_shutdown.pod
index 69ad31e80b..d86ac7cb13 100644
--- a/src/lib/libssl/src/doc/ssl/SSL_shutdown.pod
+++ b/src/lib/libssl/src/doc/ssl/SSL_shutdown.pod
@@ -92,11 +92,6 @@ The following return values can occur:
92 92
93=over 4 93=over 4
94 94
95=item C<1>
96
97The shutdown was successfully completed. The "close notify" alert was sent
98and the peer's "close notify" alert was received.
99
100=item C<0> 95=item C<0>
101 96
102The shutdown is not yet finished. Call SSL_shutdown() for a second time, 97The shutdown is not yet finished. Call SSL_shutdown() for a second time,
@@ -104,6 +99,11 @@ if a bidirectional shutdown shall be performed.
104The output of L<SSL_get_error(3)|SSL_get_error(3)> may be misleading, as an 99The output of L<SSL_get_error(3)|SSL_get_error(3)> may be misleading, as an
105erroneous SSL_ERROR_SYSCALL may be flagged even though no error occurred. 100erroneous SSL_ERROR_SYSCALL may be flagged even though no error occurred.
106 101
102=item C<1>
103
104The shutdown was successfully completed. The "close notify" alert was sent
105and the peer's "close notify" alert was received.
106
107=item C<-1> 107=item C<-1>
108 108
109The shutdown was not successful because a fatal error occurred either 109The shutdown was not successful because a fatal error occurred either
diff --git a/src/lib/libssl/src/doc/ssl/ssl.pod b/src/lib/libssl/src/doc/ssl/ssl.pod
index 88aaebf3f6..6d3ee24e4e 100644
--- a/src/lib/libssl/src/doc/ssl/ssl.pod
+++ b/src/lib/libssl/src/doc/ssl/ssl.pod
@@ -3,7 +3,7 @@
3 3
4=head1 NAME 4=head1 NAME
5 5
6ssl - OpenSSL SSL/TLS library 6SSL - OpenSSL SSL/TLS library
7 7
8=head1 SYNOPSIS 8=head1 SYNOPSIS
9 9