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/HOWTO/certificates.txt11
-rw-r--r--src/lib/libssl/src/doc/apps/asn1parse.pod42
-rw-r--r--src/lib/libssl/src/doc/apps/ca.pod72
-rw-r--r--src/lib/libssl/src/doc/apps/ciphers.pod56
-rw-r--r--src/lib/libssl/src/doc/apps/config.pod7
-rw-r--r--src/lib/libssl/src/doc/apps/dgst.pod5
-rw-r--r--src/lib/libssl/src/doc/apps/enc.pod8
-rw-r--r--src/lib/libssl/src/doc/apps/ocsp.pod8
-rw-r--r--src/lib/libssl/src/doc/apps/openssl.pod16
-rw-r--r--src/lib/libssl/src/doc/apps/req.pod10
-rw-r--r--src/lib/libssl/src/doc/apps/rsautl.pod2
-rw-r--r--src/lib/libssl/src/doc/apps/s_client.pod49
-rw-r--r--src/lib/libssl/src/doc/apps/s_server.pod44
-rw-r--r--src/lib/libssl/src/doc/apps/smime.pod11
-rw-r--r--src/lib/libssl/src/doc/apps/verify.pod2
-rw-r--r--src/lib/libssl/src/doc/apps/x509.pod28
-rw-r--r--src/lib/libssl/src/doc/c-indentation.el1
-rw-r--r--src/lib/libssl/src/doc/crypto/BIO_f_base64.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/BIO_set_callback.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/BN_add_word.pod10
-rw-r--r--src/lib/libssl/src/doc/crypto/BN_new.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/DH_set_method.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/DSA_set_method.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/EVP_BytesToKey.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/EVP_SealInit.pod6
-rw-r--r--src/lib/libssl/src/doc/crypto/RAND_bytes.pod3
-rw-r--r--src/lib/libssl/src/doc/crypto/RAND_egd.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/RAND_set_rand_method.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/RSA_get_ex_new_index.pod12
-rw-r--r--src/lib/libssl/src/doc/crypto/RSA_set_method.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/RSA_sign.pod4
-rw-r--r--src/lib/libssl/src/doc/crypto/bn.pod25
-rw-r--r--src/lib/libssl/src/doc/crypto/bn_internal.pod14
-rw-r--r--src/lib/libssl/src/doc/crypto/des_modes.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/md5.pod22
-rw-r--r--src/lib/libssl/src/doc/crypto/mdc2.pod8
-rw-r--r--src/lib/libssl/src/doc/crypto/ripemd.pod10
-rw-r--r--src/lib/libssl/src/doc/crypto/sha.pod8
-rw-r--r--src/lib/libssl/src/doc/openssl.txt27
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_CTX_set_options.pod9
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_CTX_set_tmp_rsa_callback.pod2
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_CTX_use_certificate.pod12
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_SESSION_get_time.pod2
-rw-r--r--src/lib/libssl/src/doc/ssleay.txt2
-rw-r--r--src/lib/libssl/src/doc/standards.txt22
46 files changed, 483 insertions, 109 deletions
diff --git a/src/lib/libssl/src/doc/HOWTO/certificates.txt b/src/lib/libssl/src/doc/HOWTO/certificates.txt
index d3a62545ad..a8a34c7abc 100644
--- a/src/lib/libssl/src/doc/HOWTO/certificates.txt
+++ b/src/lib/libssl/src/doc/HOWTO/certificates.txt
@@ -66,14 +66,13 @@ Section 5 will tell you more on how to handle the certificate you
66received. 66received.
67 67
68 68
694. Creating a self-signed certificate 694. Creating a self-signed test certificate
70 70
71If you don't want to deal with another certificate authority, or just 71If you don't want to deal with another certificate authority, or just
72want to create a test certificate for yourself, or are setting up a 72want to create a test certificate for yourself. This is similar to
73certificate authority of your own, you may want to make the requested 73creating a certificate request, but creates a certificate instead of
74certificate a self-signed one. This is similar to creating a 74a certificate request. This is NOT the recommended way to create a
75certificate request, but creates a certificate instead of a 75CA certificate, see ca.txt.
76certificate request (1095 is 3 years):
77 76
78 openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095 77 openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
79 78
diff --git a/src/lib/libssl/src/doc/apps/asn1parse.pod b/src/lib/libssl/src/doc/apps/asn1parse.pod
index 69ee4dfee6..542d969066 100644
--- a/src/lib/libssl/src/doc/apps/asn1parse.pod
+++ b/src/lib/libssl/src/doc/apps/asn1parse.pod
@@ -16,6 +16,8 @@ B<openssl> B<asn1parse>
16[B<-i>] 16[B<-i>]
17[B<-oid filename>] 17[B<-oid filename>]
18[B<-strparse offset>] 18[B<-strparse offset>]
19[B<-genstr string>]
20[B<-genconf file>]
19 21
20=head1 DESCRIPTION 22=head1 DESCRIPTION
21 23
@@ -67,6 +69,14 @@ file is described in the NOTES section below.
67parse the contents octets of the ASN.1 object starting at B<offset>. This 69parse the contents octets of the ASN.1 object starting at B<offset>. This
68option can be used multiple times to "drill down" into a nested structure. 70option can be used multiple times to "drill down" into a nested structure.
69 71
72=item B<-genstr string>, B<-genconf file>
73
74generate encoded data based on B<string>, B<file> or both using
75ASN1_generate_nconf() format. If B<file> only is present then the string
76is obtained from the default section using the name B<asn1>. The encoded
77data is passed through the ASN1 parser and printed out as though it came
78from a file, the contents can thus be examined and written to a file
79using the B<out> option.
70 80
71=back 81=back
72 82
@@ -121,6 +131,38 @@ by white space. The final column is the rest of the line and is the
121 131
122C<1.2.3.4 shortName A long name> 132C<1.2.3.4 shortName A long name>
123 133
134=head1 EXAMPLES
135
136Parse a file:
137
138 openssl asn1parse -in file.pem
139
140Parse a DER file:
141
142 openssl asn1parse -inform DER -in file.der
143
144Generate a simple UTF8String:
145
146 openssl asn1parse -genstr 'UTF8:Hello World'
147
148Generate and write out a UTF8String, don't print parsed output:
149
150 openssl asn1parse -genstr 'UTF8:Hello World' -noout -out utf8.der
151
152Generate using a config file:
153
154 openssl asn1parse -genconf asn1.cnf -noout -out asn1.der
155
156Example config file:
157
158 asn1=SEQUENCE:seq_sect
159
160 [seq_sect]
161
162 field1=BOOL:TRUE
163 field2=EXP:0, UTF8:some random string
164
165
124=head1 BUGS 166=head1 BUGS
125 167
126There should be options to change the format of output lines. The output of some 168There should be options to change the format of output lines. The output of some
diff --git a/src/lib/libssl/src/doc/apps/ca.pod b/src/lib/libssl/src/doc/apps/ca.pod
index f15df49d4f..5618c2dc9d 100644
--- a/src/lib/libssl/src/doc/apps/ca.pod
+++ b/src/lib/libssl/src/doc/apps/ca.pod
@@ -17,7 +17,6 @@ B<openssl> B<ca>
17[B<-crl_hold instruction>] 17[B<-crl_hold instruction>]
18[B<-crl_compromise time>] 18[B<-crl_compromise time>]
19[B<-crl_CA_compromise time>] 19[B<-crl_CA_compromise time>]
20[B<-subj arg>]
21[B<-crldays days>] 20[B<-crldays days>]
22[B<-crlhours hours>] 21[B<-crlhours hours>]
23[B<-crlexts section>] 22[B<-crlexts section>]
@@ -30,6 +29,7 @@ B<openssl> B<ca>
30[B<-key arg>] 29[B<-key arg>]
31[B<-passin arg>] 30[B<-passin arg>]
32[B<-cert file>] 31[B<-cert file>]
32[B<-selfsign>]
33[B<-in file>] 33[B<-in file>]
34[B<-out file>] 34[B<-out file>]
35[B<-notext>] 35[B<-notext>]
@@ -44,6 +44,9 @@ B<openssl> B<ca>
44[B<-extensions section>] 44[B<-extensions section>]
45[B<-extfile section>] 45[B<-extfile section>]
46[B<-engine id>] 46[B<-engine id>]
47[B<-subj arg>]
48[B<-utf8>]
49[B<-multivalue-rdn>]
47 50
48=head1 DESCRIPTION 51=head1 DESCRIPTION
49 52
@@ -113,6 +116,20 @@ the password used to encrypt the private key. Since on some
113systems the command line arguments are visible (e.g. Unix with 116systems the command line arguments are visible (e.g. Unix with
114the 'ps' utility) this option should be used with caution. 117the 'ps' utility) this option should be used with caution.
115 118
119=item B<-selfsign>
120
121indicates the issued certificates are to be signed with the key
122the certificate requests were signed with (given with B<-keyfile>).
123Cerificate requests signed with a different key are ignored. If
124B<-spkac>, B<-ss_cert> or B<-gencrl> are given, B<-selfsign> is
125ignored.
126
127A consequence of using B<-selfsign> is that the self-signed
128certificate appears among the entries in the certificate database
129(see the configuration option B<database>), and uses the same
130serial number counter as all other certificates sign with the
131self-signed certificate.
132
116=item B<-passin arg> 133=item B<-passin arg>
117 134
118the key password source. For more information about the format of B<arg> 135the key password source. For more information about the format of B<arg>
@@ -203,6 +220,28 @@ to attempt to obtain a functional reference to the specified engine,
203thus initialising it if needed. The engine will then be set as the default 220thus initialising it if needed. The engine will then be set as the default
204for all available algorithms. 221for all available algorithms.
205 222
223=item B<-subj arg>
224
225supersedes subject name given in the request.
226The arg must be formatted as I</type0=value0/type1=value1/type2=...>,
227characters may be escaped by \ (backslash), no spaces are skipped.
228
229=item B<-utf8>
230
231this option causes field values to be interpreted as UTF8 strings, by
232default they are interpreted as ASCII. This means that the field
233values, whether prompted from a terminal or obtained from a
234configuration file, must be valid UTF8 strings.
235
236=item B<-multivalue-rdn>
237
238this option causes the -subj argument to be interpretedt with full
239support for multivalued RDNs. Example:
240
241I</DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe>
242
243If -multi-rdn is not used then the UID value is I<123456+CN=John Doe>.
244
206=back 245=back
207 246
208=head1 CRL OPTIONS 247=head1 CRL OPTIONS
@@ -253,12 +292,6 @@ B<time>. B<time> should be in GeneralizedTime format that is B<YYYYMMDDHHMMSSZ>.
253This is the same as B<crl_compromise> except the revocation reason is set to 292This is the same as B<crl_compromise> except the revocation reason is set to
254B<CACompromise>. 293B<CACompromise>.
255 294
256=item B<-subj arg>
257
258supersedes subject name given in the request.
259The arg must be formatted as I</type0=value0/type1=value1/type2=...>,
260characters may be escaped by \ (backslash), no spaces are skipped.
261
262=item B<-crlexts section> 295=item B<-crlexts section>
263 296
264the section of the configuration file containing CRL extensions to 297the section of the configuration file containing CRL extensions to
@@ -359,11 +392,27 @@ the same as the B<-md> option. The message digest to use. Mandatory.
359the text database file to use. Mandatory. This file must be present 392the text database file to use. Mandatory. This file must be present
360though initially it will be empty. 393though initially it will be empty.
361 394
395=item B<unique_subject>
396
397if the value B<yes> is given, the valid certificate entries in the
398database must have unique subjects. if the value B<no> is given,
399several valid certificate entries may have the exact same subject.
400The default value is B<yes>, to be compatible with older (pre 0.9.8)
401versions of OpenSSL. However, to make CA certificate roll-over easier,
402it's recommended to use the value B<no>, especially if combined with
403the B<-selfsign> command line option.
404
362=item B<serial> 405=item B<serial>
363 406
364a text file containing the next serial number to use in hex. Mandatory. 407a text file containing the next serial number to use in hex. Mandatory.
365This file must be present and contain a valid serial number. 408This file must be present and contain a valid serial number.
366 409
410=item B<crlnumber>
411
412a text file containing the next CRL number to use in hex. The crl number
413will be inserted in the CRLs only if this file exists. If this file is
414present, it must contain a valid CRL number.
415
367=item B<x509_extensions> 416=item B<x509_extensions>
368 417
369the same as B<-extensions>. 418the same as B<-extensions>.
@@ -554,8 +603,7 @@ if corrupted it can be difficult to fix. It is theoretically possible
554to rebuild the index file from all the issued certificates and a current 603to rebuild the index file from all the issued certificates and a current
555CRL: however there is no option to do this. 604CRL: however there is no option to do this.
556 605
557V2 CRL features like delta CRL support and CRL numbers are not currently 606V2 CRL features like delta CRLs are not currently supported.
558supported.
559 607
560Although several requests can be input and handled at once it is only 608Although several requests can be input and handled at once it is only
561possible to include one SPKAC or self signed certificate. 609possible to include one SPKAC or self signed certificate.
@@ -566,12 +614,6 @@ The use of an in memory text database can cause problems when large
566numbers of certificates are present because, as the name implies 614numbers of certificates are present because, as the name implies
567the database has to be kept in memory. 615the database has to be kept in memory.
568 616
569It is not possible to certify two certificates with the same DN: this
570is a side effect of how the text database is indexed and it cannot easily
571be fixed without introducing other problems. Some S/MIME clients can use
572two certificates with the same DN for separate signing and encryption
573keys.
574
575The B<ca> command really needs rewriting or the required functionality 617The B<ca> command really needs rewriting or the required functionality
576exposed at either a command or interface level so a more friendly utility 618exposed at either a command or interface level so a more friendly utility
577(perl script or GUI) can handle things properly. The scripts B<CA.sh> and 619(perl script or GUI) can handle things properly. The scripts B<CA.sh> and
diff --git a/src/lib/libssl/src/doc/apps/ciphers.pod b/src/lib/libssl/src/doc/apps/ciphers.pod
index 81a2c43893..694e433ef3 100644
--- a/src/lib/libssl/src/doc/apps/ciphers.pod
+++ b/src/lib/libssl/src/doc/apps/ciphers.pod
@@ -105,7 +105,7 @@ The following is a list of all permitted cipher strings and their meanings.
105=item B<DEFAULT> 105=item B<DEFAULT>
106 106
107the default cipher list. This is determined at compile time and is normally 107the default cipher list. This is determined at compile time and is normally
108B<ALL:!ADH:RC4+RSA:+SSLv2:@STRENGTH>. This must be the first cipher string 108B<AES:ALL:!aNULL:!eNULL:+RC4:@STRENGTH>. This must be the first cipher string
109specified. 109specified.
110 110
111=item B<COMPLEMENTOFDEFAULT> 111=item B<COMPLEMENTOFDEFAULT>
@@ -125,11 +125,11 @@ the cipher suites not enabled by B<ALL>, currently being B<eNULL>.
125=item B<HIGH> 125=item B<HIGH>
126 126
127"high" encryption cipher suites. This currently means those with key lengths larger 127"high" encryption cipher suites. This currently means those with key lengths larger
128than 128 bits. 128than 128 bits, and some cipher suites with 128-bit keys.
129 129
130=item B<MEDIUM> 130=item B<MEDIUM>
131 131
132"medium" encryption cipher suites, currently those using 128 bit encryption. 132"medium" encryption cipher suites, currently some of those using 128 bit encryption.
133 133
134=item B<LOW> 134=item B<LOW>
135 135
@@ -146,7 +146,9 @@ export encryption algorithms. Including 40 and 56 bits algorithms.
146 146
147=item B<EXPORT56> 147=item B<EXPORT56>
148 148
14956 bit export encryption algorithms. 14956 bit export encryption algorithms. In OpenSSL 0.9.8c and later the set of
15056 bit export ciphers is empty unless OpenSSL has been explicitly configured
151with support for experimental ciphers.
150 152
151=item B<eNULL>, B<NULL> 153=item B<eNULL>, B<NULL>
152 154
@@ -207,6 +209,10 @@ anonymous DH cipher suites.
207 209
208cipher suites using AES. 210cipher suites using AES.
209 211
212=item B<CAMELLIA>
213
214cipher suites using Camellia.
215
210=item B<3DES> 216=item B<3DES>
211 217
212cipher suites using triple DES. 218cipher suites using triple DES.
@@ -227,6 +233,10 @@ cipher suites using RC2.
227 233
228cipher suites using IDEA. 234cipher suites using IDEA.
229 235
236=item B<SEED>
237
238cipher suites using SEED.
239
230=item B<MD5> 240=item B<MD5>
231 241
232cipher suites using MD5. 242cipher suites using MD5.
@@ -317,10 +327,10 @@ e.g. DES-CBC3-SHA. In these cases, RSA authentication is used.
317 TLS_RSA_WITH_AES_128_CBC_SHA AES128-SHA 327 TLS_RSA_WITH_AES_128_CBC_SHA AES128-SHA
318 TLS_RSA_WITH_AES_256_CBC_SHA AES256-SHA 328 TLS_RSA_WITH_AES_256_CBC_SHA AES256-SHA
319 329
320 TLS_DH_DSS_WITH_AES_128_CBC_SHA DH-DSS-AES128-SHA 330 TLS_DH_DSS_WITH_AES_128_CBC_SHA Not implemented.
321 TLS_DH_DSS_WITH_AES_256_CBC_SHA DH-DSS-AES256-SHA 331 TLS_DH_DSS_WITH_AES_256_CBC_SHA Not implemented.
322 TLS_DH_RSA_WITH_AES_128_CBC_SHA DH-RSA-AES128-SHA 332 TLS_DH_RSA_WITH_AES_128_CBC_SHA Not implemented.
323 TLS_DH_RSA_WITH_AES_256_CBC_SHA DH-RSA-AES256-SHA 333 TLS_DH_RSA_WITH_AES_256_CBC_SHA Not implemented.
324 334
325 TLS_DHE_DSS_WITH_AES_128_CBC_SHA DHE-DSS-AES128-SHA 335 TLS_DHE_DSS_WITH_AES_128_CBC_SHA DHE-DSS-AES128-SHA
326 TLS_DHE_DSS_WITH_AES_256_CBC_SHA DHE-DSS-AES256-SHA 336 TLS_DHE_DSS_WITH_AES_256_CBC_SHA DHE-DSS-AES256-SHA
@@ -330,6 +340,36 @@ e.g. DES-CBC3-SHA. In these cases, RSA authentication is used.
330 TLS_DH_anon_WITH_AES_128_CBC_SHA ADH-AES128-SHA 340 TLS_DH_anon_WITH_AES_128_CBC_SHA ADH-AES128-SHA
331 TLS_DH_anon_WITH_AES_256_CBC_SHA ADH-AES256-SHA 341 TLS_DH_anon_WITH_AES_256_CBC_SHA ADH-AES256-SHA
332 342
343=head2 Camellia ciphersuites from RFC4132, extending TLS v1.0
344
345 TLS_RSA_WITH_CAMELLIA_128_CBC_SHA CAMELLIA128-SHA
346 TLS_RSA_WITH_CAMELLIA_256_CBC_SHA CAMELLIA256-SHA
347
348 TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA Not implemented.
349 TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA Not implemented.
350 TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA Not implemented.
351 TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA Not implemented.
352
353 TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA DHE-DSS-CAMELLIA128-SHA
354 TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA DHE-DSS-CAMELLIA256-SHA
355 TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA DHE-RSA-CAMELLIA128-SHA
356 TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA DHE-RSA-CAMELLIA256-SHA
357
358 TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA ADH-CAMELLIA128-SHA
359 TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA ADH-CAMELLIA256-SHA
360
361=head2 SEED ciphersuites from RFC4162, extending TLS v1.0
362
363 TLS_RSA_WITH_SEED_CBC_SHA SEED-SHA
364
365 TLS_DH_DSS_WITH_SEED_CBC_SHA Not implemented.
366 TLS_DH_RSA_WITH_SEED_CBC_SHA Not implemented.
367
368 TLS_DHE_DSS_WITH_SEED_CBC_SHA DHE-DSS-SEED-SHA
369 TLS_DHE_RSA_WITH_SEED_CBC_SHA DHE-RSA-SEED-SHA
370
371 TLS_DH_anon_WITH_SEED_CBC_SHA ADH-SEED-SHA
372
333=head2 Additional Export 1024 and other cipher suites 373=head2 Additional Export 1024 and other cipher suites
334 374
335Note: these ciphers can also be used in SSL v3. 375Note: these ciphers can also be used in SSL v3.
diff --git a/src/lib/libssl/src/doc/apps/config.pod b/src/lib/libssl/src/doc/apps/config.pod
index 8f823fa6d6..ace34b62bd 100644
--- a/src/lib/libssl/src/doc/apps/config.pod
+++ b/src/lib/libssl/src/doc/apps/config.pod
@@ -1,6 +1,8 @@
1 1
2=pod 2=pod
3 3
4=for comment openssl_manual_section:5
5
4=head1 NAME 6=head1 NAME
5 7
6config - OpenSSL CONF library configuration files 8config - OpenSSL CONF library configuration files
@@ -105,6 +107,11 @@ as any compliant applications. For example:
105 some_new_oid = 1.2.3.4 107 some_new_oid = 1.2.3.4
106 some_other_oid = 1.2.3.5 108 some_other_oid = 1.2.3.5
107 109
110In OpenSSL 0.9.8 it is also possible to set the value to the long name followed
111by a comma and the numerical OID form. For example:
112
113 shortName = some object long name, 1.2.3.4
114
108=head2 ENGINE CONFIGURATION MODULE 115=head2 ENGINE CONFIGURATION MODULE
109 116
110This ENGINE configuration module has the name B<engines>. The value of this 117This ENGINE configuration module has the name B<engines>. The value of this
diff --git a/src/lib/libssl/src/doc/apps/dgst.pod b/src/lib/libssl/src/doc/apps/dgst.pod
index b0d198724c..908cd2a6d6 100644
--- a/src/lib/libssl/src/doc/apps/dgst.pod
+++ b/src/lib/libssl/src/doc/apps/dgst.pod
@@ -18,6 +18,7 @@ B<openssl> B<dgst>
18[B<-verify filename>] 18[B<-verify filename>]
19[B<-prverify filename>] 19[B<-prverify filename>]
20[B<-signature filename>] 20[B<-signature filename>]
21[B<-hmac key>]
21[B<file...>] 22[B<file...>]
22 23
23[B<md5|md4|md2|sha1|sha|mdc2|ripemd160>] 24[B<md5|md4|md2|sha1|sha|mdc2|ripemd160>]
@@ -78,6 +79,10 @@ verify the signature using the the private key in "filename".
78 79
79the actual signature to verify. 80the actual signature to verify.
80 81
82=item B<-hmac key>
83
84create a hashed MAC using "key".
85
81=item B<-rand file(s)> 86=item B<-rand file(s)>
82 87
83a file or files containing random data used to seed the random number 88a file or files containing random data used to seed the random number
diff --git a/src/lib/libssl/src/doc/apps/enc.pod b/src/lib/libssl/src/doc/apps/enc.pod
index c43da5b3f1..4391c93360 100644
--- a/src/lib/libssl/src/doc/apps/enc.pod
+++ b/src/lib/libssl/src/doc/apps/enc.pod
@@ -227,6 +227,14 @@ Blowfish and RC5 algorithms use a 128 bit key.
227 rc5-ecb RC5 cipher in ECB mode 227 rc5-ecb RC5 cipher in ECB mode
228 rc5-ofb RC5 cipher in OFB mode 228 rc5-ofb RC5 cipher in OFB mode
229 229
230 aes-[128|192|256]-cbc 128/192/256 bit AES in CBC mode
231 aes-[128|192|256] Alias for aes-[128|192|256]-cbc
232 aes-[128|192|256]-cfb 128/192/256 bit AES in 128 bit CFB mode
233 aes-[128|192|256]-cfb1 128/192/256 bit AES in 1 bit CFB mode
234 aes-[128|192|256]-cfb8 128/192/256 bit AES in 8 bit CFB mode
235 aes-[128|192|256]-ecb 128/192/256 bit AES in ECB mode
236 aes-[128|192|256]-ofb 128/192/256 bit AES in OFB mode
237
230=head1 EXAMPLES 238=head1 EXAMPLES
231 239
232Just base64 encode a binary file: 240Just base64 encode a binary file:
diff --git a/src/lib/libssl/src/doc/apps/ocsp.pod b/src/lib/libssl/src/doc/apps/ocsp.pod
index 4f266058e5..b58ddc1788 100644
--- a/src/lib/libssl/src/doc/apps/ocsp.pod
+++ b/src/lib/libssl/src/doc/apps/ocsp.pod
@@ -73,7 +73,7 @@ specify output filename, default is standard output.
73 73
74This specifies the current issuer certificate. This option can be used 74This specifies the current issuer certificate. This option can be used
75multiple times. The certificate specified in B<filename> must be in 75multiple times. The certificate specified in B<filename> must be in
76PEM format. 76PEM format. This option B<MUST> come before any B<-cert> options.
77 77
78=item B<-cert filename> 78=item B<-cert filename>
79 79
@@ -146,7 +146,7 @@ certificate in such cases.
146 146
147=item B<-trust_other> 147=item B<-trust_other>
148 148
149the certificates specified by the B<-verify_certs> option should be explicitly 149the certificates specified by the B<-verify_other> option should be explicitly
150trusted and no additional checks will be performed on them. This is useful 150trusted and no additional checks will be performed on them. This is useful
151when the complete responder certificate chain is not available or trusting a 151when the complete responder certificate chain is not available or trusting a
152root CA is not appropriate. 152root CA is not appropriate.
@@ -154,7 +154,7 @@ root CA is not appropriate.
154=item B<-VAfile file> 154=item B<-VAfile file>
155 155
156file containing explicitly trusted responder certificates. Equivalent to the 156file containing explicitly trusted responder certificates. Equivalent to the
157B<-verify_certs> and B<-trust_other> options. 157B<-verify_other> and B<-trust_other> options.
158 158
159=item B<-noverify> 159=item B<-noverify>
160 160
@@ -166,7 +166,7 @@ of the responders certificate.
166 166
167ignore certificates contained in the OCSP response when searching for the 167ignore certificates contained in the OCSP response when searching for the
168signers certificate. With this option the signers certificate must be specified 168signers certificate. With this option the signers certificate must be specified
169with either the B<-verify_certs> or B<-VAfile> options. 169with either the B<-verify_other> or B<-VAfile> options.
170 170
171=item B<-no_signature_verify> 171=item B<-no_signature_verify>
172 172
diff --git a/src/lib/libssl/src/doc/apps/openssl.pod b/src/lib/libssl/src/doc/apps/openssl.pod
index dc0f49ddca..964cdf0f02 100644
--- a/src/lib/libssl/src/doc/apps/openssl.pod
+++ b/src/lib/libssl/src/doc/apps/openssl.pod
@@ -227,6 +227,22 @@ SHA Digest
227 227
228SHA-1 Digest 228SHA-1 Digest
229 229
230=item B<sha224>
231
232SHA-224 Digest
233
234=item B<sha256>
235
236SHA-256 Digest
237
238=item B<sha384>
239
240SHA-384 Digest
241
242=item B<sha512>
243
244SHA-512 Digest
245
230=back 246=back
231 247
232=head2 ENCODING AND CIPHER COMMANDS 248=head2 ENCODING AND CIPHER COMMANDS
diff --git a/src/lib/libssl/src/doc/apps/req.pod b/src/lib/libssl/src/doc/apps/req.pod
index e2b5d0d8ec..82b565c9d4 100644
--- a/src/lib/libssl/src/doc/apps/req.pod
+++ b/src/lib/libssl/src/doc/apps/req.pod
@@ -30,6 +30,7 @@ B<openssl> B<req>
30[B<-[md5|sha1|md2|mdc2]>] 30[B<-[md5|sha1|md2|mdc2]>]
31[B<-config filename>] 31[B<-config filename>]
32[B<-subj arg>] 32[B<-subj arg>]
33[B<-multivalue-rdn>]
33[B<-x509>] 34[B<-x509>]
34[B<-days n>] 35[B<-days n>]
35[B<-set_serial n>] 36[B<-set_serial n>]
@@ -173,6 +174,15 @@ when processing a request.
173The arg must be formatted as I</type0=value0/type1=value1/type2=...>, 174The arg must be formatted as I</type0=value0/type1=value1/type2=...>,
174characters may be escaped by \ (backslash), no spaces are skipped. 175characters may be escaped by \ (backslash), no spaces are skipped.
175 176
177=item B<-multivalue-rdn>
178
179this option causes the -subj argument to be interpreted with full
180support for multivalued RDNs. Example:
181
182I</DC=org/DC=OpenSSL/DC=users/UID=123456+CN=John Doe>
183
184If -multi-rdn is not used then the UID value is I<123456+CN=John Doe>.
185
176=item B<-x509> 186=item B<-x509>
177 187
178this option outputs a self signed certificate instead of a certificate 188this option outputs a self signed certificate instead of a certificate
diff --git a/src/lib/libssl/src/doc/apps/rsautl.pod b/src/lib/libssl/src/doc/apps/rsautl.pod
index a7c1681d98..1a498c2f62 100644
--- a/src/lib/libssl/src/doc/apps/rsautl.pod
+++ b/src/lib/libssl/src/doc/apps/rsautl.pod
@@ -152,7 +152,7 @@ The final BIT STRING contains the actual signature. It can be extracted with:
152 152
153The certificate public key can be extracted with: 153The certificate public key can be extracted with:
154 154
155 openssl x509 -in test/testx509.pem -pubout -noout >pubkey.pem 155 openssl x509 -in test/testx509.pem -pubkey -noout >pubkey.pem
156 156
157The signature can be analysed with: 157The signature can be analysed with:
158 158
diff --git a/src/lib/libssl/src/doc/apps/s_client.pod b/src/lib/libssl/src/doc/apps/s_client.pod
index 8d19079973..c44d357cf7 100644
--- a/src/lib/libssl/src/doc/apps/s_client.pod
+++ b/src/lib/libssl/src/doc/apps/s_client.pod
@@ -11,7 +11,10 @@ B<openssl> B<s_client>
11[B<-connect host:port>] 11[B<-connect host:port>]
12[B<-verify depth>] 12[B<-verify depth>]
13[B<-cert filename>] 13[B<-cert filename>]
14[B<-certform DER|PEM>]
14[B<-key filename>] 15[B<-key filename>]
16[B<-keyform DER|PEM>]
17[B<-pass arg>]
15[B<-CApath directory>] 18[B<-CApath directory>]
16[B<-CAfile filename>] 19[B<-CAfile filename>]
17[B<-reconnect>] 20[B<-reconnect>]
@@ -35,6 +38,10 @@ B<openssl> B<s_client>
35[B<-cipher cipherlist>] 38[B<-cipher cipherlist>]
36[B<-starttls protocol>] 39[B<-starttls protocol>]
37[B<-engine id>] 40[B<-engine id>]
41[B<-tlsextdebug>]
42[B<-no_ticket>]
43[B<-sess_out filename>]
44[B<-sess_in filename>]
38[B<-rand file(s)>] 45[B<-rand file(s)>]
39 46
40=head1 DESCRIPTION 47=head1 DESCRIPTION
@@ -57,11 +64,24 @@ then an attempt is made to connect to the local host on port 4433.
57The certificate to use, if one is requested by the server. The default is 64The certificate to use, if one is requested by the server. The default is
58not to use a certificate. 65not to use a certificate.
59 66
67=item B<-certform format>
68
69The certificate format to use: DER or PEM. PEM is the default.
70
60=item B<-key keyfile> 71=item B<-key keyfile>
61 72
62The private key to use. If not specified then the certificate file will 73The private key to use. If not specified then the certificate file will
63be used. 74be used.
64 75
76=item B<-keyform format>
77
78The private format to use: DER or PEM. PEM is the default.
79
80=item B<-pass arg>
81
82the private key password source. For more information about the format of B<arg>
83see the B<PASS PHRASE ARGUMENTS> section in L<openssl(1)|openssl(1)>.
84
65=item B<-verify depth> 85=item B<-verify depth>
66 86
67The verify depth to use. This specifies the maximum length of the 87The verify depth to use. This specifies the maximum length of the
@@ -168,7 +188,27 @@ command for more information.
168 188
169send the protocol-specific message(s) to switch to TLS for communication. 189send the protocol-specific message(s) to switch to TLS for communication.
170B<protocol> is a keyword for the intended protocol. Currently, the only 190B<protocol> is a keyword for the intended protocol. Currently, the only
171supported keywords are "smtp" and "pop3". 191supported keywords are "smtp", "pop3", "imap", and "ftp".
192
193=item B<-tlsextdebug>
194
195print out a hex dump of any TLS extensions received from the server. Note: this
196option is only available if extension support is explicitly enabled at compile
197time
198
199=item B<-no_ticket>
200
201disable RFC4507bis session ticket support. Note: this option is only available
202if extension support is explicitly enabled at compile time
203
204=item B<-sess_out filename>
205
206output SSL session to B<filename>
207
208=item B<-sess_in sess.pem>
209
210load SSL session from B<filename>. The client will attempt to resume a
211connection from this session.
172 212
173=item B<-engine id> 213=item B<-engine id>
174 214
@@ -230,6 +270,13 @@ on the command line is no guarantee that the certificate works.
230If there are problems verifying a server certificate then the 270If there are problems verifying a server certificate then the
231B<-showcerts> option can be used to show the whole chain. 271B<-showcerts> option can be used to show the whole chain.
232 272
273Since the SSLv23 client hello cannot include compression methods or extensions
274these will only be supported if its use is disabled, for example by using the
275B<-no_sslv2> option.
276
277TLS extensions are only supported in OpenSSL 0.9.8 if they are explictly
278enabled at compile time using for example the B<enable-tlsext> switch.
279
233=head1 BUGS 280=head1 BUGS
234 281
235Because this program has a lot of options and also because some of 282Because this program has a lot of options and also because some of
diff --git a/src/lib/libssl/src/doc/apps/s_server.pod b/src/lib/libssl/src/doc/apps/s_server.pod
index 1d21921e47..fdcc170e28 100644
--- a/src/lib/libssl/src/doc/apps/s_server.pod
+++ b/src/lib/libssl/src/doc/apps/s_server.pod
@@ -12,10 +12,18 @@ B<openssl> B<s_server>
12[B<-context id>] 12[B<-context id>]
13[B<-verify depth>] 13[B<-verify depth>]
14[B<-Verify depth>] 14[B<-Verify depth>]
15[B<-crl_check>]
16[B<-crl_check_all>]
15[B<-cert filename>] 17[B<-cert filename>]
18[B<-certform DER|PEM>]
16[B<-key keyfile>] 19[B<-key keyfile>]
20[B<-keyform DER|PEM>]
21[B<-pass arg>]
17[B<-dcert filename>] 22[B<-dcert filename>]
23[B<-dcertform DER|PEM>]
18[B<-dkey keyfile>] 24[B<-dkey keyfile>]
25[B<-dkeyform DER|PEM>]
26[B<-dpass arg>]
19[B<-dhparam filename>] 27[B<-dhparam filename>]
20[B<-nbio>] 28[B<-nbio>]
21[B<-nbio_test>] 29[B<-nbio_test>]
@@ -42,6 +50,8 @@ B<openssl> B<s_server>
42[B<-WWW>] 50[B<-WWW>]
43[B<-HTTP>] 51[B<-HTTP>]
44[B<-engine id>] 52[B<-engine id>]
53[B<-tlsextdebug>]
54[B<-no_ticket>]
45[B<-id_prefix arg>] 55[B<-id_prefix arg>]
46[B<-rand file(s)>] 56[B<-rand file(s)>]
47 57
@@ -70,11 +80,24 @@ certificate and some require a certificate with a certain public key type:
70for example the DSS cipher suites require a certificate containing a DSS 80for example the DSS cipher suites require a certificate containing a DSS
71(DSA) key. If not specified then the filename "server.pem" will be used. 81(DSA) key. If not specified then the filename "server.pem" will be used.
72 82
83=item B<-certform format>
84
85The certificate format to use: DER or PEM. PEM is the default.
86
73=item B<-key keyfile> 87=item B<-key keyfile>
74 88
75The private key to use. If not specified then the certificate file will 89The private key to use. If not specified then the certificate file will
76be used. 90be used.
77 91
92=item B<-keyform format>
93
94The private format to use: DER or PEM. PEM is the default.
95
96=item B<-pass arg>
97
98the private key password source. For more information about the format of B<arg>
99see the B<PASS PHRASE ARGUMENTS> section in L<openssl(1)|openssl(1)>.
100
78=item B<-dcert filename>, B<-dkey keyname> 101=item B<-dcert filename>, B<-dkey keyname>
79 102
80specify an additional certificate and private key, these behave in the 103specify an additional certificate and private key, these behave in the
@@ -86,6 +109,10 @@ and some a DSS (DSA) key. By using RSA and DSS certificates and keys
86a server can support clients which only support RSA or DSS cipher suites 109a server can support clients which only support RSA or DSS cipher suites
87by using an appropriate certificate. 110by using an appropriate certificate.
88 111
112=item B<-dcertform format>, B<-dkeyform format>, B<-dpass arg>
113
114addtional certificate and private key format and passphrase respectively.
115
89=item B<-nocert> 116=item B<-nocert>
90 117
91if this option is set then no certificate is used. This restricts the 118if this option is set then no certificate is used. This restricts the
@@ -117,6 +144,12 @@ the client. With the B<-verify> option a certificate is requested but the
117client does not have to send one, with the B<-Verify> option the client 144client does not have to send one, with the B<-Verify> option the client
118must supply a certificate or an error occurs. 145must supply a certificate or an error occurs.
119 146
147=item B<-crl_check>, B<-crl_check_all>
148
149Check the peer certificate has not been revoked by its CA.
150The CRL(s) are appended to the certificate file. With the B<-crl_check_all>
151option all CRLs of all CAs in the chain are checked.
152
120=item B<-CApath directory> 153=item B<-CApath directory>
121 154
122The directory to use for client certificate verification. This directory 155The directory to use for client certificate verification. This directory
@@ -182,6 +215,14 @@ also included in the server list is used. Because the client specifies
182the preference order, the order of the server cipherlist irrelevant. See 215the preference order, the order of the server cipherlist irrelevant. See
183the B<ciphers> command for more information. 216the B<ciphers> command for more information.
184 217
218=item B<-tlsextdebug>
219
220print out a hex dump of any TLS extensions received from the server.
221
222=item B<-no_ticket>
223
224disable RFC4507bis session ticket support.
225
185=item B<-www> 226=item B<-www>
186 227
187sends a status message back to the client when it connects. This includes 228sends a status message back to the client when it connects. This includes
@@ -284,6 +325,9 @@ mean any CA is acceptable. This is useful for debugging purposes.
284 325
285The session parameters can printed out using the B<sess_id> program. 326The session parameters can printed out using the B<sess_id> program.
286 327
328TLS extensions are only supported in OpenSSL 0.9.8 if they are explictly
329enabled at compile time using for example the B<enable-tlsext> switch.
330
287=head1 BUGS 331=head1 BUGS
288 332
289Because this program has a lot of options and also because some of 333Because this program has a lot of options and also because some of
diff --git a/src/lib/libssl/src/doc/apps/smime.pod b/src/lib/libssl/src/doc/apps/smime.pod
index 84b673f791..caf2d2689e 100644
--- a/src/lib/libssl/src/doc/apps/smime.pod
+++ b/src/lib/libssl/src/doc/apps/smime.pod
@@ -20,6 +20,9 @@ B<openssl> B<smime>
20[B<-aes128>] 20[B<-aes128>]
21[B<-aes192>] 21[B<-aes192>]
22[B<-aes256>] 22[B<-aes256>]
23[B<-camellia128>]
24[B<-camellia192>]
25[B<-camellia256>]
23[B<-in file>] 26[B<-in file>]
24[B<-certfile file>] 27[B<-certfile file>]
25[B<-signer file>] 28[B<-signer file>]
@@ -129,10 +132,10 @@ B<-verify>. This directory must be a standard certificate directory: that
129is a hash of each subject name (using B<x509 -hash>) should be linked 132is a hash of each subject name (using B<x509 -hash>) should be linked
130to each certificate. 133to each certificate.
131 134
132=item B<-des -des3 -rc2-40 -rc2-64 -rc2-128 -aes128 -aes192 -aes256> 135=item B<-des -des3 -rc2-40 -rc2-64 -rc2-128 -aes128 -aes192 -aes256 -camellia128 -camellia192 -camellia256>
133 136
134the encryption algorithm to use. DES (56 bits), triple DES (168 bits), 137the encryption algorithm to use. DES (56 bits), triple DES (168 bits),
13540, 64 or 128 bit RC2 or 128, 192 or 256 bit AES respectively. If not 13840, 64 or 128 bit RC2, 128, 192 or 256 bit AES, or 128, 192 or 256 bit Camellia respectively. If not
136specified 40 bit RC2 is used. Only used with B<-encrypt>. 139specified 40 bit RC2 is used. Only used with B<-encrypt>.
137 140
138=item B<-nointern> 141=item B<-nointern>
@@ -354,6 +357,10 @@ alternatively you can base64 decode the signature and use
354 357
355 openssl smime -verify -inform DER -in signature.der -content content.txt 358 openssl smime -verify -inform DER -in signature.der -content content.txt
356 359
360Create an encrypted message using 128 bit Camellia:
361
362 openssl smime -encrypt -in plain.txt -camellia128 -out mail.msg cert.pem
363
357=head1 BUGS 364=head1 BUGS
358 365
359The MIME parser isn't very clever: it seems to handle most messages that I've thrown 366The MIME parser isn't very clever: it seems to handle most messages that I've thrown
diff --git a/src/lib/libssl/src/doc/apps/verify.pod b/src/lib/libssl/src/doc/apps/verify.pod
index ea5c29c150..ff2629d2cf 100644
--- a/src/lib/libssl/src/doc/apps/verify.pod
+++ b/src/lib/libssl/src/doc/apps/verify.pod
@@ -169,7 +169,7 @@ the operation was successful.
169the issuer certificate could not be found: this occurs if the issuer certificate 169the issuer certificate could not be found: this occurs if the issuer certificate
170of an untrusted certificate cannot be found. 170of an untrusted certificate cannot be found.
171 171
172=item B<3 X509_V_ERR_UNABLE_TO_GET_CRL unable to get certificate CRL> 172=item B<3 X509_V_ERR_UNABLE_TO_GET_CRL: unable to get certificate CRL>
173 173
174the CRL of a certificate could not be found. Unused. 174the CRL of a certificate could not be found. Unused.
175 175
diff --git a/src/lib/libssl/src/doc/apps/x509.pod b/src/lib/libssl/src/doc/apps/x509.pod
index 50343cd685..a925da41f1 100644
--- a/src/lib/libssl/src/doc/apps/x509.pod
+++ b/src/lib/libssl/src/doc/apps/x509.pod
@@ -17,6 +17,8 @@ B<openssl> B<x509>
17[B<-out filename>] 17[B<-out filename>]
18[B<-serial>] 18[B<-serial>]
19[B<-hash>] 19[B<-hash>]
20[B<-subject_hash>]
21[B<-issuer_hash>]
20[B<-subject>] 22[B<-subject>]
21[B<-issuer>] 23[B<-issuer>]
22[B<-nameopt option>] 24[B<-nameopt option>]
@@ -96,8 +98,8 @@ default.
96 98
97the digest to use. This affects any signing or display option that uses a message 99the digest to use. This affects any signing or display option that uses a message
98digest, such as the B<-fingerprint>, B<-signkey> and B<-CA> options. If not 100digest, such as the B<-fingerprint>, B<-signkey> and B<-CA> options. If not
99specified then MD5 is used. If the key being used to sign with is a DSA key then 101specified then SHA1 is used. If the key being used to sign with is a DSA key
100this option has no effect: SHA1 is always used with DSA keys. 102then this option has no effect: SHA1 is always used with DSA keys.
101 103
102=item B<-engine id> 104=item B<-engine id>
103 105
@@ -141,12 +143,20 @@ contained in the certificate.
141 143
142outputs the certificate serial number. 144outputs the certificate serial number.
143 145
144=item B<-hash> 146=item B<-subject_hash>
145 147
146outputs the "hash" of the certificate subject name. This is used in OpenSSL to 148outputs the "hash" of the certificate subject name. This is used in OpenSSL to
147form an index to allow certificates in a directory to be looked up by subject 149form an index to allow certificates in a directory to be looked up by subject
148name. 150name.
149 151
152=item B<-issuer_hash>
153
154outputs the "hash" of the certificate issuer name.
155
156=item B<-hash>
157
158synonym for "-hash" for backward compatibility reasons.
159
150=item B<-subject> 160=item B<-subject>
151 161
152outputs the subject name. 162outputs the subject name.
@@ -394,13 +404,13 @@ B<sep_comma_plus>, B<dn_rev> and B<sname>.
394 404
395a oneline format which is more readable than RFC2253. It is equivalent to 405a oneline format which is more readable than RFC2253. It is equivalent to
396specifying the B<esc_2253>, B<esc_ctrl>, B<esc_msb>, B<utf8>, B<dump_nostr>, 406specifying the B<esc_2253>, B<esc_ctrl>, B<esc_msb>, B<utf8>, B<dump_nostr>,
397B<dump_der>, B<use_quote>, B<sep_comma_plus_spc>, B<spc_eq> and B<sname> 407B<dump_der>, B<use_quote>, B<sep_comma_plus_space>, B<space_eq> and B<sname>
398options. 408options.
399 409
400=item B<multiline> 410=item B<multiline>
401 411
402a multiline format. It is equivalent B<esc_ctrl>, B<esc_msb>, B<sep_multiline>, 412a multiline format. It is equivalent B<esc_ctrl>, B<esc_msb>, B<sep_multiline>,
403B<spc_eq>, B<lname> and B<align>. 413B<space_eq>, B<lname> and B<align>.
404 414
405=item B<esc_2253> 415=item B<esc_2253>
406 416
@@ -500,7 +510,7 @@ diagnostic purpose.
500align field values for a more readable output. Only usable with 510align field values for a more readable output. Only usable with
501B<sep_multiline>. 511B<sep_multiline>.
502 512
503=item B<spc_eq> 513=item B<space_eq>
504 514
505places spaces round the B<=> character which follows the field 515places spaces round the B<=> character which follows the field
506name. 516name.
@@ -610,7 +620,7 @@ Display the certificate subject name in RFC2253 form:
610Display the certificate subject name in oneline form on a terminal 620Display the certificate subject name in oneline form on a terminal
611supporting UTF8: 621supporting UTF8:
612 622
613 openssl x509 -in cert.pem -noout -subject -nameopt oneline,-escmsb 623 openssl x509 -in cert.pem -noout -subject -nameopt oneline,-esc_msb
614 624
615Display the certificate MD5 fingerprint: 625Display the certificate MD5 fingerprint:
616 626
@@ -815,4 +825,8 @@ OpenSSL 0.9.5 and later.
815L<req(1)|req(1)>, L<ca(1)|ca(1)>, L<genrsa(1)|genrsa(1)>, 825L<req(1)|req(1)>, L<ca(1)|ca(1)>, L<genrsa(1)|genrsa(1)>,
816L<gendsa(1)|gendsa(1)>, L<verify(1)|verify(1)> 826L<gendsa(1)|gendsa(1)>, L<verify(1)|verify(1)>
817 827
828=head1 HISTORY
829
830Before OpenSSL 0.9.8, the default digest for RSA keys was MD5.
831
818=cut 832=cut
diff --git a/src/lib/libssl/src/doc/c-indentation.el b/src/lib/libssl/src/doc/c-indentation.el
index cbf01cb172..90861d3979 100644
--- a/src/lib/libssl/src/doc/c-indentation.el
+++ b/src/lib/libssl/src/doc/c-indentation.el
@@ -20,6 +20,7 @@
20 20
21(c-add-style "eay" 21(c-add-style "eay"
22 '((c-basic-offset . 8) 22 '((c-basic-offset . 8)
23 (indent-tabs-mode . t)
23 (c-comment-only-line-offset . 0) 24 (c-comment-only-line-offset . 0)
24 (c-hanging-braces-alist) 25 (c-hanging-braces-alist)
25 (c-offsets-alist . ((defun-open . +) 26 (c-offsets-alist . ((defun-open . +)
diff --git a/src/lib/libssl/src/doc/crypto/BIO_f_base64.pod b/src/lib/libssl/src/doc/crypto/BIO_f_base64.pod
index 929557d22f..438af3b6b6 100644
--- a/src/lib/libssl/src/doc/crypto/BIO_f_base64.pod
+++ b/src/lib/libssl/src/doc/crypto/BIO_f_base64.pod
@@ -63,7 +63,7 @@ data to standard output:
63 bio = BIO_new_fp(stdin, BIO_NOCLOSE); 63 bio = BIO_new_fp(stdin, BIO_NOCLOSE);
64 bio_out = BIO_new_fp(stdout, BIO_NOCLOSE); 64 bio_out = BIO_new_fp(stdout, BIO_NOCLOSE);
65 bio = BIO_push(b64, bio); 65 bio = BIO_push(b64, bio);
66 while((inlen = BIO_read(bio, inbuf, 512) > 0) 66 while((inlen = BIO_read(bio, inbuf, 512)) > 0)
67 BIO_write(bio_out, inbuf, inlen); 67 BIO_write(bio_out, inbuf, inlen);
68 68
69 BIO_free_all(bio); 69 BIO_free_all(bio);
diff --git a/src/lib/libssl/src/doc/crypto/BIO_set_callback.pod b/src/lib/libssl/src/doc/crypto/BIO_set_callback.pod
index 9b6961ca8d..4759556245 100644
--- a/src/lib/libssl/src/doc/crypto/BIO_set_callback.pod
+++ b/src/lib/libssl/src/doc/crypto/BIO_set_callback.pod
@@ -17,7 +17,7 @@ BIO_debug_callback - BIO callback functions
17 long BIO_debug_callback(BIO *bio,int cmd,const char *argp,int argi, 17 long BIO_debug_callback(BIO *bio,int cmd,const char *argp,int argi,
18 long argl,long ret); 18 long argl,long ret);
19 19
20 typedef long callback(BIO *b, int oper, const char *argp, 20 typedef long (*callback)(BIO *b, int oper, const char *argp,
21 int argi, long argl, long retvalue); 21 int argi, long argl, long retvalue);
22 22
23=head1 DESCRIPTION 23=head1 DESCRIPTION
diff --git a/src/lib/libssl/src/doc/crypto/BN_add_word.pod b/src/lib/libssl/src/doc/crypto/BN_add_word.pod
index 94244adea4..70667d2893 100644
--- a/src/lib/libssl/src/doc/crypto/BN_add_word.pod
+++ b/src/lib/libssl/src/doc/crypto/BN_add_word.pod
@@ -29,11 +29,11 @@ BN_add_word() adds B<w> to B<a> (C<a+=w>).
29 29
30BN_sub_word() subtracts B<w> from B<a> (C<a-=w>). 30BN_sub_word() subtracts B<w> from B<a> (C<a-=w>).
31 31
32BN_mul_word() multiplies B<a> and B<w> (C<a*=b>). 32BN_mul_word() multiplies B<a> and B<w> (C<a*=w>).
33 33
34BN_div_word() divides B<a> by B<w> (C<a/=w>) and returns the remainder. 34BN_div_word() divides B<a> by B<w> (C<a/=w>) and returns the remainder.
35 35
36BN_mod_word() returns the remainder of B<a> divided by B<w> (C<a%m>). 36BN_mod_word() returns the remainder of B<a> divided by B<w> (C<a%w>).
37 37
38For BN_div_word() and BN_mod_word(), B<w> must not be 0. 38For BN_div_word() and BN_mod_word(), B<w> must not be 0.
39 39
@@ -42,7 +42,8 @@ For BN_div_word() and BN_mod_word(), B<w> must not be 0.
42BN_add_word(), BN_sub_word() and BN_mul_word() return 1 for success, 0 42BN_add_word(), BN_sub_word() and BN_mul_word() return 1 for success, 0
43on error. The error codes can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>. 43on error. The error codes can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>.
44 44
45BN_mod_word() and BN_div_word() return B<a>%B<w>. 45BN_mod_word() and BN_div_word() return B<a>%B<w> on success and
46B<(BN_ULONG)-1> if an error occurred.
46 47
47=head1 SEE ALSO 48=head1 SEE ALSO
48 49
@@ -54,4 +55,7 @@ BN_add_word() and BN_mod_word() are available in all versions of
54SSLeay and OpenSSL. BN_div_word() was added in SSLeay 0.8, and 55SSLeay and OpenSSL. BN_div_word() was added in SSLeay 0.8, and
55BN_sub_word() and BN_mul_word() in SSLeay 0.9.0. 56BN_sub_word() and BN_mul_word() in SSLeay 0.9.0.
56 57
58Before 0.9.8a the return value for BN_div_word() and BN_mod_word()
59in case of an error was 0.
60
57=cut 61=cut
diff --git a/src/lib/libssl/src/doc/crypto/BN_new.pod b/src/lib/libssl/src/doc/crypto/BN_new.pod
index 3033789c51..ab7a105e3a 100644
--- a/src/lib/libssl/src/doc/crypto/BN_new.pod
+++ b/src/lib/libssl/src/doc/crypto/BN_new.pod
@@ -20,7 +20,7 @@ BN_new, BN_init, BN_clear, BN_free, BN_clear_free - allocate and free BIGNUMs
20 20
21=head1 DESCRIPTION 21=head1 DESCRIPTION
22 22
23BN_new() allocated and initializes a B<BIGNUM> structure. BN_init() 23BN_new() allocates and initializes a B<BIGNUM> structure. BN_init()
24initializes an existing uninitialized B<BIGNUM>. 24initializes an existing uninitialized B<BIGNUM>.
25 25
26BN_clear() is used to destroy sensitive data such as keys when they 26BN_clear() is used to destroy sensitive data such as keys when they
diff --git a/src/lib/libssl/src/doc/crypto/DH_set_method.pod b/src/lib/libssl/src/doc/crypto/DH_set_method.pod
index 73261fc467..d5cdc3be0c 100644
--- a/src/lib/libssl/src/doc/crypto/DH_set_method.pod
+++ b/src/lib/libssl/src/doc/crypto/DH_set_method.pod
@@ -36,7 +36,7 @@ structures created later. B<NB>: This is true only whilst no ENGINE has been set
36as a default for DH, so this function is no longer recommended. 36as a default for DH, so this function is no longer recommended.
37 37
38DH_get_default_method() returns a pointer to the current default DH_METHOD. 38DH_get_default_method() returns a pointer to the current default DH_METHOD.
39However, the meaningfulness of this result is dependant on whether the ENGINE 39However, the meaningfulness of this result is dependent on whether the ENGINE
40API is being used, so this function is no longer recommended. 40API is being used, so this function is no longer recommended.
41 41
42DH_set_method() selects B<meth> to perform all operations using the key B<dh>. 42DH_set_method() selects B<meth> to perform all operations using the key B<dh>.
diff --git a/src/lib/libssl/src/doc/crypto/DSA_set_method.pod b/src/lib/libssl/src/doc/crypto/DSA_set_method.pod
index bc3cfb1f0a..9c1434bd8d 100644
--- a/src/lib/libssl/src/doc/crypto/DSA_set_method.pod
+++ b/src/lib/libssl/src/doc/crypto/DSA_set_method.pod
@@ -36,7 +36,7 @@ structures created later. B<NB>: This is true only whilst no ENGINE has
36been set as a default for DSA, so this function is no longer recommended. 36been set as a default for DSA, so this function is no longer recommended.
37 37
38DSA_get_default_method() returns a pointer to the current default 38DSA_get_default_method() returns a pointer to the current default
39DSA_METHOD. However, the meaningfulness of this result is dependant on 39DSA_METHOD. However, the meaningfulness of this result is dependent on
40whether the ENGINE API is being used, so this function is no longer 40whether the ENGINE API is being used, so this function is no longer
41recommended. 41recommended.
42 42
diff --git a/src/lib/libssl/src/doc/crypto/EVP_BytesToKey.pod b/src/lib/libssl/src/doc/crypto/EVP_BytesToKey.pod
index 016381f3e9..d375c46e03 100644
--- a/src/lib/libssl/src/doc/crypto/EVP_BytesToKey.pod
+++ b/src/lib/libssl/src/doc/crypto/EVP_BytesToKey.pod
@@ -60,7 +60,7 @@ EVP_BytesToKey() returns the size of the derived key in bytes.
60=head1 SEE ALSO 60=head1 SEE ALSO
61 61
62L<evp(3)|evp(3)>, L<rand(3)|rand(3)>, 62L<evp(3)|evp(3)>, L<rand(3)|rand(3)>,
63L<EVP_EncryptInit(3)|EVP_EncryptInit(3)>, 63L<EVP_EncryptInit(3)|EVP_EncryptInit(3)>
64 64
65=head1 HISTORY 65=head1 HISTORY
66 66
diff --git a/src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod b/src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod
index faa992286b..236e2fa8d1 100644
--- a/src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod
+++ b/src/lib/libssl/src/doc/crypto/EVP_DigestInit.pod
@@ -18,7 +18,7 @@ EVP digest routines
18 EVP_MD_CTX *EVP_MD_CTX_create(void); 18 EVP_MD_CTX *EVP_MD_CTX_create(void);
19 19
20 int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl); 20 int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl);
21 int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, unsigned int cnt); 21 int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *d, size_t cnt);
22 int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, 22 int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md,
23 unsigned int *s); 23 unsigned int *s);
24 24
diff --git a/src/lib/libssl/src/doc/crypto/EVP_SealInit.pod b/src/lib/libssl/src/doc/crypto/EVP_SealInit.pod
index 48a0e29954..7d793e19ef 100644
--- a/src/lib/libssl/src/doc/crypto/EVP_SealInit.pod
+++ b/src/lib/libssl/src/doc/crypto/EVP_SealInit.pod
@@ -8,9 +8,9 @@ EVP_SealInit, EVP_SealUpdate, EVP_SealFinal - EVP envelope encryption
8 8
9 #include <openssl/evp.h> 9 #include <openssl/evp.h>
10 10
11 int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, 11 int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type,
12 unsigned char **ek, int *ekl, unsigned char *iv, 12 unsigned char **ek, int *ekl, unsigned char *iv,
13 EVP_PKEY **pubk, int npubk); 13 EVP_PKEY **pubk, int npubk);
14 int EVP_SealUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, 14 int EVP_SealUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
15 int *outl, unsigned char *in, int inl); 15 int *outl, unsigned char *in, int inl);
16 int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, 16 int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out,
diff --git a/src/lib/libssl/src/doc/crypto/RAND_bytes.pod b/src/lib/libssl/src/doc/crypto/RAND_bytes.pod
index ce6329ce54..1a9b91e281 100644
--- a/src/lib/libssl/src/doc/crypto/RAND_bytes.pod
+++ b/src/lib/libssl/src/doc/crypto/RAND_bytes.pod
@@ -25,6 +25,9 @@ unpredictable. They can be used for non-cryptographic purposes and for
25certain purposes in cryptographic protocols, but usually not for key 25certain purposes in cryptographic protocols, but usually not for key
26generation etc. 26generation etc.
27 27
28The contents of B<buf> is mixed into the entropy pool before retrieving
29the new pseudo-random bytes unless disabled at compile time (see FAQ).
30
28=head1 RETURN VALUES 31=head1 RETURN VALUES
29 32
30RAND_bytes() returns 1 on success, 0 otherwise. The error code can be 33RAND_bytes() returns 1 on success, 0 otherwise. The error code can be
diff --git a/src/lib/libssl/src/doc/crypto/RAND_egd.pod b/src/lib/libssl/src/doc/crypto/RAND_egd.pod
index 62adbe19b2..079838ea2e 100644
--- a/src/lib/libssl/src/doc/crypto/RAND_egd.pod
+++ b/src/lib/libssl/src/doc/crypto/RAND_egd.pod
@@ -50,7 +50,7 @@ non-blocking mode.
50 50
51Alternatively, the EGD-interface compatible daemon PRNGD can be used. It is 51Alternatively, the EGD-interface compatible daemon PRNGD can be used. It is
52available from 52available from
53http://www.aet.tu-cottbus.de/personen/jaenicke/postfix_tls/prngd.html . 53http://prngd.sourceforge.net/ .
54PRNGD does employ an internal PRNG itself and can therefore never run 54PRNGD does employ an internal PRNG itself and can therefore never run
55out of entropy. 55out of entropy.
56 56
diff --git a/src/lib/libssl/src/doc/crypto/RAND_set_rand_method.pod b/src/lib/libssl/src/doc/crypto/RAND_set_rand_method.pod
index c9bb6d9f27..e5b780fad0 100644
--- a/src/lib/libssl/src/doc/crypto/RAND_set_rand_method.pod
+++ b/src/lib/libssl/src/doc/crypto/RAND_set_rand_method.pod
@@ -30,7 +30,7 @@ true only whilst no ENGINE has been set as a default for RAND, so this function
30is no longer recommended. 30is no longer recommended.
31 31
32RAND_get_default_method() returns a pointer to the current RAND_METHOD. 32RAND_get_default_method() returns a pointer to the current RAND_METHOD.
33However, the meaningfulness of this result is dependant on whether the ENGINE 33However, the meaningfulness of this result is dependent on whether the ENGINE
34API is being used, so this function is no longer recommended. 34API is being used, so this function is no longer recommended.
35 35
36=head1 THE RAND_METHOD STRUCTURE 36=head1 THE RAND_METHOD STRUCTURE
diff --git a/src/lib/libssl/src/doc/crypto/RSA_get_ex_new_index.pod b/src/lib/libssl/src/doc/crypto/RSA_get_ex_new_index.pod
index 46cc8f5359..7d0fd1f91d 100644
--- a/src/lib/libssl/src/doc/crypto/RSA_get_ex_new_index.pod
+++ b/src/lib/libssl/src/doc/crypto/RSA_get_ex_new_index.pod
@@ -17,12 +17,12 @@ RSA_get_ex_new_index, RSA_set_ex_data, RSA_get_ex_data - add application specifi
17 17
18 void *RSA_get_ex_data(RSA *r, int idx); 18 void *RSA_get_ex_data(RSA *r, int idx);
19 19
20 typedef int new_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad, 20 typedef int CRYPTO_EX_new(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
21 int idx, long argl, void *argp); 21 int idx, long argl, void *argp);
22 typedef void free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad, 22 typedef void CRYPTO_EX_free(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
23 int idx, long argl, void *argp); 23 int idx, long argl, void *argp);
24 typedef int dup_func(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, void *from_d, 24 typedef int CRYPTO_EX_dup(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, void *from_d,
25 int idx, long argl, void *argp); 25 int idx, long argl, void *argp);
26 26
27=head1 DESCRIPTION 27=head1 DESCRIPTION
28 28
diff --git a/src/lib/libssl/src/doc/crypto/RSA_set_method.pod b/src/lib/libssl/src/doc/crypto/RSA_set_method.pod
index 0a305f6b14..2c963d7e5b 100644
--- a/src/lib/libssl/src/doc/crypto/RSA_set_method.pod
+++ b/src/lib/libssl/src/doc/crypto/RSA_set_method.pod
@@ -42,7 +42,7 @@ structures created later. B<NB>: This is true only whilst no ENGINE has
42been set as a default for RSA, so this function is no longer recommended. 42been set as a default for RSA, so this function is no longer recommended.
43 43
44RSA_get_default_method() returns a pointer to the current default 44RSA_get_default_method() returns a pointer to the current default
45RSA_METHOD. However, the meaningfulness of this result is dependant on 45RSA_METHOD. However, the meaningfulness of this result is dependent on
46whether the ENGINE API is being used, so this function is no longer 46whether the ENGINE API is being used, so this function is no longer
47recommended. 47recommended.
48 48
diff --git a/src/lib/libssl/src/doc/crypto/RSA_sign.pod b/src/lib/libssl/src/doc/crypto/RSA_sign.pod
index 71688a665e..8553be8e99 100644
--- a/src/lib/libssl/src/doc/crypto/RSA_sign.pod
+++ b/src/lib/libssl/src/doc/crypto/RSA_sign.pod
@@ -8,10 +8,10 @@ RSA_sign, RSA_verify - RSA signatures
8 8
9 #include <openssl/rsa.h> 9 #include <openssl/rsa.h>
10 10
11 int RSA_sign(int type, unsigned char *m, unsigned int m_len, 11 int RSA_sign(int type, const unsigned char *m, unsigned int m_len,
12 unsigned char *sigret, unsigned int *siglen, RSA *rsa); 12 unsigned char *sigret, unsigned int *siglen, RSA *rsa);
13 13
14 int RSA_verify(int type, unsigned char *m, unsigned int m_len, 14 int RSA_verify(int type, const unsigned char *m, unsigned int m_len,
15 unsigned char *sigbuf, unsigned int siglen, RSA *rsa); 15 unsigned char *sigbuf, unsigned int siglen, RSA *rsa);
16 16
17=head1 DESCRIPTION 17=head1 DESCRIPTION
diff --git a/src/lib/libssl/src/doc/crypto/bn.pod b/src/lib/libssl/src/doc/crypto/bn.pod
index 210dfeac08..cd2f8e50c6 100644
--- a/src/lib/libssl/src/doc/crypto/bn.pod
+++ b/src/lib/libssl/src/doc/crypto/bn.pod
@@ -27,6 +27,9 @@ bn - multiprecision integer arithmetics
27 int BN_num_bits(const BIGNUM *a); 27 int BN_num_bits(const BIGNUM *a);
28 int BN_num_bits_word(BN_ULONG w); 28 int BN_num_bits_word(BN_ULONG w);
29 29
30 void BN_set_negative(BIGNUM *a, int n);
31 int BN_is_negative(const BIGNUM *a);
32
30 int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); 33 int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b);
31 int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); 34 int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b);
32 int BN_mul(BIGNUM *r, BIGNUM *a, BIGNUM *b, BN_CTX *ctx); 35 int BN_mul(BIGNUM *r, BIGNUM *a, BIGNUM *b, BN_CTX *ctx);
@@ -118,6 +121,25 @@ bn - multiprecision integer arithmetics
118 int BN_to_montgomery(BIGNUM *r, BIGNUM *a, BN_MONT_CTX *mont, 121 int BN_to_montgomery(BIGNUM *r, BIGNUM *a, BN_MONT_CTX *mont,
119 BN_CTX *ctx); 122 BN_CTX *ctx);
120 123
124 BN_BLINDING *BN_BLINDING_new(const BIGNUM *A, const BIGNUM *Ai,
125 BIGNUM *mod);
126 void BN_BLINDING_free(BN_BLINDING *b);
127 int BN_BLINDING_update(BN_BLINDING *b,BN_CTX *ctx);
128 int BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx);
129 int BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx);
130 int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b,
131 BN_CTX *ctx);
132 int BN_BLINDING_invert_ex(BIGNUM *n,const BIGNUM *r,BN_BLINDING *b,
133 BN_CTX *ctx);
134 unsigned long BN_BLINDING_get_thread_id(const BN_BLINDING *);
135 void BN_BLINDING_set_thread_id(BN_BLINDING *, unsigned long);
136 unsigned long BN_BLINDING_get_flags(const BN_BLINDING *);
137 void BN_BLINDING_set_flags(BN_BLINDING *, unsigned long);
138 BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b,
139 const BIGNUM *e, BIGNUM *m, BN_CTX *ctx,
140 int (*bn_mod_exp)(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,
141 const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx),
142 BN_MONT_CTX *m_ctx);
121 143
122=head1 DESCRIPTION 144=head1 DESCRIPTION
123 145
@@ -153,6 +175,7 @@ L<BN_cmp(3)|BN_cmp(3)>, L<BN_zero(3)|BN_zero(3)>, L<BN_rand(3)|BN_rand(3)>,
153L<BN_generate_prime(3)|BN_generate_prime(3)>, L<BN_set_bit(3)|BN_set_bit(3)>, 175L<BN_generate_prime(3)|BN_generate_prime(3)>, L<BN_set_bit(3)|BN_set_bit(3)>,
154L<BN_bn2bin(3)|BN_bn2bin(3)>, L<BN_mod_inverse(3)|BN_mod_inverse(3)>, 176L<BN_bn2bin(3)|BN_bn2bin(3)>, L<BN_mod_inverse(3)|BN_mod_inverse(3)>,
155L<BN_mod_mul_reciprocal(3)|BN_mod_mul_reciprocal(3)>, 177L<BN_mod_mul_reciprocal(3)|BN_mod_mul_reciprocal(3)>,
156L<BN_mod_mul_montgomery(3)|BN_mod_mul_montgomery(3)> 178L<BN_mod_mul_montgomery(3)|BN_mod_mul_montgomery(3)>,
179L<BN_BLINDING_new(3)|BN_BLINDING_new(3)>
157 180
158=cut 181=cut
diff --git a/src/lib/libssl/src/doc/crypto/bn_internal.pod b/src/lib/libssl/src/doc/crypto/bn_internal.pod
index 9805a7c9f2..891914678c 100644
--- a/src/lib/libssl/src/doc/crypto/bn_internal.pod
+++ b/src/lib/libssl/src/doc/crypto/bn_internal.pod
@@ -72,19 +72,19 @@ applications.
72 72
73 typedef struct bignum_st 73 typedef struct bignum_st
74 { 74 {
75 int top; /* index of last used d (most significant word) */ 75 int top; /* number of words used in d */
76 BN_ULONG *d; /* pointer to an array of 'BITS2' bit chunks */ 76 BN_ULONG *d; /* pointer to an array containing the integer value */
77 int max; /* size of the d array */ 77 int max; /* size of the d array */
78 int neg; /* sign */ 78 int neg; /* sign */
79 } BIGNUM; 79 } BIGNUM;
80 80
81The big number is stored in B<d>, a malloc()ed array of B<BN_ULONG>s, 81The integer value is stored in B<d>, a malloc()ed array of words (B<BN_ULONG>),
82least significant first. A B<BN_ULONG> can be either 16, 32 or 64 bits 82least significant word first. A B<BN_ULONG> can be either 16, 32 or 64 bits
83in size (B<BITS2>), depending on the 'number of bits' specified in 83in size, depending on the 'number of bits' (B<BITS2>) specified in
84C<openssl/bn.h>. 84C<openssl/bn.h>.
85 85
86B<max> is the size of the B<d> array that has been allocated. B<top> 86B<max> is the size of the B<d> array that has been allocated. B<top>
87is the 'last' entry being used, so for a value of 4, bn.d[0]=4 and 87is the number of words being used, so for a value of 4, bn.d[0]=4 and
88bn.top=1. B<neg> is 1 if the number is negative. When a B<BIGNUM> is 88bn.top=1. B<neg> is 1 if the number is negative. When a B<BIGNUM> is
89B<0>, the B<d> field can be B<NULL> and B<top> == B<0>. 89B<0>, the B<d> field can be B<NULL> and B<top> == B<0>.
90 90
@@ -202,7 +202,7 @@ call bn_expand2(), which allocates a new B<d> array and copies the
202data. They return B<NULL> on error, B<b> otherwise. 202data. They return B<NULL> on error, B<b> otherwise.
203 203
204The bn_fix_top() macro reduces B<a-E<gt>top> to point to the most 204The bn_fix_top() macro reduces B<a-E<gt>top> to point to the most
205significant non-zero word when B<a> has shrunk. 205significant non-zero word plus one when B<a> has shrunk.
206 206
207=head2 Debugging 207=head2 Debugging
208 208
diff --git a/src/lib/libssl/src/doc/crypto/des_modes.pod b/src/lib/libssl/src/doc/crypto/des_modes.pod
index 0cc22150e7..0ad01eafe2 100644
--- a/src/lib/libssl/src/doc/crypto/des_modes.pod
+++ b/src/lib/libssl/src/doc/crypto/des_modes.pod
@@ -1,5 +1,7 @@
1=pod 1=pod
2 2
3=for comment openssl_manual_section:7
4
3=head1 NAME 5=head1 NAME
4 6
5des_modes - the variants of DES and other crypto algorithms of OpenSSL 7des_modes - the variants of DES and other crypto algorithms of OpenSSL
diff --git a/src/lib/libssl/src/doc/crypto/md5.pod b/src/lib/libssl/src/doc/crypto/md5.pod
index 6e6322dcdc..d11d5c32cb 100644
--- a/src/lib/libssl/src/doc/crypto/md5.pod
+++ b/src/lib/libssl/src/doc/crypto/md5.pod
@@ -12,10 +12,10 @@ MD4_Final, MD5_Init, MD5_Update, MD5_Final - MD2, MD4, and MD5 hash functions
12 unsigned char *MD2(const unsigned char *d, unsigned long n, 12 unsigned char *MD2(const unsigned char *d, unsigned long n,
13 unsigned char *md); 13 unsigned char *md);
14 14
15 void MD2_Init(MD2_CTX *c); 15 int MD2_Init(MD2_CTX *c);
16 void MD2_Update(MD2_CTX *c, const unsigned char *data, 16 int MD2_Update(MD2_CTX *c, const unsigned char *data,
17 unsigned long len); 17 unsigned long len);
18 void MD2_Final(unsigned char *md, MD2_CTX *c); 18 int MD2_Final(unsigned char *md, MD2_CTX *c);
19 19
20 20
21 #include <openssl/md4.h> 21 #include <openssl/md4.h>
@@ -23,10 +23,10 @@ MD4_Final, MD5_Init, MD5_Update, MD5_Final - MD2, MD4, and MD5 hash functions
23 unsigned char *MD4(const unsigned char *d, unsigned long n, 23 unsigned char *MD4(const unsigned char *d, unsigned long n,
24 unsigned char *md); 24 unsigned char *md);
25 25
26 void MD4_Init(MD4_CTX *c); 26 int MD4_Init(MD4_CTX *c);
27 void MD4_Update(MD4_CTX *c, const void *data, 27 int MD4_Update(MD4_CTX *c, const void *data,
28 unsigned long len); 28 unsigned long len);
29 void MD4_Final(unsigned char *md, MD4_CTX *c); 29 int MD4_Final(unsigned char *md, MD4_CTX *c);
30 30
31 31
32 #include <openssl/md5.h> 32 #include <openssl/md5.h>
@@ -34,10 +34,10 @@ MD4_Final, MD5_Init, MD5_Update, MD5_Final - MD2, MD4, and MD5 hash functions
34 unsigned char *MD5(const unsigned char *d, unsigned long n, 34 unsigned char *MD5(const unsigned char *d, unsigned long n,
35 unsigned char *md); 35 unsigned char *md);
36 36
37 void MD5_Init(MD5_CTX *c); 37 int MD5_Init(MD5_CTX *c);
38 void MD5_Update(MD5_CTX *c, const void *data, 38 int MD5_Update(MD5_CTX *c, const void *data,
39 unsigned long len); 39 unsigned long len);
40 void MD5_Final(unsigned char *md, MD5_CTX *c); 40 int MD5_Final(unsigned char *md, MD5_CTX *c);
41 41
42=head1 DESCRIPTION 42=head1 DESCRIPTION
43 43
@@ -78,8 +78,8 @@ preferred.
78MD2(), MD4(), and MD5() return pointers to the hash value. 78MD2(), MD4(), and MD5() return pointers to the hash value.
79 79
80MD2_Init(), MD2_Update(), MD2_Final(), MD4_Init(), MD4_Update(), 80MD2_Init(), MD2_Update(), MD2_Final(), MD4_Init(), MD4_Update(),
81MD4_Final(), MD5_Init(), MD5_Update(), and MD5_Final() do not return 81MD4_Final(), MD5_Init(), MD5_Update(), and MD5_Final() return 1 for
82values. 82success, 0 otherwise.
83 83
84=head1 CONFORMING TO 84=head1 CONFORMING TO
85 85
diff --git a/src/lib/libssl/src/doc/crypto/mdc2.pod b/src/lib/libssl/src/doc/crypto/mdc2.pod
index 538f474e30..2fab9a9871 100644
--- a/src/lib/libssl/src/doc/crypto/mdc2.pod
+++ b/src/lib/libssl/src/doc/crypto/mdc2.pod
@@ -11,10 +11,10 @@ MDC2, MDC2_Init, MDC2_Update, MDC2_Final - MDC2 hash function
11 unsigned char *MDC2(const unsigned char *d, unsigned long n, 11 unsigned char *MDC2(const unsigned char *d, unsigned long n,
12 unsigned char *md); 12 unsigned char *md);
13 13
14 void MDC2_Init(MDC2_CTX *c); 14 int MDC2_Init(MDC2_CTX *c);
15 void MDC2_Update(MDC2_CTX *c, const unsigned char *data, 15 int MDC2_Update(MDC2_CTX *c, const unsigned char *data,
16 unsigned long len); 16 unsigned long len);
17 void MDC2_Final(unsigned char *md, MDC2_CTX *c); 17 int MDC2_Final(unsigned char *md, MDC2_CTX *c);
18 18
19=head1 DESCRIPTION 19=head1 DESCRIPTION
20 20
@@ -46,7 +46,7 @@ hash functions directly.
46 46
47MDC2() returns a pointer to the hash value. 47MDC2() returns a pointer to the hash value.
48 48
49MDC2_Init(), MDC2_Update() and MDC2_Final() do not return values. 49MDC2_Init(), MDC2_Update() and MDC2_Final() return 1 for success, 0 otherwise.
50 50
51=head1 CONFORMING TO 51=head1 CONFORMING TO
52 52
diff --git a/src/lib/libssl/src/doc/crypto/ripemd.pod b/src/lib/libssl/src/doc/crypto/ripemd.pod
index 9a634ca866..348ef7c961 100644
--- a/src/lib/libssl/src/doc/crypto/ripemd.pod
+++ b/src/lib/libssl/src/doc/crypto/ripemd.pod
@@ -12,10 +12,10 @@ RIPEMD-160 hash function
12 unsigned char *RIPEMD160(const unsigned char *d, unsigned long n, 12 unsigned char *RIPEMD160(const unsigned char *d, unsigned long n,
13 unsigned char *md); 13 unsigned char *md);
14 14
15 void RIPEMD160_Init(RIPEMD160_CTX *c); 15 int RIPEMD160_Init(RIPEMD160_CTX *c);
16 void RIPEMD160_Update(RIPEMD_CTX *c, const void *data, 16 int RIPEMD160_Update(RIPEMD_CTX *c, const void *data,
17 unsigned long len); 17 unsigned long len);
18 void RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c); 18 int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c);
19 19
20=head1 DESCRIPTION 20=head1 DESCRIPTION
21 21
@@ -47,8 +47,8 @@ hash functions directly.
47 47
48RIPEMD160() returns a pointer to the hash value. 48RIPEMD160() returns a pointer to the hash value.
49 49
50RIPEMD160_Init(), RIPEMD160_Update() and RIPEMD160_Final() do not 50RIPEMD160_Init(), RIPEMD160_Update() and RIPEMD160_Final() return 1 for
51return values. 51success, 0 otherwise.
52 52
53=head1 CONFORMING TO 53=head1 CONFORMING TO
54 54
diff --git a/src/lib/libssl/src/doc/crypto/sha.pod b/src/lib/libssl/src/doc/crypto/sha.pod
index 158457270f..d7a56accd3 100644
--- a/src/lib/libssl/src/doc/crypto/sha.pod
+++ b/src/lib/libssl/src/doc/crypto/sha.pod
@@ -11,10 +11,10 @@ SHA1, SHA1_Init, SHA1_Update, SHA1_Final - Secure Hash Algorithm
11 unsigned char *SHA1(const unsigned char *d, unsigned long n, 11 unsigned char *SHA1(const unsigned char *d, unsigned long n,
12 unsigned char *md); 12 unsigned char *md);
13 13
14 void SHA1_Init(SHA_CTX *c); 14 int SHA1_Init(SHA_CTX *c);
15 void SHA1_Update(SHA_CTX *c, const void *data, 15 int SHA1_Update(SHA_CTX *c, const void *data,
16 unsigned long len); 16 unsigned long len);
17 void SHA1_Final(unsigned char *md, SHA_CTX *c); 17 int SHA1_Final(unsigned char *md, SHA_CTX *c);
18 18
19=head1 DESCRIPTION 19=head1 DESCRIPTION
20 20
@@ -48,7 +48,7 @@ used only when backward compatibility is required.
48 48
49SHA1() returns a pointer to the hash value. 49SHA1() returns a pointer to the hash value.
50 50
51SHA1_Init(), SHA1_Update() and SHA1_Final() do not return values. 51SHA1_Init(), SHA1_Update() and SHA1_Final() return 1 for success, 0 otherwise.
52 52
53=head1 CONFORMING TO 53=head1 CONFORMING TO
54 54
diff --git a/src/lib/libssl/src/doc/openssl.txt b/src/lib/libssl/src/doc/openssl.txt
index 432a17b66c..f8817b0a71 100644
--- a/src/lib/libssl/src/doc/openssl.txt
+++ b/src/lib/libssl/src/doc/openssl.txt
@@ -154,8 +154,22 @@ for example contain data in multiple sections. The correct syntax to
154use is defined by the extension code itself: check out the certificate 154use is defined by the extension code itself: check out the certificate
155policies extension for an example. 155policies extension for an example.
156 156
157In addition it is also possible to use the word DER to include arbitrary 157There are two ways to encode arbitrary extensions.
158data in any extension. 158
159The first way is to use the word ASN1 followed by the extension content
160using the same syntax as ASN1_generate_nconf(). For example:
161
1621.2.3.4=critical,ASN1:UTF8String:Some random data
163
1641.2.3.4=ASN1:SEQUENCE:seq_sect
165
166[seq_sect]
167
168field1 = UTF8:field1
169field2 = UTF8:field2
170
171It is also possible to use the word DER to include arbitrary data in any
172extension.
159 173
1601.2.3.4=critical,DER:01:02:03:04 1741.2.3.4=critical,DER:01:02:03:04
1611.2.3.4=DER:01020304 1751.2.3.4=DER:01020304
@@ -336,16 +350,21 @@ Subject Alternative Name.
336The subject alternative name extension allows various literal values to be 350The subject alternative name extension allows various literal values to be
337included in the configuration file. These include "email" (an email address) 351included in the configuration file. These include "email" (an email address)
338"URI" a uniform resource indicator, "DNS" (a DNS domain name), RID (a 352"URI" a uniform resource indicator, "DNS" (a DNS domain name), RID (a
339registered ID: OBJECT IDENTIFIER) and IP (and IP address). 353registered ID: OBJECT IDENTIFIER), IP (and IP address) and otherName.
340 354
341Also the email option include a special 'copy' value. This will automatically 355Also the email option include a special 'copy' value. This will automatically
342include and email addresses contained in the certificate subject name in 356include and email addresses contained in the certificate subject name in
343the extension. 357the extension.
344 358
359otherName can include arbitrary data associated with an OID: the value
360should be the OID followed by a semicolon and the content in standard
361ASN1_generate_nconf() format.
362
345Examples: 363Examples:
346 364
347subjectAltName=email:copy,email:my@other.address,URI:http://my.url.here/ 365subjectAltName=email:copy,email:my@other.address,URI:http://my.url.here/
348subjectAltName=email:my@other.address,RID:1.2.3.4 366subjectAltName=email:my@other.address,RID:1.2.3.4
367subjectAltName=otherName:1.2.3.4;UTF8:some other identifier
349 368
350Issuer Alternative Name. 369Issuer Alternative Name.
351 370
@@ -759,7 +778,7 @@ called.
759 778
760The X509V3_EXT_METHOD structure is described below. 779The X509V3_EXT_METHOD structure is described below.
761 780
762strut { 781struct {
763int ext_nid; 782int ext_nid;
764int ext_flags; 783int ext_flags;
765X509V3_EXT_NEW ext_new; 784X509V3_EXT_NEW ext_new;
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 fa63263601..eaed190809 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
@@ -201,6 +201,15 @@ When performing renegotiation as a server, always start a new session
201(i.e., session resumption requests are only accepted in the initial 201(i.e., session resumption requests are only accepted in the initial
202handshake). This option is not needed for clients. 202handshake). This option is not needed for clients.
203 203
204=item SSL_OP_NO_TICKET
205
206Normally clients and servers will, where possible, transparently make use
207of RFC4507bis tickets for stateless session resumption if extension support
208is explicitly set when OpenSSL is compiled.
209
210If this option is set this functionality is disabled and tickets will
211not be used by clients or servers.
212
204=back 213=back
205 214
206=head1 RETURN VALUES 215=head1 RETURN VALUES
diff --git a/src/lib/libssl/src/doc/ssl/SSL_CTX_set_tmp_rsa_callback.pod b/src/lib/libssl/src/doc/ssl/SSL_CTX_set_tmp_rsa_callback.pod
index f85775927d..534643cd9d 100644
--- a/src/lib/libssl/src/doc/ssl/SSL_CTX_set_tmp_rsa_callback.pod
+++ b/src/lib/libssl/src/doc/ssl/SSL_CTX_set_tmp_rsa_callback.pod
@@ -18,7 +18,7 @@ SSL_CTX_set_tmp_rsa_callback, SSL_CTX_set_tmp_rsa, SSL_CTX_need_tmp_rsa, SSL_set
18 long SSL_set_tmp_rsa(SSL *ssl, RSA *rsa) 18 long SSL_set_tmp_rsa(SSL *ssl, RSA *rsa)
19 long SSL_need_tmp_rsa(SSL *ssl) 19 long SSL_need_tmp_rsa(SSL *ssl)
20 20
21 RSA *(*tmp_rsa_callback)(SSL *ssl, int is_export, int keylength)); 21 RSA *(*tmp_rsa_callback)(SSL *ssl, int is_export, int keylength);
22 22
23=head1 DESCRIPTION 23=head1 DESCRIPTION
24 24
diff --git a/src/lib/libssl/src/doc/ssl/SSL_CTX_use_certificate.pod b/src/lib/libssl/src/doc/ssl/SSL_CTX_use_certificate.pod
index 48c888c337..10be95fdb1 100644
--- a/src/lib/libssl/src/doc/ssl/SSL_CTX_use_certificate.pod
+++ b/src/lib/libssl/src/doc/ssl/SSL_CTX_use_certificate.pod
@@ -77,6 +77,12 @@ SSL_CTX_use_PrivateKey() adds B<pkey> as private key to B<ctx>.
77SSL_CTX_use_RSAPrivateKey() adds the private key B<rsa> of type RSA 77SSL_CTX_use_RSAPrivateKey() adds the private key B<rsa> of type RSA
78to B<ctx>. SSL_use_PrivateKey() adds B<pkey> as private key to B<ssl>; 78to B<ctx>. SSL_use_PrivateKey() adds B<pkey> as private key to B<ssl>;
79SSL_use_RSAPrivateKey() adds B<rsa> as private key of type RSA to B<ssl>. 79SSL_use_RSAPrivateKey() adds B<rsa> as private key of type RSA to B<ssl>.
80If a certificate has already been set and the private does not belong
81to the certificate an error is returned. To change a certificate, private
82key pair the new certificate needs to be set with SSL_use_certificate()
83or SSL_CTX_use_certificate() before setting the private key with
84SSL_CTX_use_PrivateKey() or SSL_use_PrivateKey().
85
80 86
81SSL_CTX_use_PrivateKey_ASN1() adds the private key of type B<pk> 87SSL_CTX_use_PrivateKey_ASN1() adds the private key of type B<pk>
82stored at memory location B<d> (length B<len>) to B<ctx>. 88stored at memory location B<d> (length B<len>) to B<ctx>.
@@ -154,4 +160,10 @@ L<SSL_CTX_set_cipher_list(3)|SSL_CTX_set_cipher_list(3)>,
154L<SSL_CTX_set_client_cert_cb(3)|SSL_CTX_set_client_cert_cb(3)>, 160L<SSL_CTX_set_client_cert_cb(3)|SSL_CTX_set_client_cert_cb(3)>,
155L<SSL_CTX_add_extra_chain_cert(3)|SSL_CTX_add_extra_chain_cert(3)> 161L<SSL_CTX_add_extra_chain_cert(3)|SSL_CTX_add_extra_chain_cert(3)>
156 162
163=head1 HISTORY
164
165Support for DER encoded private keys (SSL_FILETYPE_ASN1) in
166SSL_CTX_use_PrivateKey_file() and SSL_use_PrivateKey_file() was added
167in 0.9.8 .
168
157=cut 169=cut
diff --git a/src/lib/libssl/src/doc/ssl/SSL_SESSION_get_time.pod b/src/lib/libssl/src/doc/ssl/SSL_SESSION_get_time.pod
index 00883ed2a0..490337a32f 100644
--- a/src/lib/libssl/src/doc/ssl/SSL_SESSION_get_time.pod
+++ b/src/lib/libssl/src/doc/ssl/SSL_SESSION_get_time.pod
@@ -2,7 +2,7 @@
2 2
3=head1 NAME 3=head1 NAME
4 4
5SSL_SESSION_get_time, SSL_SESSION_set_time, SSL_SESSION_get_timeout, SSL_SESSION_get_timeout - retrieve and manipulate session time and timeout settings 5SSL_SESSION_get_time, SSL_SESSION_set_time, SSL_SESSION_get_timeout, SSL_SESSION_set_timeout - retrieve and manipulate session time and timeout settings
6 6
7=head1 SYNOPSIS 7=head1 SYNOPSIS
8 8
diff --git a/src/lib/libssl/src/doc/ssleay.txt b/src/lib/libssl/src/doc/ssleay.txt
index 666de94e50..a8b04d7059 100644
--- a/src/lib/libssl/src/doc/ssleay.txt
+++ b/src/lib/libssl/src/doc/ssleay.txt
@@ -4295,7 +4295,7 @@ X-Status:
4295Loading client certs into MSIE 3.01 4295Loading client certs into MSIE 3.01
4296=================================== 4296===================================
4297 4297
4298This document conatains all the information necessary to succesfully set up 4298This document contains all the information necessary to successfully set up
4299some scripts to issue client certs to Microsoft Internet Explorer. It 4299some scripts to issue client certs to Microsoft Internet Explorer. It
4300includes the required knowledge about the model MSIE uses for client 4300includes the required knowledge about the model MSIE uses for client
4301certification and includes complete sample scripts ready to play with. The 4301certification and includes complete sample scripts ready to play with. The
diff --git a/src/lib/libssl/src/doc/standards.txt b/src/lib/libssl/src/doc/standards.txt
index f6675b574b..a5ce778f8e 100644
--- a/src/lib/libssl/src/doc/standards.txt
+++ b/src/lib/libssl/src/doc/standards.txt
@@ -88,10 +88,26 @@ PKCS#12: Personal Information Exchange Syntax Standard, version 1.0.
88 (Format: TXT=143173 bytes) (Obsoletes RFC2437) (Status: 88 (Format: TXT=143173 bytes) (Obsoletes RFC2437) (Status:
89 INFORMATIONAL) 89 INFORMATIONAL)
90 90
913713 A Description of the Camellia Encryption Algorithm. M. Matsui,
92 J. Nakajima, S. Moriai. April 2004. (Format: TXT=25031 bytes)
93 (Status: INFORMATIONAL)
94
913820 Internet X.509 Public Key Infrastructure (PKI) Proxy Certificate 953820 Internet X.509 Public Key Infrastructure (PKI) Proxy Certificate
92 Profile. S. Tuecke, V. Welch, D. Engert, L. Pearlman, M. Thompson. 96 Profile. S. Tuecke, V. Welch, D. Engert, L. Pearlman, M. Thompson.
93 June 2004. (Format: TXT=86374 bytes) (Status: PROPOSED STANDARD) 97 June 2004. (Format: TXT=86374 bytes) (Status: PROPOSED STANDARD)
94 98
994132 Addition of Camellia Cipher Suites to Transport Layer Security
100 (TLS). S. Moriai, A. Kato, M. Kanda. July 2005. (Format: TXT=13590
101 bytes) (Status: PROPOSED STANDARD)
102
1034162 Addition of SEED Cipher Suites to Transport Layer Security (TLS).
104 H.J. Lee, J.H. Yoon, J.I. Lee. August 2005. (Format: TXT=10578 bytes)
105 (Status: PROPOSED STANDARD)
106
1074269 The SEED Encryption Algorithm. H.J. Lee, S.J. Lee, J.H. Yoon,
108 D.H. Cheon, J.I. Lee. December 2005. (Format: TXT=34390 bytes)
109 (Obsoletes RFC4009) (Status: INFORMATIONAL)
110
95 111
96Related: 112Related:
97-------- 113--------
@@ -250,7 +266,11 @@ STARTTLS documents.
250 Protocol. A. Jungmaier, E. Rescorla, M. Tuexen. December 2002. 266 Protocol. A. Jungmaier, E. Rescorla, M. Tuexen. December 2002.
251 (Format: TXT=16333 bytes) (Status: PROPOSED STANDARD) 267 (Format: TXT=16333 bytes) (Status: PROPOSED STANDARD)
252 268
253 "Securing FTP with TLS", 01/27/2000, <draft-murray-auth-ftp-ssl-05.txt> 2693657 Use of the Camellia Encryption Algorithm in Cryptographic
270 Message Syntax (CMS). S. Moriai, A. Kato. January 2004.
271 (Format: TXT=26282 bytes) (Status: PROPOSED STANDARD)
272
273"Securing FTP with TLS", 01/27/2000, <draft-murray-auth-ftp-ssl-05.txt>
254 274
255 275
256To be implemented: 276To be implemented: