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.txt53
-rw-r--r--src/lib/libssl/src/doc/apps/ca.pod66
-rw-r--r--src/lib/libssl/src/doc/apps/ciphers.pod26
-rw-r--r--src/lib/libssl/src/doc/apps/dhparam.pod8
-rw-r--r--src/lib/libssl/src/doc/apps/dsa.pod8
-rw-r--r--src/lib/libssl/src/doc/apps/dsaparam.pod8
-rw-r--r--src/lib/libssl/src/doc/apps/gendsa.pod8
-rw-r--r--src/lib/libssl/src/doc/apps/genrsa.pod8
-rw-r--r--src/lib/libssl/src/doc/apps/ocsp.pod37
-rw-r--r--src/lib/libssl/src/doc/apps/passwd.pod2
-rw-r--r--src/lib/libssl/src/doc/apps/pkcs7.pod8
-rw-r--r--src/lib/libssl/src/doc/apps/pkcs8.pod8
-rw-r--r--src/lib/libssl/src/doc/apps/req.pod18
-rw-r--r--src/lib/libssl/src/doc/apps/rsa.pod8
-rw-r--r--src/lib/libssl/src/doc/apps/s_client.pod7
-rw-r--r--src/lib/libssl/src/doc/apps/s_server.pod8
-rw-r--r--src/lib/libssl/src/doc/apps/smime.pod4
-rw-r--r--src/lib/libssl/src/doc/apps/speed.pod2
-rw-r--r--src/lib/libssl/src/doc/apps/spkac.pod8
-rw-r--r--src/lib/libssl/src/doc/apps/x509.pod40
-rw-r--r--src/lib/libssl/src/doc/c-indentation.el10
-rw-r--r--src/lib/libssl/src/doc/crypto/BIO_f_cipher.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/BIO_s_accept.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/BIO_s_bio.pod56
-rw-r--r--src/lib/libssl/src/doc/crypto/BN_generate_prime.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/DH_generate_parameters.pod3
-rw-r--r--src/lib/libssl/src/doc/crypto/DSA_SIG_new.pod3
-rw-r--r--src/lib/libssl/src/doc/crypto/DSA_generate_key.pod3
-rw-r--r--src/lib/libssl/src/doc/crypto/ERR_get_error.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/EVP_EncryptInit.pod2
-rw-r--r--src/lib/libssl/src/doc/crypto/EVP_SealInit.pod26
-rw-r--r--src/lib/libssl/src/doc/crypto/RAND_bytes.pod3
-rw-r--r--src/lib/libssl/src/doc/crypto/RSA_generate_key.pod3
-rw-r--r--src/lib/libssl/src/doc/crypto/RSA_print.pod6
-rw-r--r--src/lib/libssl/src/doc/crypto/RSA_private_encrypt.pod4
-rw-r--r--src/lib/libssl/src/doc/crypto/RSA_public_encrypt.pod3
-rw-r--r--src/lib/libssl/src/doc/crypto/RSA_set_method.pod13
-rw-r--r--src/lib/libssl/src/doc/crypto/RSA_sign_ASN1_OCTET_STRING.pod4
-rw-r--r--src/lib/libssl/src/doc/crypto/crypto.pod16
-rw-r--r--src/lib/libssl/src/doc/crypto/d2i_DHparams.pod14
-rw-r--r--src/lib/libssl/src/doc/crypto/d2i_RSAPublicKey.pod39
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_CTX_add_session.pod8
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_CTX_free.pod12
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_CTX_sess_set_get_cb.pod12
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_CTX_set_options.pod2
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_CTX_set_session_cache_mode.pod53
-rw-r--r--src/lib/libssl/src/doc/ssl/SSL_CTX_set_verify.pod2
-rw-r--r--src/lib/libssl/src/doc/ssl/ssl.pod2
-rw-r--r--src/lib/libssl/src/doc/standards.txt173
49 files changed, 650 insertions, 165 deletions
diff --git a/src/lib/libssl/src/doc/HOWTO/certificates.txt b/src/lib/libssl/src/doc/HOWTO/certificates.txt
index 88048645db..d3a62545ad 100644
--- a/src/lib/libssl/src/doc/HOWTO/certificates.txt
+++ b/src/lib/libssl/src/doc/HOWTO/certificates.txt
@@ -1,6 +1,8 @@
1<DRAFT!> 1<DRAFT!>
2 HOWTO certificates 2 HOWTO certificates
3 3
41. Introduction
5
4How you handle certificates depend a great deal on what your role is. 6How you handle certificates depend a great deal on what your role is.
5Your role can be one or several of: 7Your role can be one or several of:
6 8
@@ -13,12 +15,14 @@ Certificate authorities should read ca.txt.
13 15
14In all the cases shown below, the standard configuration file, as 16In all the cases shown below, the standard configuration file, as
15compiled into openssl, will be used. You may find it in /etc/, 17compiled into openssl, will be used. You may find it in /etc/,
16/usr/local/ssr/ or somewhere else. The name is openssl.cnf, and 18/usr/local/ssl/ or somewhere else. The name is openssl.cnf, and
17is better described in another HOWTO <config.txt?>. If you want to 19is better described in another HOWTO <config.txt?>. If you want to
18use a different configuration file, use the argument '-config {file}' 20use a different configuration file, use the argument '-config {file}'
19with the command shown below. 21with the command shown below.
20 22
21 23
242. Relationship with keys
25
22Certificates are related to public key cryptography by containing a 26Certificates are related to public key cryptography by containing a
23public key. To be useful, there must be a corresponding private key 27public key. To be useful, there must be a corresponding private key
24somewhere. With OpenSSL, public keys are easily derived from private 28somewhere. With OpenSSL, public keys are easily derived from private
@@ -26,22 +30,25 @@ keys, so before you create a certificate or a certificate request, you
26need to create a private key. 30need to create a private key.
27 31
28Private keys are generated with 'openssl genrsa' if you want a RSA 32Private keys are generated with 'openssl genrsa' if you want a RSA
29private key, or 'openssl gendsa' if you want a DSA private key. More 33private key, or 'openssl gendsa' if you want a DSA private key.
30info on how to handle these commands are found in the manual pages for 34Further information on how to create private keys can be found in
31those commands or by running them with the argument '-h'. For the 35another HOWTO <keys.txt?>. The rest of this text assumes you have
32sake of the description in this file, let's assume that the private 36a private key in the file privkey.pem.
33key ended up in the file privkey.pem (which is the default in some 37
34cases). 38
35 393. Creating a certificate request
36 40
37Let's start with the most normal way of getting a certificate. Most 41To create a certificate, you need to start with a certificate
38often, you want or need to get a certificate from a certificate 42request (or, as some certificate authorities like to put
39authority. To handle that, the certificate authority needs a
40certificate request (or, as some certificate authorities like to put
41it, "certificate signing request", since that's exactly what they do, 43it, "certificate signing request", since that's exactly what they do,
42they sign it and give you the result back, thus making it authentic 44they sign it and give you the result back, thus making it authentic
43according to their policies) from you. To generate a request, use the 45according to their policies). A certificate request can then be sent
44command 'openssl req' like this: 46to a certificate authority to get it signed into a certificate, or if
47you have your own certificate authority, you may sign it yourself, or
48if you need a self-signed certificate (because you just want a test
49certificate or because you are setting up your own CA).
50
51The certificate request is created like this:
45 52
46 openssl req -new -key privkey.pem -out cert.csr 53 openssl req -new -key privkey.pem -out cert.csr
47 54
@@ -55,9 +62,23 @@ When the certificate authority has then done the checks the need to
55do (and probably gotten payment from you), they will hand over your 62do (and probably gotten payment from you), they will hand over your
56new certificate to you. 63new certificate to you.
57 64
65Section 5 will tell you more on how to handle the certificate you
66received.
67
68
694. Creating a self-signed certificate
70
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
73certificate authority of your own, you may want to make the requested
74certificate a self-signed one. This is similar to creating a
75certificate request, but creates a certificate instead of a
76certificate request (1095 is 3 years):
77
78 openssl req -new -x509 -key privkey.pem -out cacert.pem -days 1095
58 79
59[fill in on how to create a self-signed certificate]
60 80
815. What to do with the certificate
61 82
62If you created everything yourself, or if the certificate authority 83If you created everything yourself, or if the certificate authority
63was kind enough, your certificate is a raw DER thing in PEM format. 84was kind enough, your certificate is a raw DER thing in PEM format.
diff --git a/src/lib/libssl/src/doc/apps/ca.pod b/src/lib/libssl/src/doc/apps/ca.pod
index c2ca8f2400..de66c534b5 100644
--- a/src/lib/libssl/src/doc/apps/ca.pod
+++ b/src/lib/libssl/src/doc/apps/ca.pod
@@ -13,6 +13,10 @@ B<openssl> B<ca>
13[B<-name section>] 13[B<-name section>]
14[B<-gencrl>] 14[B<-gencrl>]
15[B<-revoke file>] 15[B<-revoke file>]
16[B<-crl_reason reason>]
17[B<-crl_hold instruction>]
18[B<-crl_compromise time>]
19[B<-crl_CA_compromise time>]
16[B<-subj arg>] 20[B<-subj arg>]
17[B<-crldays days>] 21[B<-crldays days>]
18[B<-crlhours hours>] 22[B<-crlhours hours>]
@@ -39,6 +43,7 @@ B<openssl> B<ca>
39[B<-msie_hack>] 43[B<-msie_hack>]
40[B<-extensions section>] 44[B<-extensions section>]
41[B<-extfile section>] 45[B<-extfile section>]
46[B<-engine id>]
42 47
43=head1 DESCRIPTION 48=head1 DESCRIPTION
44 49
@@ -74,7 +79,7 @@ a single self signed certificate to be signed by the CA.
74=item B<-spkac filename> 79=item B<-spkac filename>
75 80
76a file containing a single Netscape signed public key and challenge 81a file containing a single Netscape signed public key and challenge
77and additional field values to be signed by the CA. See the B<NOTES> 82and additional field values to be signed by the CA. See the B<SPKAC FORMAT>
78section for information on the required format. 83section for information on the required format.
79 84
80=item B<-infiles> 85=item B<-infiles>
@@ -191,6 +196,13 @@ an additional configuration file to read certificate extensions from
191(using the default section unless the B<-extensions> option is also 196(using the default section unless the B<-extensions> option is also
192used). 197used).
193 198
199=item B<-engine id>
200
201specifying an engine (by it's unique B<id> string) will cause B<req>
202to attempt to obtain a functional reference to the specified engine,
203thus initialising it if needed. The engine will then be set as the default
204for all available algorithms.
205
194=back 206=back
195 207
196=head1 CRL OPTIONS 208=head1 CRL OPTIONS
@@ -214,6 +226,33 @@ the number of hours before the next CRL is due.
214 226
215a filename containing a certificate to revoke. 227a filename containing a certificate to revoke.
216 228
229=item B<-crl_reason reason>
230
231revocation reason, where B<reason> is one of: B<unspecified>, B<keyCompromise>,
232B<CACompromise>, B<affiliationChanged>, B<superseded>, B<cessationOfOperation>,
233B<certificateHold> or B<removeFromCRL>. The matching of B<reason> is case
234insensitive. Setting any revocation reason will make the CRL v2.
235
236In practive B<removeFromCRL> is not particularly useful because it is only used
237in delta CRLs which are not currently implemented.
238
239=item B<-crl_hold instruction>
240
241This sets the CRL revocation reason code to B<certificateHold> and the hold
242instruction to B<instruction> which must be an OID. Although any OID can be
243used only B<holdInstructionNone> (the use of which is discouraged by RFC2459)
244B<holdInstructionCallIssuer> or B<holdInstructionReject> will normally be used.
245
246=item B<-crl_compromise time>
247
248This sets the revocation reason to B<keyCompromise> and the compromise time to
249B<time>. B<time> should be in GeneralizedTime format that is B<YYYYMMDDHHMMSSZ>.
250
251=item B<-crl_CA_compromise time>
252
253This is the same as B<crl_compromise> except the revocation reason is set to
254B<CACompromise>.
255
217=item B<-subj arg> 256=item B<-subj arg>
218 257
219supersedes subject name given in the request. 258supersedes subject name given in the request.
@@ -486,18 +525,6 @@ A sample configuration file with the relevant sections for B<ca>:
486 commonName = supplied 525 commonName = supplied
487 emailAddress = optional 526 emailAddress = optional
488 527
489=head1 WARNINGS
490
491The B<ca> command is quirky and at times downright unfriendly.
492
493The B<ca> utility was originally meant as an example of how to do things
494in a CA. It was not supposed to be used as a full blown CA itself:
495nevertheless some people are using it for this purpose.
496
497The B<ca> command is effectively a single user command: no locking is
498done on the various files and attempts to run more than one B<ca> command
499on the same database can have unpredictable results.
500
501=head1 FILES 528=head1 FILES
502 529
503Note: the location of all files can change either by compile time options, 530Note: the location of all files can change either by compile time options,
@@ -527,9 +554,6 @@ if corrupted it can be difficult to fix. It is theoretically possible
527to rebuild the index file from all the issued certificates and a current 554to rebuild the index file from all the issued certificates and a current
528CRL: however there is no option to do this. 555CRL: however there is no option to do this.
529 556
530CRL entry extensions cannot currently be created: only CRL extensions
531can be added.
532
533V2 CRL features like delta CRL support and CRL numbers are not currently 557V2 CRL features like delta CRL support and CRL numbers are not currently
534supported. 558supported.
535 559
@@ -565,6 +589,16 @@ create an empty file.
565 589
566=head1 WARNINGS 590=head1 WARNINGS
567 591
592The B<ca> command is quirky and at times downright unfriendly.
593
594The B<ca> utility was originally meant as an example of how to do things
595in a CA. It was not supposed to be used as a full blown CA itself:
596nevertheless some people are using it for this purpose.
597
598The B<ca> command is effectively a single user command: no locking is
599done on the various files and attempts to run more than one B<ca> command
600on the same database can have unpredictable results.
601
568The B<copy_extensions> option should be used with caution. If care is 602The B<copy_extensions> option should be used with caution. If care is
569not taken then it can be a security risk. For example if a certificate 603not taken then it can be a security risk. For example if a certificate
570request contains a basicConstraints extension with CA:TRUE and the 604request contains a basicConstraints extension with CA:TRUE and the
diff --git a/src/lib/libssl/src/doc/apps/ciphers.pod b/src/lib/libssl/src/doc/apps/ciphers.pod
index b7e577b24f..81a2c43893 100644
--- a/src/lib/libssl/src/doc/apps/ciphers.pod
+++ b/src/lib/libssl/src/doc/apps/ciphers.pod
@@ -203,6 +203,10 @@ cipher suites using DH, including anonymous DH.
203 203
204anonymous DH cipher suites. 204anonymous DH cipher suites.
205 205
206=item B<AES>
207
208cipher suites using AES.
209
206=item B<3DES> 210=item B<3DES>
207 211
208cipher suites using triple DES. 212cipher suites using triple DES.
@@ -236,7 +240,9 @@ cipher suites using SHA1.
236=head1 CIPHER SUITE NAMES 240=head1 CIPHER SUITE NAMES
237 241
238The following lists give the SSL or TLS cipher suites names from the 242The following lists give the SSL or TLS cipher suites names from the
239relevant specification and their OpenSSL equivalents. 243relevant specification and their OpenSSL equivalents. It should be noted,
244that several cipher suite names do not include the authentication used,
245e.g. DES-CBC3-SHA. In these cases, RSA authentication is used.
240 246
241=head2 SSL v3.0 cipher suites. 247=head2 SSL v3.0 cipher suites.
242 248
@@ -306,6 +312,24 @@ relevant specification and their OpenSSL equivalents.
306 TLS_DH_anon_WITH_DES_CBC_SHA ADH-DES-CBC-SHA 312 TLS_DH_anon_WITH_DES_CBC_SHA ADH-DES-CBC-SHA
307 TLS_DH_anon_WITH_3DES_EDE_CBC_SHA ADH-DES-CBC3-SHA 313 TLS_DH_anon_WITH_3DES_EDE_CBC_SHA ADH-DES-CBC3-SHA
308 314
315=head2 AES ciphersuites from RFC3268, extending TLS v1.0
316
317 TLS_RSA_WITH_AES_128_CBC_SHA AES128-SHA
318 TLS_RSA_WITH_AES_256_CBC_SHA AES256-SHA
319
320 TLS_DH_DSS_WITH_AES_128_CBC_SHA DH-DSS-AES128-SHA
321 TLS_DH_DSS_WITH_AES_256_CBC_SHA DH-DSS-AES256-SHA
322 TLS_DH_RSA_WITH_AES_128_CBC_SHA DH-RSA-AES128-SHA
323 TLS_DH_RSA_WITH_AES_256_CBC_SHA DH-RSA-AES256-SHA
324
325 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
327 TLS_DHE_RSA_WITH_AES_128_CBC_SHA DHE-RSA-AES128-SHA
328 TLS_DHE_RSA_WITH_AES_256_CBC_SHA DHE-RSA-AES256-SHA
329
330 TLS_DH_anon_WITH_AES_128_CBC_SHA ADH-AES128-SHA
331 TLS_DH_anon_WITH_AES_256_CBC_SHA ADH-AES256-SHA
332
309=head2 Additional Export 1024 and other cipher suites 333=head2 Additional Export 1024 and other cipher suites
310 334
311Note: these ciphers can also be used in SSL v3. 335Note: these ciphers can also be used in SSL v3.
diff --git a/src/lib/libssl/src/doc/apps/dhparam.pod b/src/lib/libssl/src/doc/apps/dhparam.pod
index ff8a6e5e5b..c31db95a47 100644
--- a/src/lib/libssl/src/doc/apps/dhparam.pod
+++ b/src/lib/libssl/src/doc/apps/dhparam.pod
@@ -18,6 +18,7 @@ B<openssl dhparam>
18[B<-2>] 18[B<-2>]
19[B<-5>] 19[B<-5>]
20[B<-rand> I<file(s)>] 20[B<-rand> I<file(s)>]
21[B<-engine id>]
21[I<numbits>] 22[I<numbits>]
22 23
23=head1 DESCRIPTION 24=head1 DESCRIPTION
@@ -96,6 +97,13 @@ this option prints out the DH parameters in human readable form.
96this option converts the parameters into C code. The parameters can then 97this option converts the parameters into C code. The parameters can then
97be loaded by calling the B<get_dh>I<numbits>B<()> function. 98be loaded by calling the B<get_dh>I<numbits>B<()> function.
98 99
100=item B<-engine id>
101
102specifying an engine (by it's unique B<id> string) will cause B<req>
103to attempt to obtain a functional reference to the specified engine,
104thus initialising it if needed. The engine will then be set as the default
105for all available algorithms.
106
99=back 107=back
100 108
101=head1 WARNINGS 109=head1 WARNINGS
diff --git a/src/lib/libssl/src/doc/apps/dsa.pod b/src/lib/libssl/src/doc/apps/dsa.pod
index 28e534bb95..ed06b8806d 100644
--- a/src/lib/libssl/src/doc/apps/dsa.pod
+++ b/src/lib/libssl/src/doc/apps/dsa.pod
@@ -21,6 +21,7 @@ B<openssl> B<dsa>
21[B<-modulus>] 21[B<-modulus>]
22[B<-pubin>] 22[B<-pubin>]
23[B<-pubout>] 23[B<-pubout>]
24[B<-engine id>]
24 25
25=head1 DESCRIPTION 26=head1 DESCRIPTION
26 27
@@ -106,6 +107,13 @@ by default a private key is output. With this option a public
106key will be output instead. This option is automatically set if the input is 107key will be output instead. This option is automatically set if the input is
107a public key. 108a public key.
108 109
110=item B<-engine id>
111
112specifying an engine (by it's unique B<id> string) will cause B<req>
113to attempt to obtain a functional reference to the specified engine,
114thus initialising it if needed. The engine will then be set as the default
115for all available algorithms.
116
109=back 117=back
110 118
111=head1 NOTES 119=head1 NOTES
diff --git a/src/lib/libssl/src/doc/apps/dsaparam.pod b/src/lib/libssl/src/doc/apps/dsaparam.pod
index 50c2f61242..b9b1b93b42 100644
--- a/src/lib/libssl/src/doc/apps/dsaparam.pod
+++ b/src/lib/libssl/src/doc/apps/dsaparam.pod
@@ -16,6 +16,7 @@ B<openssl dsaparam>
16[B<-C>] 16[B<-C>]
17[B<-rand file(s)>] 17[B<-rand file(s)>]
18[B<-genkey>] 18[B<-genkey>]
19[B<-engine id>]
19[B<numbits>] 20[B<numbits>]
20 21
21=head1 DESCRIPTION 22=head1 DESCRIPTION
@@ -82,6 +83,13 @@ this option specifies that a parameter set should be generated of size
82B<numbits>. It must be the last option. If this option is included then 83B<numbits>. It must be the last option. If this option is included then
83the input file (if any) is ignored. 84the input file (if any) is ignored.
84 85
86=item B<-engine id>
87
88specifying an engine (by it's unique B<id> string) will cause B<req>
89to attempt to obtain a functional reference to the specified engine,
90thus initialising it if needed. The engine will then be set as the default
91for all available algorithms.
92
85=back 93=back
86 94
87=head1 NOTES 95=head1 NOTES
diff --git a/src/lib/libssl/src/doc/apps/gendsa.pod b/src/lib/libssl/src/doc/apps/gendsa.pod
index 74318fe7fb..2c56cc7888 100644
--- a/src/lib/libssl/src/doc/apps/gendsa.pod
+++ b/src/lib/libssl/src/doc/apps/gendsa.pod
@@ -12,6 +12,7 @@ B<openssl> B<gendsa>
12[B<-des3>] 12[B<-des3>]
13[B<-idea>] 13[B<-idea>]
14[B<-rand file(s)>] 14[B<-rand file(s)>]
15[B<-engine id>]
15[B<paramfile>] 16[B<paramfile>]
16 17
17=head1 DESCRIPTION 18=head1 DESCRIPTION
@@ -37,6 +38,13 @@ Multiple files can be specified separated by a OS-dependent character.
37The separator is B<;> for MS-Windows, B<,> for OpenVMS, and B<:> for 38The separator is B<;> for MS-Windows, B<,> for OpenVMS, and B<:> for
38all others. 39all others.
39 40
41=item B<-engine id>
42
43specifying an engine (by it's unique B<id> string) will cause B<req>
44to attempt to obtain a functional reference to the specified engine,
45thus initialising it if needed. The engine will then be set as the default
46for all available algorithms.
47
40=item B<paramfile> 48=item B<paramfile>
41 49
42This option specifies the DSA parameter file to use. The parameters in this 50This option specifies the DSA parameter file to use. The parameters in this
diff --git a/src/lib/libssl/src/doc/apps/genrsa.pod b/src/lib/libssl/src/doc/apps/genrsa.pod
index cdcc03c123..25af4d1475 100644
--- a/src/lib/libssl/src/doc/apps/genrsa.pod
+++ b/src/lib/libssl/src/doc/apps/genrsa.pod
@@ -15,6 +15,7 @@ B<openssl> B<genrsa>
15[B<-f4>] 15[B<-f4>]
16[B<-3>] 16[B<-3>]
17[B<-rand file(s)>] 17[B<-rand file(s)>]
18[B<-engine id>]
18[B<numbits>] 19[B<numbits>]
19 20
20=head1 DESCRIPTION 21=head1 DESCRIPTION
@@ -54,6 +55,13 @@ Multiple files can be specified separated by a OS-dependent character.
54The separator is B<;> for MS-Windows, B<,> for OpenVMS, and B<:> for 55The separator is B<;> for MS-Windows, B<,> for OpenVMS, and B<:> for
55all others. 56all others.
56 57
58=item B<-engine id>
59
60specifying an engine (by it's unique B<id> string) will cause B<req>
61to attempt to obtain a functional reference to the specified engine,
62thus initialising it if needed. The engine will then be set as the default
63for all available algorithms.
64
57=item B<numbits> 65=item B<numbits>
58 66
59the size of the private key to generate in bits. This must be the last option 67the size of the private key to generate in bits. This must be the last option
diff --git a/src/lib/libssl/src/doc/apps/ocsp.pod b/src/lib/libssl/src/doc/apps/ocsp.pod
index da201b95e6..4f266058e5 100644
--- a/src/lib/libssl/src/doc/apps/ocsp.pod
+++ b/src/lib/libssl/src/doc/apps/ocsp.pod
@@ -11,6 +11,10 @@ B<openssl> B<ocsp>
11[B<-issuer file>] 11[B<-issuer file>]
12[B<-cert file>] 12[B<-cert file>]
13[B<-serial n>] 13[B<-serial n>]
14[B<-signer file>]
15[B<-signkey file>]
16[B<-sign_other file>]
17[B<-no_certs>]
14[B<-req_text>] 18[B<-req_text>]
15[B<-resp_text>] 19[B<-resp_text>]
16[B<-text>] 20[B<-text>]
@@ -20,27 +24,36 @@ B<openssl> B<ocsp>
20[B<-respin file>] 24[B<-respin file>]
21[B<-nonce>] 25[B<-nonce>]
22[B<-no_nonce>] 26[B<-no_nonce>]
23[B<-url responder_url>] 27[B<-url URL>]
24[B<-host host:n>] 28[B<-host host:n>]
25[B<-path>] 29[B<-path>]
26[B<-CApath file>] 30[B<-CApath dir>]
27[B<-CAfile file>] 31[B<-CAfile file>]
28[B<-VAfile file>] 32[B<-VAfile file>]
29[B<-verify_certs file>] 33[B<-validity_period n>]
34[B<-status_age n>]
30[B<-noverify>] 35[B<-noverify>]
36[B<-verify_other file>]
31[B<-trust_other>] 37[B<-trust_other>]
32[B<-no_intern>] 38[B<-no_intern>]
33[B<-no_sig_verify>] 39[B<-no_signature_verify>]
34[B<-no_cert_verify>] 40[B<-no_cert_verify>]
35[B<-no_chain>] 41[B<-no_chain>]
36[B<-no_cert_checks>] 42[B<-no_cert_checks>]
37[B<-validity_period nsec>] 43[B<-port num>]
38[B<-status_age nsec>] 44[B<-index file>]
45[B<-CA file>]
46[B<-rsigner file>]
47[B<-rkey file>]
48[B<-rother file>]
49[B<-resp_no_certs>]
50[B<-nmin n>]
51[B<-ndays n>]
52[B<-resp_key_id>]
53[B<-nrequest n>]
39 54
40=head1 DESCRIPTION 55=head1 DESCRIPTION
41 56
42B<WARNING: this documentation is preliminary and subject to change.>
43
44The Online Certificate Status Protocol (OCSP) enables applications to 57The Online Certificate Status Protocol (OCSP) enables applications to
45determine the (revocation) state of an identified certificate (RFC 2560). 58determine the (revocation) state of an identified certificate (RFC 2560).
46 59
@@ -83,6 +96,10 @@ the B<signkey> option is not present then the private key is read
83from the same file as the certificate. If neither option is specified then 96from the same file as the certificate. If neither option is specified then
84the OCSP request is not signed. 97the OCSP request is not signed.
85 98
99=item B<-sign_other filename>
100
101Additional certificates to include in the signed request.
102
86=item B<-nonce>, B<-no_nonce> 103=item B<-nonce>, B<-no_nonce>
87 104
88Add an OCSP nonce extension to a request or disable OCSP nonce addition. 105Add an OCSP nonce extension to a request or disable OCSP nonce addition.
@@ -120,7 +137,7 @@ or "/" by default.
120file or pathname containing trusted CA certificates. These are used to verify 137file or pathname containing trusted CA certificates. These are used to verify
121the signature on the OCSP response. 138the signature on the OCSP response.
122 139
123=item B<-verify_certs file> 140=item B<-verify_other file>
124 141
125file containing additional certificates to search when attempting to locate 142file containing additional certificates to search when attempting to locate
126the OCSP response signing certificate. Some responders omit the actual signer's 143the OCSP response signing certificate. Some responders omit the actual signer's
@@ -151,7 +168,7 @@ ignore certificates contained in the OCSP response when searching for the
151signers certificate. With this option the signers certificate must be specified 168signers certificate. With this option the signers certificate must be specified
152with either the B<-verify_certs> or B<-VAfile> options. 169with either the B<-verify_certs> or B<-VAfile> options.
153 170
154=item B<-no_sig_verify> 171=item B<-no_signature_verify>
155 172
156don't check the signature on the OCSP response. Since this option tolerates invalid 173don't check the signature on the OCSP response. Since this option tolerates invalid
157signatures on OCSP responses it will normally only be used for testing purposes. 174signatures on OCSP responses it will normally only be used for testing purposes.
diff --git a/src/lib/libssl/src/doc/apps/passwd.pod b/src/lib/libssl/src/doc/apps/passwd.pod
index 07d849c824..f44982549b 100644
--- a/src/lib/libssl/src/doc/apps/passwd.pod
+++ b/src/lib/libssl/src/doc/apps/passwd.pod
@@ -75,7 +75,7 @@ to each password hash.
75 75
76B<openssl passwd -crypt -salt xx password> prints B<xxj31ZMTZzkVA>. 76B<openssl passwd -crypt -salt xx password> prints B<xxj31ZMTZzkVA>.
77 77
78B<openssl passwd -1 -salt xxxxxxxx password> prints B<$1$xxxxxxxx$8XJIcl6ZXqBMCK0qFevqT1>. 78B<openssl passwd -1 -salt xxxxxxxx password> prints B<$1$xxxxxxxx$UYCIxa628.9qXjpQCjM4a.>.
79 79
80B<openssl passwd -apr1 -salt xxxxxxxx password> prints B<$apr1$xxxxxxxx$dxHfLAsjHkDRmG83UXe8K0>. 80B<openssl passwd -apr1 -salt xxxxxxxx password> prints B<$apr1$xxxxxxxx$dxHfLAsjHkDRmG83UXe8K0>.
81 81
diff --git a/src/lib/libssl/src/doc/apps/pkcs7.pod b/src/lib/libssl/src/doc/apps/pkcs7.pod
index 9871c0e0cd..a0a636328b 100644
--- a/src/lib/libssl/src/doc/apps/pkcs7.pod
+++ b/src/lib/libssl/src/doc/apps/pkcs7.pod
@@ -14,6 +14,7 @@ B<openssl> B<pkcs7>
14[B<-print_certs>] 14[B<-print_certs>]
15[B<-text>] 15[B<-text>]
16[B<-noout>] 16[B<-noout>]
17[B<-engine id>]
17 18
18=head1 DESCRIPTION 19=head1 DESCRIPTION
19 20
@@ -59,6 +60,13 @@ issuer names.
59don't output the encoded version of the PKCS#7 structure (or certificates 60don't output the encoded version of the PKCS#7 structure (or certificates
60is B<-print_certs> is set). 61is B<-print_certs> is set).
61 62
63=item B<-engine id>
64
65specifying an engine (by it's unique B<id> string) will cause B<req>
66to attempt to obtain a functional reference to the specified engine,
67thus initialising it if needed. The engine will then be set as the default
68for all available algorithms.
69
62=back 70=back
63 71
64=head1 EXAMPLES 72=head1 EXAMPLES
diff --git a/src/lib/libssl/src/doc/apps/pkcs8.pod b/src/lib/libssl/src/doc/apps/pkcs8.pod
index a56b2dd002..68ecd65b10 100644
--- a/src/lib/libssl/src/doc/apps/pkcs8.pod
+++ b/src/lib/libssl/src/doc/apps/pkcs8.pod
@@ -21,6 +21,7 @@ B<openssl> B<pkcs8>
21[B<-nsdb>] 21[B<-nsdb>]
22[B<-v2 alg>] 22[B<-v2 alg>]
23[B<-v1 alg>] 23[B<-v1 alg>]
24[B<-engine id>]
24 25
25=head1 DESCRIPTION 26=head1 DESCRIPTION
26 27
@@ -122,6 +123,13 @@ B<des>, B<des3> and B<rc2>. It is recommended that B<des3> is used.
122This option specifies a PKCS#5 v1.5 or PKCS#12 algorithm to use. A complete 123This option specifies a PKCS#5 v1.5 or PKCS#12 algorithm to use. A complete
123list of possible algorithms is included below. 124list of possible algorithms is included below.
124 125
126=item B<-engine id>
127
128specifying an engine (by it's unique B<id> string) will cause B<req>
129to attempt to obtain a functional reference to the specified engine,
130thus initialising it if needed. The engine will then be set as the default
131for all available algorithms.
132
125=back 133=back
126 134
127=head1 NOTES 135=head1 NOTES
diff --git a/src/lib/libssl/src/doc/apps/req.pod b/src/lib/libssl/src/doc/apps/req.pod
index 10e4e12a5c..e2b5d0d8ec 100644
--- a/src/lib/libssl/src/doc/apps/req.pod
+++ b/src/lib/libssl/src/doc/apps/req.pod
@@ -41,6 +41,7 @@ B<openssl> B<req>
41[B<-nameopt>] 41[B<-nameopt>]
42[B<-batch>] 42[B<-batch>]
43[B<-verbose>] 43[B<-verbose>]
44[B<-engine id>]
44 45
45=head1 DESCRIPTION 46=head1 DESCRIPTION
46 47
@@ -244,6 +245,13 @@ non-interactive mode.
244 245
245print extra details about the operations being performed. 246print extra details about the operations being performed.
246 247
248=item B<-engine id>
249
250specifying an engine (by it's unique B<id> string) will cause B<req>
251to attempt to obtain a functional reference to the specified engine,
252thus initialising it if needed. The engine will then be set as the default
253for all available algorithms.
254
247=back 255=back
248 256
249=head1 CONFIGURATION FILE FORMAT 257=head1 CONFIGURATION FILE FORMAT
@@ -406,7 +414,7 @@ be input by calling it "1.organizationName".
406The actual permitted field names are any object identifier short or 414The actual permitted field names are any object identifier short or
407long names. These are compiled into OpenSSL and include the usual 415long names. These are compiled into OpenSSL and include the usual
408values such as commonName, countryName, localityName, organizationName, 416values such as commonName, countryName, localityName, organizationName,
409organizationUnitName, stateOrPrivinceName. Additionally emailAddress 417organizationUnitName, stateOrProvinceName. Additionally emailAddress
410is include as well as name, surname, givenName initials and dnQualifier. 418is include as well as name, surname, givenName initials and dnQualifier.
411 419
412Additional object identifiers can be defined with the B<oid_file> or 420Additional object identifiers can be defined with the B<oid_file> or
@@ -512,13 +520,13 @@ Sample configuration containing all field values:
512 520
513The header and footer lines in the B<PEM> format are normally: 521The header and footer lines in the B<PEM> format are normally:
514 522
515 -----BEGIN CERTIFICATE REQUEST---- 523 -----BEGIN CERTIFICATE REQUEST-----
516 -----END CERTIFICATE REQUEST---- 524 -----END CERTIFICATE REQUEST-----
517 525
518some software (some versions of Netscape certificate server) instead needs: 526some software (some versions of Netscape certificate server) instead needs:
519 527
520 -----BEGIN NEW CERTIFICATE REQUEST---- 528 -----BEGIN NEW CERTIFICATE REQUEST-----
521 -----END NEW CERTIFICATE REQUEST---- 529 -----END NEW CERTIFICATE REQUEST-----
522 530
523which is produced with the B<-newhdr> option but is otherwise compatible. 531which is produced with the B<-newhdr> option but is otherwise compatible.
524Either form is accepted transparently on input. 532Either form is accepted transparently on input.
diff --git a/src/lib/libssl/src/doc/apps/rsa.pod b/src/lib/libssl/src/doc/apps/rsa.pod
index ef74f1adff..4d7640995e 100644
--- a/src/lib/libssl/src/doc/apps/rsa.pod
+++ b/src/lib/libssl/src/doc/apps/rsa.pod
@@ -24,6 +24,7 @@ B<openssl> B<rsa>
24[B<-check>] 24[B<-check>]
25[B<-pubin>] 25[B<-pubin>]
26[B<-pubout>] 26[B<-pubout>]
27[B<-engine id>]
27 28
28=head1 DESCRIPTION 29=head1 DESCRIPTION
29 30
@@ -117,6 +118,13 @@ by default a private key is output: with this option a public
117key will be output instead. This option is automatically set if 118key will be output instead. This option is automatically set if
118the input is a public key. 119the input is a public key.
119 120
121=item B<-engine id>
122
123specifying an engine (by it's unique B<id> string) will cause B<req>
124to attempt to obtain a functional reference to the specified engine,
125thus initialising it if needed. The engine will then be set as the default
126for all available algorithms.
127
120=back 128=back
121 129
122=head1 NOTES 130=head1 NOTES
diff --git a/src/lib/libssl/src/doc/apps/s_client.pod b/src/lib/libssl/src/doc/apps/s_client.pod
index 7fca9cbdbd..47dc93cb3f 100644
--- a/src/lib/libssl/src/doc/apps/s_client.pod
+++ b/src/lib/libssl/src/doc/apps/s_client.pod
@@ -33,6 +33,7 @@ B<openssl> B<s_client>
33[B<-no_tls1>] 33[B<-no_tls1>]
34[B<-bugs>] 34[B<-bugs>]
35[B<-cipher cipherlist>] 35[B<-cipher cipherlist>]
36[B<-starttls protocol>]
36[B<-engine id>] 37[B<-engine id>]
37[B<-rand file(s)>] 38[B<-rand file(s)>]
38 39
@@ -163,6 +164,12 @@ the server determines which cipher suite is used it should take the first
163supported cipher in the list sent by the client. See the B<ciphers> 164supported cipher in the list sent by the client. See the B<ciphers>
164command for more information. 165command for more information.
165 166
167=item B<-starttls protocol>
168
169send the protocol-specific message(s) to switch to TLS for communication.
170B<protocol> is a keyword for the intended protocol. Currently, the only
171supported keyword is "smtp".
172
166=item B<-engine id> 173=item B<-engine id>
167 174
168specifying an engine (by it's unique B<id> string) will cause B<s_client> 175specifying an engine (by it's unique B<id> string) will cause B<s_client>
diff --git a/src/lib/libssl/src/doc/apps/s_server.pod b/src/lib/libssl/src/doc/apps/s_server.pod
index 4b1e4260ef..1d21921e47 100644
--- a/src/lib/libssl/src/doc/apps/s_server.pod
+++ b/src/lib/libssl/src/doc/apps/s_server.pod
@@ -42,6 +42,7 @@ B<openssl> B<s_server>
42[B<-WWW>] 42[B<-WWW>]
43[B<-HTTP>] 43[B<-HTTP>]
44[B<-engine id>] 44[B<-engine id>]
45[B<-id_prefix arg>]
45[B<-rand file(s)>] 46[B<-rand file(s)>]
46 47
47=head1 DESCRIPTION 48=head1 DESCRIPTION
@@ -209,6 +210,13 @@ to attempt to obtain a functional reference to the specified engine,
209thus initialising it if needed. The engine will then be set as the default 210thus initialising it if needed. The engine will then be set as the default
210for all available algorithms. 211for all available algorithms.
211 212
213=item B<-id_prefix arg>
214
215generate SSL/TLS session IDs prefixed by B<arg>. This is mostly useful
216for testing any SSL/TLS code (eg. proxies) that wish to deal with multiple
217servers, when each of which might be generating a unique range of session
218IDs (eg. with a certain prefix).
219
212=item B<-rand file(s)> 220=item B<-rand file(s)>
213 221
214a file or files containing random data used to seed the random number 222a file or files containing random data used to seed the random number
diff --git a/src/lib/libssl/src/doc/apps/smime.pod b/src/lib/libssl/src/doc/apps/smime.pod
index fa5d23e8dc..2453dd2738 100644
--- a/src/lib/libssl/src/doc/apps/smime.pod
+++ b/src/lib/libssl/src/doc/apps/smime.pod
@@ -340,8 +340,8 @@ detached signature format. You can use this program to verify the
340signature by line wrapping the base64 encoded structure and surrounding 340signature by line wrapping the base64 encoded structure and surrounding
341it with: 341it with:
342 342
343 -----BEGIN PKCS7---- 343 -----BEGIN PKCS7-----
344 -----END PKCS7---- 344 -----END PKCS7-----
345 345
346and using the command, 346and using the command,
347 347
diff --git a/src/lib/libssl/src/doc/apps/speed.pod b/src/lib/libssl/src/doc/apps/speed.pod
index 8101851ec6..0dcdba873e 100644
--- a/src/lib/libssl/src/doc/apps/speed.pod
+++ b/src/lib/libssl/src/doc/apps/speed.pod
@@ -54,4 +54,6 @@ for all available algorithms.
54If any options are given, B<speed> tests those algorithms, otherwise all of 54If any options are given, B<speed> tests those algorithms, otherwise all of
55the above are tested. 55the above are tested.
56 56
57=back
58
57=cut 59=cut
diff --git a/src/lib/libssl/src/doc/apps/spkac.pod b/src/lib/libssl/src/doc/apps/spkac.pod
index bb84dfbe33..c3f1ff9c64 100644
--- a/src/lib/libssl/src/doc/apps/spkac.pod
+++ b/src/lib/libssl/src/doc/apps/spkac.pod
@@ -17,7 +17,7 @@ B<openssl> B<spkac>
17[B<-spksect section>] 17[B<-spksect section>]
18[B<-noout>] 18[B<-noout>]
19[B<-verify>] 19[B<-verify>]
20 20[B<-engine id>]
21 21
22=head1 DESCRIPTION 22=head1 DESCRIPTION
23 23
@@ -79,6 +79,12 @@ being created).
79 79
80verifies the digital signature on the supplied SPKAC. 80verifies the digital signature on the supplied SPKAC.
81 81
82=item B<-engine id>
83
84specifying an engine (by it's unique B<id> string) will cause B<req>
85to attempt to obtain a functional reference to the specified engine,
86thus initialising it if needed. The engine will then be set as the default
87for all available algorithms.
82 88
83=back 89=back
84 90
diff --git a/src/lib/libssl/src/doc/apps/x509.pod b/src/lib/libssl/src/doc/apps/x509.pod
index 4a17e338dd..50343cd685 100644
--- a/src/lib/libssl/src/doc/apps/x509.pod
+++ b/src/lib/libssl/src/doc/apps/x509.pod
@@ -50,6 +50,7 @@ B<openssl> B<x509>
50[B<-clrext>] 50[B<-clrext>]
51[B<-extfile filename>] 51[B<-extfile filename>]
52[B<-extensions section>] 52[B<-extensions section>]
53[B<-engine id>]
53 54
54=head1 DESCRIPTION 55=head1 DESCRIPTION
55 56
@@ -61,8 +62,9 @@ certificate trust settings.
61Since there are a large number of options they will split up into 62Since there are a large number of options they will split up into
62various sections. 63various sections.
63 64
65=head1 OPTIONS
64 66
65=head1 INPUT, OUTPUT AND GENERAL PURPOSE OPTIONS 67=head2 INPUT, OUTPUT AND GENERAL PURPOSE OPTIONS
66 68
67=over 4 69=over 4
68 70
@@ -97,13 +99,19 @@ digest, such as the B<-fingerprint>, B<-signkey> and B<-CA> options. If not
97specified then MD5 is used. If the key being used to sign with is a DSA key then 99specified then MD5 is used. If the key being used to sign with is a DSA key then
98this option has no effect: SHA1 is always used with DSA keys. 100this option has no effect: SHA1 is always used with DSA keys.
99 101
102=item B<-engine id>
103
104specifying an engine (by it's unique B<id> string) will cause B<req>
105to attempt to obtain a functional reference to the specified engine,
106thus initialising it if needed. The engine will then be set as the default
107for all available algorithms.
100 108
101=back 109=back
102 110
103=head1 DISPLAY OPTIONS 111=head2 DISPLAY OPTIONS
104 112
105Note: the B<-alias> and B<-purpose> options are also display options 113Note: the B<-alias> and B<-purpose> options are also display options
106but are described in the B<TRUST OPTIONS> section. 114but are described in the B<TRUST SETTINGS> section.
107 115
108=over 4 116=over 4
109 117
@@ -181,7 +189,7 @@ this outputs the certificate in the form of a C source file.
181 189
182=back 190=back
183 191
184=head1 TRUST SETTINGS 192=head2 TRUST SETTINGS
185 193
186Please note these options are currently experimental and may well change. 194Please note these options are currently experimental and may well change.
187 195
@@ -252,7 +260,7 @@ EXTENSIONS> section.
252 260
253=back 261=back
254 262
255=head1 SIGNING OPTIONS 263=head2 SIGNING OPTIONS
256 264
257The B<x509> utility can be used to sign certificates and requests: it 265The B<x509> utility can be used to sign certificates and requests: it
258can thus behave like a "mini CA". 266can thus behave like a "mini CA".
@@ -341,7 +349,7 @@ The default filename consists of the CA certificate file base name with
341".srl" appended. For example if the CA certificate file is called 349".srl" appended. For example if the CA certificate file is called
342"mycacert.pem" it expects to find a serial number file called "mycacert.srl". 350"mycacert.pem" it expects to find a serial number file called "mycacert.srl".
343 351
344=item B<-CAcreateserial filename> 352=item B<-CAcreateserial>
345 353
346with this option the CA serial number file is created if it does not exist: 354with this option the CA serial number file is created if it does not exist:
347it will contain the serial number "02" and the certificate being signed will 355it will contain the serial number "02" and the certificate being signed will
@@ -362,7 +370,7 @@ specified then the extensions should either be contained in the unnamed
362 370
363=back 371=back
364 372
365=head1 NAME OPTIONS 373=head2 NAME OPTIONS
366 374
367The B<nameopt> command line switch determines how the subject and issuer 375The B<nameopt> command line switch determines how the subject and issuer
368names are displayed. If no B<nameopt> switch is present the default "oneline" 376names are displayed. If no B<nameopt> switch is present the default "oneline"
@@ -499,7 +507,7 @@ name.
499 507
500=back 508=back
501 509
502=head1 TEXT OPTIONS 510=head2 TEXT OPTIONS
503 511
504As well as customising the name output format, it is also possible to 512As well as customising the name output format, it is also possible to
505customise the actual fields printed using the B<certopt> options when 513customise the actual fields printed using the B<certopt> options when
@@ -636,25 +644,25 @@ certificate extensions:
636Set a certificate to be trusted for SSL client use and change set its alias to 644Set a certificate to be trusted for SSL client use and change set its alias to
637"Steve's Class 1 CA" 645"Steve's Class 1 CA"
638 646
639 openssl x509 -in cert.pem -addtrust sslclient \ 647 openssl x509 -in cert.pem -addtrust clientAuth \
640 -alias "Steve's Class 1 CA" -out trust.pem 648 -setalias "Steve's Class 1 CA" -out trust.pem
641 649
642=head1 NOTES 650=head1 NOTES
643 651
644The PEM format uses the header and footer lines: 652The PEM format uses the header and footer lines:
645 653
646 -----BEGIN CERTIFICATE---- 654 -----BEGIN CERTIFICATE-----
647 -----END CERTIFICATE---- 655 -----END CERTIFICATE-----
648 656
649it will also handle files containing: 657it will also handle files containing:
650 658
651 -----BEGIN X509 CERTIFICATE---- 659 -----BEGIN X509 CERTIFICATE-----
652 -----END X509 CERTIFICATE---- 660 -----END X509 CERTIFICATE-----
653 661
654Trusted certificates have the lines 662Trusted certificates have the lines
655 663
656 -----BEGIN TRUSTED CERTIFICATE---- 664 -----BEGIN TRUSTED CERTIFICATE-----
657 -----END TRUSTED CERTIFICATE---- 665 -----END TRUSTED CERTIFICATE-----
658 666
659The conversion to UTF8 format used with the name options assumes that 667The conversion to UTF8 format used with the name options assumes that
660T61Strings use the ISO8859-1 character set. This is wrong but Netscape 668T61Strings use the ISO8859-1 character set. This is wrong but Netscape
diff --git a/src/lib/libssl/src/doc/c-indentation.el b/src/lib/libssl/src/doc/c-indentation.el
index 48ca3cf69b..cbf01cb172 100644
--- a/src/lib/libssl/src/doc/c-indentation.el
+++ b/src/lib/libssl/src/doc/c-indentation.el
@@ -13,12 +13,10 @@
13; 13;
14; Apparently statement blocks that are not introduced by a statement 14; Apparently statement blocks that are not introduced by a statement
15; such as "if" and that are not the body of a function cannot 15; such as "if" and that are not the body of a function cannot
16; be handled too well by CC mode with this indentation style. 16; be handled too well by CC mode with this indentation style,
17; The style defined below does not indent them at all. 17; so you have to indent them manually (you can use C-q tab).
18; To insert tabs manually, prefix them with ^Q (the "quoted-insert" 18;
19; command of Emacs). If you know a solution to this problem 19; For suggesting improvements, please send e-mail to bodo@openssl.org.
20; or find other problems with this indentation style definition,
21; please send e-mail to bodo@openssl.org.
22 20
23(c-add-style "eay" 21(c-add-style "eay"
24 '((c-basic-offset . 8) 22 '((c-basic-offset . 8)
diff --git a/src/lib/libssl/src/doc/crypto/BIO_f_cipher.pod b/src/lib/libssl/src/doc/crypto/BIO_f_cipher.pod
index 4182f2c309..02439cea94 100644
--- a/src/lib/libssl/src/doc/crypto/BIO_f_cipher.pod
+++ b/src/lib/libssl/src/doc/crypto/BIO_f_cipher.pod
@@ -28,7 +28,7 @@ BIO_flush() on an encryption BIO that is being written through is
28used to signal that no more data is to be encrypted: this is used 28used to signal that no more data is to be encrypted: this is used
29to flush and possibly pad the final block through the BIO. 29to flush and possibly pad the final block through the BIO.
30 30
31BIO_set_cipher() sets the cipher of BIO <b> to B<cipher> using key B<key> 31BIO_set_cipher() sets the cipher of BIO B<b> to B<cipher> using key B<key>
32and IV B<iv>. B<enc> should be set to 1 for encryption and zero for 32and IV B<iv>. B<enc> should be set to 1 for encryption and zero for
33decryption. 33decryption.
34 34
diff --git a/src/lib/libssl/src/doc/crypto/BIO_s_accept.pod b/src/lib/libssl/src/doc/crypto/BIO_s_accept.pod
index 55e4b730b9..7b63e4621b 100644
--- a/src/lib/libssl/src/doc/crypto/BIO_s_accept.pod
+++ b/src/lib/libssl/src/doc/crypto/BIO_s_accept.pod
@@ -2,7 +2,7 @@
2 2
3=head1 NAME 3=head1 NAME
4 4
5BIO_s_accept, BIO_set_nbio, BIO_set_accept_port, BIO_get_accept_port, 5BIO_s_accept, BIO_set_accept_port, BIO_get_accept_port,
6BIO_set_nbio_accept, BIO_set_accept_bios, BIO_set_bind_mode, 6BIO_set_nbio_accept, BIO_set_accept_bios, BIO_set_bind_mode,
7BIO_get_bind_mode, BIO_do_accept - accept BIO 7BIO_get_bind_mode, BIO_do_accept - accept BIO
8 8
diff --git a/src/lib/libssl/src/doc/crypto/BIO_s_bio.pod b/src/lib/libssl/src/doc/crypto/BIO_s_bio.pod
index 95ae802e47..8d0a55a025 100644
--- a/src/lib/libssl/src/doc/crypto/BIO_s_bio.pod
+++ b/src/lib/libssl/src/doc/crypto/BIO_s_bio.pod
@@ -76,7 +76,9 @@ BIO_get_write_buf_size() returns the size of the write buffer.
76BIO_new_bio_pair() combines the calls to BIO_new(), BIO_make_bio_pair() and 76BIO_new_bio_pair() combines the calls to BIO_new(), BIO_make_bio_pair() and
77BIO_set_write_buf_size() to create a connected pair of BIOs B<bio1>, B<bio2> 77BIO_set_write_buf_size() to create a connected pair of BIOs B<bio1>, B<bio2>
78with write buffer sizes B<writebuf1> and B<writebuf2>. If either size is 78with write buffer sizes B<writebuf1> and B<writebuf2>. If either size is
79zero then the default size is used. 79zero then the default size is used. BIO_new_bio_pair() does not check whether
80B<bio1> or B<bio2> do point to some other BIO, the values are overwritten,
81BIO_free() is not called.
80 82
81BIO_get_write_guarantee() and BIO_ctrl_get_write_guarantee() return the maximum 83BIO_get_write_guarantee() and BIO_ctrl_get_write_guarantee() return the maximum
82length of data that can be currently written to the BIO. Writes larger than this 84length of data that can be currently written to the BIO. Writes larger than this
@@ -118,9 +120,59 @@ the application then waits for data to be available on the underlying transport
118before flushing the write buffer it will never succeed because the request was 120before flushing the write buffer it will never succeed because the request was
119never sent! 121never sent!
120 122
123=head1 RETURN VALUES
124
125BIO_new_bio_pair() returns 1 on success, with the new BIOs available in
126B<bio1> and B<bio2>, or 0 on failure, with NULL pointers stored into the
127locations for B<bio1> and B<bio2>. Check the error stack for more information.
128
129[XXXXX: More return values need to be added here]
130
121=head1 EXAMPLE 131=head1 EXAMPLE
122 132
123TBA 133The BIO pair can be used to have full control over the network access of an
134application. The application can call select() on the socket as required
135without having to go through the SSL-interface.
136
137 BIO *internal_bio, *network_bio;
138 ...
139 BIO_new_bio_pair(internal_bio, 0, network_bio, 0);
140 SSL_set_bio(ssl, internal_bio, internal_bio);
141 SSL_operations();
142 ...
143
144 application | TLS-engine
145 | |
146 +----------> SSL_operations()
147 | /\ ||
148 | || \/
149 | BIO-pair (internal_bio)
150 +----------< BIO-pair (network_bio)
151 | |
152 socket |
153
154 ...
155 SSL_free(ssl); /* implicitly frees internal_bio */
156 BIO_free(network_bio);
157 ...
158
159As the BIO pair will only buffer the data and never directly access the
160connection, it behaves non-blocking and will return as soon as the write
161buffer is full or the read buffer is drained. Then the application has to
162flush the write buffer and/or fill the read buffer.
163
164Use the BIO_ctrl_pending(), to find out whether data is buffered in the BIO
165and must be transfered to the network. Use BIO_ctrl_get_read_request() to
166find out, how many bytes must be written into the buffer before the
167SSL_operation() can successfully be continued.
168
169=head1 WARNING
170
171As the data is buffered, SSL_operation() may return with a ERROR_SSL_WANT_READ
172condition, but there is still data in the write buffer. An application must
173not rely on the error value of SSL_operation() but must assure that the
174write buffer is always flushed first. Otherwise a deadlock may occur as
175the peer might be waiting for the data before being able to continue.
124 176
125=head1 SEE ALSO 177=head1 SEE ALSO
126 178
diff --git a/src/lib/libssl/src/doc/crypto/BN_generate_prime.pod b/src/lib/libssl/src/doc/crypto/BN_generate_prime.pod
index 6ea23791d1..7dccacbc1e 100644
--- a/src/lib/libssl/src/doc/crypto/BN_generate_prime.pod
+++ b/src/lib/libssl/src/doc/crypto/BN_generate_prime.pod
@@ -70,7 +70,7 @@ If B<do_trial_division == 0>, this test is skipped.
70 70
71Both BN_is_prime() and BN_is_prime_fasttest() perform a Miller-Rabin 71Both BN_is_prime() and BN_is_prime_fasttest() perform a Miller-Rabin
72probabilistic primality test with B<checks> iterations. If 72probabilistic primality test with B<checks> iterations. If
73B<checks == BN_prime_check>, a number of iterations is used that 73B<checks == BN_prime_checks>, a number of iterations is used that
74yields a false positive rate of at most 2^-80 for random input. 74yields a false positive rate of at most 2^-80 for random input.
75 75
76If B<callback> is not B<NULL>, B<callback(1, j, cb_arg)> is called 76If B<callback> is not B<NULL>, B<callback(1, j, cb_arg)> is called
diff --git a/src/lib/libssl/src/doc/crypto/DH_generate_parameters.pod b/src/lib/libssl/src/doc/crypto/DH_generate_parameters.pod
index 4a2d653758..9081e9ea7c 100644
--- a/src/lib/libssl/src/doc/crypto/DH_generate_parameters.pod
+++ b/src/lib/libssl/src/doc/crypto/DH_generate_parameters.pod
@@ -59,7 +59,8 @@ a usable generator.
59 59
60=head1 SEE ALSO 60=head1 SEE ALSO
61 61
62L<dh(3)|dh(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>, L<DH_free(3)|DH_free(3)> 62L<dh(3)|dh(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
63L<DH_free(3)|DH_free(3)>
63 64
64=head1 HISTORY 65=head1 HISTORY
65 66
diff --git a/src/lib/libssl/src/doc/crypto/DSA_SIG_new.pod b/src/lib/libssl/src/doc/crypto/DSA_SIG_new.pod
index 45df4c0661..3ac6140038 100644
--- a/src/lib/libssl/src/doc/crypto/DSA_SIG_new.pod
+++ b/src/lib/libssl/src/doc/crypto/DSA_SIG_new.pod
@@ -30,7 +30,8 @@ DSA_SIG_free() returns no value.
30 30
31=head1 SEE ALSO 31=head1 SEE ALSO
32 32
33L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<DSA_do_sign(3)|DSA_do_sign(3)> 33L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>,
34L<DSA_do_sign(3)|DSA_do_sign(3)>
34 35
35=head1 HISTORY 36=head1 HISTORY
36 37
diff --git a/src/lib/libssl/src/doc/crypto/DSA_generate_key.pod b/src/lib/libssl/src/doc/crypto/DSA_generate_key.pod
index 9906a2d7e0..af83ccfaa1 100644
--- a/src/lib/libssl/src/doc/crypto/DSA_generate_key.pod
+++ b/src/lib/libssl/src/doc/crypto/DSA_generate_key.pod
@@ -24,7 +24,8 @@ The error codes can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>.
24 24
25=head1 SEE ALSO 25=head1 SEE ALSO
26 26
27L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>, L<DSA_generate_parameters(3)|DSA_generate_parameters(3)> 27L<dsa(3)|dsa(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>,
28L<DSA_generate_parameters(3)|DSA_generate_parameters(3)>
28 29
29=head1 HISTORY 30=head1 HISTORY
30 31
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 9fdedbcb91..34443045fc 100644
--- a/src/lib/libssl/src/doc/crypto/ERR_get_error.pod
+++ b/src/lib/libssl/src/doc/crypto/ERR_get_error.pod
@@ -5,7 +5,7 @@
5ERR_get_error, ERR_peek_error, ERR_peek_last_error, 5ERR_get_error, ERR_peek_error, ERR_peek_last_error,
6ERR_get_error_line, ERR_peek_error_line, ERR_peek_last_error_line, 6ERR_get_error_line, ERR_peek_error_line, ERR_peek_last_error_line,
7ERR_get_error_line_data, ERR_peek_error_line_data, 7ERR_get_error_line_data, ERR_peek_error_line_data,
8ERR_peek_error_line_data - obtain error code and data 8ERR_peek_last_error_line_data - obtain error code and data
9 9
10=head1 SYNOPSIS 10=head1 SYNOPSIS
11 11
diff --git a/src/lib/libssl/src/doc/crypto/EVP_EncryptInit.pod b/src/lib/libssl/src/doc/crypto/EVP_EncryptInit.pod
index 75cceb1ca2..daf57e5895 100644
--- a/src/lib/libssl/src/doc/crypto/EVP_EncryptInit.pod
+++ b/src/lib/libssl/src/doc/crypto/EVP_EncryptInit.pod
@@ -419,7 +419,7 @@ Encrypt a string using blowfish:
419 EVP_CIPHER_CTX ctx; 419 EVP_CIPHER_CTX ctx;
420 FILE *out; 420 FILE *out;
421 EVP_CIPHER_CTX_init(&ctx); 421 EVP_CIPHER_CTX_init(&ctx);
422 EVP_EncryptInit_ex(&ctx, NULL, EVP_bf_cbc(), key, iv); 422 EVP_EncryptInit_ex(&ctx, EVP_bf_cbc(), NULL, key, iv);
423 423
424 if(!EVP_EncryptUpdate(&ctx, outbuf, &outlen, intext, strlen(intext))) 424 if(!EVP_EncryptUpdate(&ctx, outbuf, &outlen, intext, strlen(intext)))
425 { 425 {
diff --git a/src/lib/libssl/src/doc/crypto/EVP_SealInit.pod b/src/lib/libssl/src/doc/crypto/EVP_SealInit.pod
index 25ef07f7c7..b5e477e294 100644
--- a/src/lib/libssl/src/doc/crypto/EVP_SealInit.pod
+++ b/src/lib/libssl/src/doc/crypto/EVP_SealInit.pod
@@ -18,22 +18,28 @@ EVP_SealInit, EVP_SealUpdate, EVP_SealFinal - EVP envelope encryption
18=head1 DESCRIPTION 18=head1 DESCRIPTION
19 19
20The EVP envelope routines are a high level interface to envelope 20The EVP envelope routines are a high level interface to envelope
21encryption. They generate a random key and then "envelope" it by 21encryption. They generate a random key and IV (if required) then
22using public key encryption. Data can then be encrypted using this 22"envelope" it by using public key encryption. Data can then be
23key. 23encrypted using this key.
24 24
25EVP_SealInit() initializes a cipher context B<ctx> for encryption 25EVP_SealInit() initializes a cipher context B<ctx> for encryption
26with cipher B<type> using a random secret key and IV supplied in 26with cipher B<type> using a random secret key and IV. B<type> is normally
27the B<iv> parameter. B<type> is normally supplied by a function such 27supplied by a function such as EVP_des_cbc(). The secret key is encrypted
28as EVP_des_cbc(). The secret key is encrypted using one or more public 28using one or more public keys, this allows the same encrypted data to be
29keys, this allows the same encrypted data to be decrypted using any 29decrypted using any of the corresponding private keys. B<ek> is an array of
30of the corresponding private keys. B<ek> is an array of buffers where 30buffers where the public key encrypted secret key will be written, each buffer
31the public key encrypted secret key will be written, each buffer must 31must contain enough room for the corresponding encrypted key: that is
32contain enough room for the corresponding encrypted key: that is
33B<ek[i]> must have room for B<EVP_PKEY_size(pubk[i])> bytes. The actual 32B<ek[i]> must have room for B<EVP_PKEY_size(pubk[i])> bytes. The actual
34size of each encrypted secret key is written to the array B<ekl>. B<pubk> is 33size of each encrypted secret key is written to the array B<ekl>. B<pubk> is
35an array of B<npubk> public keys. 34an array of B<npubk> public keys.
36 35
36The B<iv> parameter is a buffer where the generated IV is written to. It must
37contain enough room for the corresponding cipher's IV, as determined by (for
38example) EVP_CIPHER_iv_length(type).
39
40If the cipher does not require an IV then the B<iv> parameter is ignored
41and can be B<NULL>.
42
37EVP_SealUpdate() and EVP_SealFinal() have exactly the same properties 43EVP_SealUpdate() and EVP_SealFinal() have exactly the same properties
38as the EVP_EncryptUpdate() and EVP_EncryptFinal() routines, as 44as the EVP_EncryptUpdate() and EVP_EncryptFinal() routines, as
39documented on the L<EVP_EncryptInit(3)|EVP_EncryptInit(3)> manual 45documented on the L<EVP_EncryptInit(3)|EVP_EncryptInit(3)> manual
diff --git a/src/lib/libssl/src/doc/crypto/RAND_bytes.pod b/src/lib/libssl/src/doc/crypto/RAND_bytes.pod
index b03748b918..ce6329ce54 100644
--- a/src/lib/libssl/src/doc/crypto/RAND_bytes.pod
+++ b/src/lib/libssl/src/doc/crypto/RAND_bytes.pod
@@ -35,7 +35,8 @@ method.
35 35
36=head1 SEE ALSO 36=head1 SEE ALSO
37 37
38L<rand(3)|rand(3)>, L<ERR_get_error(3)|ERR_get_error(3)>, L<RAND_add(3)|RAND_add(3)> 38L<rand(3)|rand(3)>, L<ERR_get_error(3)|ERR_get_error(3)>,
39L<RAND_add(3)|RAND_add(3)>
39 40
40=head1 HISTORY 41=head1 HISTORY
41 42
diff --git a/src/lib/libssl/src/doc/crypto/RSA_generate_key.pod b/src/lib/libssl/src/doc/crypto/RSA_generate_key.pod
index 11bc0b3459..52dbb14a53 100644
--- a/src/lib/libssl/src/doc/crypto/RSA_generate_key.pod
+++ b/src/lib/libssl/src/doc/crypto/RSA_generate_key.pod
@@ -59,7 +59,8 @@ RSA_generate_key() goes into an infinite loop for illegal input values.
59 59
60=head1 SEE ALSO 60=head1 SEE ALSO
61 61
62L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>, L<RSA_free(3)|RSA_free(3)> 62L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>,
63L<RSA_free(3)|RSA_free(3)>
63 64
64=head1 HISTORY 65=head1 HISTORY
65 66
diff --git a/src/lib/libssl/src/doc/crypto/RSA_print.pod b/src/lib/libssl/src/doc/crypto/RSA_print.pod
index ff2d353d1a..c971e91f4d 100644
--- a/src/lib/libssl/src/doc/crypto/RSA_print.pod
+++ b/src/lib/libssl/src/doc/crypto/RSA_print.pod
@@ -2,9 +2,9 @@
2 2
3=head1 NAME 3=head1 NAME
4 4
5RSA_print, RSA_print_fp, DHparams_print, DHparams_print_fp, DSA_print, 5RSA_print, RSA_print_fp,
6DSA_print_fp, DHparams_print, DHparams_print_fp - print cryptographic 6DSAparams_print, DSAparams_print_fp, DSA_print, DSA_print_fp,
7parameters 7DHparams_print, DHparams_print_fp - print cryptographic parameters
8 8
9=head1 SYNOPSIS 9=head1 SYNOPSIS
10 10
diff --git a/src/lib/libssl/src/doc/crypto/RSA_private_encrypt.pod b/src/lib/libssl/src/doc/crypto/RSA_private_encrypt.pod
index 0d1b2bd541..746a80c79e 100644
--- a/src/lib/libssl/src/doc/crypto/RSA_private_encrypt.pod
+++ b/src/lib/libssl/src/doc/crypto/RSA_private_encrypt.pod
@@ -59,8 +59,8 @@ obtained by L<ERR_get_error(3)|ERR_get_error(3)>.
59 59
60=head1 SEE ALSO 60=head1 SEE ALSO
61 61
62L<ERR_get_error(3)|ERR_get_error(3)>, L<rsa(3)|rsa(3)>, L<RSA_sign(3)|RSA_sign(3)>, 62L<ERR_get_error(3)|ERR_get_error(3)>, L<rsa(3)|rsa(3)>,
63L<RSA_verify(3)|RSA_verify(3)> 63L<RSA_sign(3)|RSA_sign(3)>, L<RSA_verify(3)|RSA_verify(3)>
64 64
65=head1 HISTORY 65=head1 HISTORY
66 66
diff --git a/src/lib/libssl/src/doc/crypto/RSA_public_encrypt.pod b/src/lib/libssl/src/doc/crypto/RSA_public_encrypt.pod
index 8022a23f99..d53e19d2b7 100644
--- a/src/lib/libssl/src/doc/crypto/RSA_public_encrypt.pod
+++ b/src/lib/libssl/src/doc/crypto/RSA_public_encrypt.pod
@@ -72,7 +72,8 @@ SSL, PKCS #1 v2.0
72 72
73=head1 SEE ALSO 73=head1 SEE ALSO
74 74
75L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>, L<RSA_size(3)|RSA_size(3)> 75L<ERR_get_error(3)|ERR_get_error(3)>, L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>,
76L<RSA_size(3)|RSA_size(3)>
76 77
77=head1 HISTORY 78=head1 HISTORY
78 79
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 0687c2242a..0a305f6b14 100644
--- a/src/lib/libssl/src/doc/crypto/RSA_set_method.pod
+++ b/src/lib/libssl/src/doc/crypto/RSA_set_method.pod
@@ -3,13 +3,12 @@
3=head1 NAME 3=head1 NAME
4 4
5RSA_set_default_method, RSA_get_default_method, RSA_set_method, 5RSA_set_default_method, RSA_get_default_method, RSA_set_method,
6RSA_get_method, RSA_PKCS1_SSLeay, 6RSA_get_method, RSA_PKCS1_SSLeay, RSA_null_method, RSA_flags,
7RSA_null_method, RSA_flags, RSA_new_method - select RSA method 7RSA_new_method - select RSA method
8 8
9=head1 SYNOPSIS 9=head1 SYNOPSIS
10 10
11 #include <openssl/rsa.h> 11 #include <openssl/rsa.h>
12 #include <openssl/engine.h>
13 12
14 void RSA_set_default_method(const RSA_METHOD *meth); 13 void RSA_set_default_method(const RSA_METHOD *meth);
15 14
@@ -25,7 +24,7 @@ RSA_null_method, RSA_flags, RSA_new_method - select RSA method
25 24
26 int RSA_flags(const RSA *rsa); 25 int RSA_flags(const RSA *rsa);
27 26
28 RSA *RSA_new_method(ENGINE *engine); 27 RSA *RSA_new_method(RSA_METHOD *method);
29 28
30=head1 DESCRIPTION 29=head1 DESCRIPTION
31 30
@@ -70,6 +69,12 @@ B<engine> will be used for the RSA operations. If B<engine> is NULL, the
70default ENGINE for RSA operations is used, and if no default ENGINE is set, 69default ENGINE for RSA operations is used, and if no default ENGINE is set,
71the RSA_METHOD controlled by RSA_set_default_method() is used. 70the RSA_METHOD controlled by RSA_set_default_method() is used.
72 71
72RSA_flags() returns the B<flags> that are set for B<rsa>'s current method.
73
74RSA_new_method() allocates and initializes an B<RSA> structure so that
75B<method> will be used for the RSA operations. If B<method> is B<NULL>,
76the default method is used.
77
73=head1 THE RSA_METHOD STRUCTURE 78=head1 THE RSA_METHOD STRUCTURE
74 79
75 typedef struct rsa_meth_st 80 typedef struct rsa_meth_st
diff --git a/src/lib/libssl/src/doc/crypto/RSA_sign_ASN1_OCTET_STRING.pod b/src/lib/libssl/src/doc/crypto/RSA_sign_ASN1_OCTET_STRING.pod
index b8c7bbb7e3..e70380bbfc 100644
--- a/src/lib/libssl/src/doc/crypto/RSA_sign_ASN1_OCTET_STRING.pod
+++ b/src/lib/libssl/src/doc/crypto/RSA_sign_ASN1_OCTET_STRING.pod
@@ -47,8 +47,8 @@ These functions serve no recognizable purpose.
47 47
48=head1 SEE ALSO 48=head1 SEE ALSO
49 49
50L<ERR_get_error(3)|ERR_get_error(3)>, L<objects(3)|objects(3)>, L<rand(3)|rand(3)>, 50L<ERR_get_error(3)|ERR_get_error(3)>, L<objects(3)|objects(3)>,
51L<rsa(3)|rsa(3)>, L<RSA_sign(3)|RSA_sign(3)>, 51L<rand(3)|rand(3)>, L<rsa(3)|rsa(3)>, L<RSA_sign(3)|RSA_sign(3)>,
52L<RSA_verify(3)|RSA_verify(3)> 52L<RSA_verify(3)|RSA_verify(3)>
53 53
54=head1 HISTORY 54=head1 HISTORY
diff --git a/src/lib/libssl/src/doc/crypto/crypto.pod b/src/lib/libssl/src/doc/crypto/crypto.pod
index c12eec1409..7a527992bb 100644
--- a/src/lib/libssl/src/doc/crypto/crypto.pod
+++ b/src/lib/libssl/src/doc/crypto/crypto.pod
@@ -62,6 +62,22 @@ L<txt_db(3)|txt_db(3)>
62 62
63=back 63=back
64 64
65=head1 NOTES
66
67Some of the newer functions follow a naming convention using the numbers
68B<0> and B<1>. For example the functions:
69
70 int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev);
71 int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj);
72
73The B<0> version uses the supplied structure pointer directly
74in the parent and it will be freed up when the parent is freed.
75In the above example B<crl> would be freed but B<rev> would not.
76
77The B<1> function uses a copy of the supplied structure pointer
78(or in some cases increases its link count) in the parent and
79so both (B<x> and B<obj> above) should be freed up.
80
65=head1 SEE ALSO 81=head1 SEE ALSO
66 82
67L<openssl(1)|openssl(1)>, L<ssl(3)|ssl(3)> 83L<openssl(1)|openssl(1)>, L<ssl(3)|ssl(3)>
diff --git a/src/lib/libssl/src/doc/crypto/d2i_DHparams.pod b/src/lib/libssl/src/doc/crypto/d2i_DHparams.pod
index a6d1743d39..1e98aebeca 100644
--- a/src/lib/libssl/src/doc/crypto/d2i_DHparams.pod
+++ b/src/lib/libssl/src/doc/crypto/d2i_DHparams.pod
@@ -2,7 +2,7 @@
2 2
3=head1 NAME 3=head1 NAME
4 4
5d2i_DHparams, i2d_DHparams - ... 5d2i_DHparams, i2d_DHparams - PKCS#3 DH parameter functions.
6 6
7=head1 SYNOPSIS 7=head1 SYNOPSIS
8 8
@@ -13,18 +13,18 @@ d2i_DHparams, i2d_DHparams - ...
13 13
14=head1 DESCRIPTION 14=head1 DESCRIPTION
15 15
16... 16These functions decode and encode PKCS#3 DH parameters using the
17DHparameter structure described in PKCS#3.
17 18
18=head1 RETURN VALUES 19Othewise these behave in a similar way to d2i_X509() and i2d_X509()
19 20described in the L<d2i_X509(3)|d2i_X509(3)> manual page.
20...
21 21
22=head1 SEE ALSO 22=head1 SEE ALSO
23 23
24... 24L<d2i_X509(3)|d2i_X509(3)>
25 25
26=head1 HISTORY 26=head1 HISTORY
27 27
28... 28TBA
29 29
30=cut 30=cut
diff --git a/src/lib/libssl/src/doc/crypto/d2i_RSAPublicKey.pod b/src/lib/libssl/src/doc/crypto/d2i_RSAPublicKey.pod
index ff4d0d57db..7c71bcbf3d 100644
--- a/src/lib/libssl/src/doc/crypto/d2i_RSAPublicKey.pod
+++ b/src/lib/libssl/src/doc/crypto/d2i_RSAPublicKey.pod
@@ -2,7 +2,9 @@
2 2
3=head1 NAME 3=head1 NAME
4 4
5d2i_RSAPublicKey, i2d_RSAPublicKey, d2i_RSAPrivateKey, i2d_RSAPrivateKey, i2d_Netscape_RSA, d2i_Netscape_RSA - ... 5d2i_RSAPublicKey, i2d_RSAPublicKey, d2i_RSAPrivateKey, i2d_RSAPrivateKey,
6d2i_RSA_PUBKEY, i2d_RSA_PUBKEY, i2d_Netscape_RSA,
7d2i_Netscape_RSA - RSA public and private key encoding functions.
6 8
7=head1 SYNOPSIS 9=head1 SYNOPSIS
8 10
@@ -12,6 +14,10 @@ d2i_RSAPublicKey, i2d_RSAPublicKey, d2i_RSAPrivateKey, i2d_RSAPrivateKey, i2d_Ne
12 14
13 int i2d_RSAPublicKey(RSA *a, unsigned char **pp); 15 int i2d_RSAPublicKey(RSA *a, unsigned char **pp);
14 16
17 RSA * d2i_RSA_PUBKEY(RSA **a, unsigned char **pp, long length);
18
19 int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp);
20
15 RSA * d2i_RSAPrivateKey(RSA **a, unsigned char **pp, long length); 21 RSA * d2i_RSAPrivateKey(RSA **a, unsigned char **pp, long length);
16 22
17 int i2d_RSAPrivateKey(RSA *a, unsigned char **pp); 23 int i2d_RSAPrivateKey(RSA *a, unsigned char **pp);
@@ -22,18 +28,39 @@ d2i_RSAPublicKey, i2d_RSAPublicKey, d2i_RSAPrivateKey, i2d_RSAPrivateKey, i2d_Ne
22 28
23=head1 DESCRIPTION 29=head1 DESCRIPTION
24 30
25... 31d2i_RSAPublicKey() and i2d_RSAPublicKey() decode and encode a PKCS#1 RSAPublicKey
32structure.
33
34d2i_RSA_PUKEY() and i2d_RSA_PUKEY() decode and encode an RSA public key using a
35SubjectPublicKeyInfo (certificate public key) structure.
36
37d2i_RSAPrivateKey(), i2d_RSAPrivateKey() decode and encode a PKCS#1 RSAPrivateKey
38structure.
39
40d2i_Netscape_RSA(), i2d_Netscape_RSA() decode and encode an RSA private key in
41NET format.
42
43The usage of all of these functions is similar to the d2i_X509() and
44i2d_X509() described in the L<d2i_X509(3)|d2i_X509(3)> manual page.
45
46=head1 NOTES
47
48The B<RSA> structure passed to the private key encoding functions should have
49all the PKCS#1 private key components present.
26 50
27=head1 RETURN VALUES 51The data encoded by the private key functions is unencrypted and therefore
52offers no private key security.
28 53
29... 54The NET format functions are present to provide compatibility with certain very
55old software. This format has some severe security weaknesses and should be
56avoided if possible.
30 57
31=head1 SEE ALSO 58=head1 SEE ALSO
32 59
33... 60L<d2i_X509(3)|d2i_X509(3)>
34 61
35=head1 HISTORY 62=head1 HISTORY
36 63
37... 64TBA
38 65
39=cut 66=cut
diff --git a/src/lib/libssl/src/doc/ssl/SSL_CTX_add_session.pod b/src/lib/libssl/src/doc/ssl/SSL_CTX_add_session.pod
index af326c2f73..82676b26b2 100644
--- a/src/lib/libssl/src/doc/ssl/SSL_CTX_add_session.pod
+++ b/src/lib/libssl/src/doc/ssl/SSL_CTX_add_session.pod
@@ -37,6 +37,14 @@ removed and replaced by the new session. If the session is actually
37identical (the SSL_SESSION object is identical), SSL_CTX_add_session() 37identical (the SSL_SESSION object is identical), SSL_CTX_add_session()
38is a no-op, and the return value is 0. 38is a no-op, and the return value is 0.
39 39
40If a server SSL_CTX is configured with the SSL_SESS_CACHE_NO_INTERNAL_STORE
41flag then the internal cache will not be populated automatically by new
42sessions negotiated by the SSL/TLS implementation, even though the internal
43cache will be searched automatically for session-resume requests (the
44latter can be surpressed by SSL_SESS_CACHE_NO_INTERNAL_LOOKUP). So the
45application can use SSL_CTX_add_session() directly to have full control
46over the sessions that can be resumed if desired.
47
40 48
41=head1 RETURN VALUES 49=head1 RETURN VALUES
42 50
diff --git a/src/lib/libssl/src/doc/ssl/SSL_CTX_free.pod b/src/lib/libssl/src/doc/ssl/SSL_CTX_free.pod
index 55e592f5f8..51d8676968 100644
--- a/src/lib/libssl/src/doc/ssl/SSL_CTX_free.pod
+++ b/src/lib/libssl/src/doc/ssl/SSL_CTX_free.pod
@@ -20,12 +20,22 @@ It also calls the free()ing procedures for indirectly affected items, if
20applicable: the session cache, the list of ciphers, the list of Client CAs, 20applicable: the session cache, the list of ciphers, the list of Client CAs,
21the certificates and keys. 21the certificates and keys.
22 22
23=head1 WARNINGS
24
25If a session-remove callback is set (SSL_CTX_sess_set_remove_cb()), this
26callback will be called for each session being freed from B<ctx>'s
27session cache. This implies, that all corresponding sessions from an
28external session cache are removed as well. If this is not desired, the user
29should explicitly unset the callback by calling
30SSL_CTX_sess_set_remove_cb(B<ctx>, NULL) prior to calling SSL_CTX_free().
31
23=head1 RETURN VALUES 32=head1 RETURN VALUES
24 33
25SSL_CTX_free() does not provide diagnostic information. 34SSL_CTX_free() does not provide diagnostic information.
26 35
27=head1 SEE ALSO 36=head1 SEE ALSO
28 37
29L<SSL_CTX_new(3)|SSL_CTX_new(3)>, L<ssl(3)|ssl(3)> 38L<SSL_CTX_new(3)|SSL_CTX_new(3)>, L<ssl(3)|ssl(3)>,
39L<SSL_CTX_sess_set_get_cb(3)|SSL_CTX_sess_set_get_cb(3)>
30 40
31=cut 41=cut
diff --git a/src/lib/libssl/src/doc/ssl/SSL_CTX_sess_set_get_cb.pod b/src/lib/libssl/src/doc/ssl/SSL_CTX_sess_set_get_cb.pod
index 7c0b2baf6c..b9d54a40a1 100644
--- a/src/lib/libssl/src/doc/ssl/SSL_CTX_sess_set_get_cb.pod
+++ b/src/lib/libssl/src/doc/ssl/SSL_CTX_sess_set_get_cb.pod
@@ -60,10 +60,11 @@ B<sess>. If the callback returns B<0>, the session will be immediately
60removed again. 60removed again.
61 61
62The remove_session_cb() is called, whenever the SSL engine removes a session 62The remove_session_cb() is called, whenever the SSL engine removes a session
63from the internal cache. This happens if the session is removed because 63from the internal cache. This happens when the session is removed because
64it is expired or when a connection was not shutdown cleanly. The 64it is expired or when a connection was not shutdown cleanly. It also happens
65remove_session_cb() is passed the B<ctx> and the ssl session B<sess>. 65for all sessions in the internal session cache when
66It does not provide any feedback. 66L<SSL_CTX_free(3)|SSL_CTX_free(3)> is called. The remove_session_cb() is passed
67the B<ctx> and the ssl session B<sess>. It does not provide any feedback.
67 68
68The get_session_cb() is only called on SSL/TLS servers with the session id 69The get_session_cb() is only called on SSL/TLS servers with the session id
69proposed by the client. The get_session_cb() is always called, also when 70proposed by the client. The get_session_cb() is always called, also when
@@ -80,6 +81,7 @@ L<SSL_SESSION_free(3)|SSL_SESSION_free(3)>.
80L<ssl(3)|ssl(3)>, L<d2i_SSL_SESSION(3)|d2i_SSL_SESSION(3)>, 81L<ssl(3)|ssl(3)>, L<d2i_SSL_SESSION(3)|d2i_SSL_SESSION(3)>,
81L<SSL_CTX_set_session_cache_mode(3)|SSL_CTX_set_session_cache_mode(3)>, 82L<SSL_CTX_set_session_cache_mode(3)|SSL_CTX_set_session_cache_mode(3)>,
82L<SSL_CTX_flush_sessions(3)|SSL_CTX_flush_sessions(3)>, 83L<SSL_CTX_flush_sessions(3)|SSL_CTX_flush_sessions(3)>,
83L<SSL_SESSION_free(3)|SSL_SESSION_free(3)> 84L<SSL_SESSION_free(3)|SSL_SESSION_free(3)>,
85L<SSL_CTX_free(3)|SSL_CTX_free(3)>
84 86
85=cut 87=cut
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 f5e2ec3555..766f0c9200 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
@@ -176,7 +176,7 @@ will send his list of preferences to the client and the client chooses.
176=item SSL_OP_NETSCAPE_CA_DN_BUG 176=item SSL_OP_NETSCAPE_CA_DN_BUG
177 177
178If we accept a netscape connection, demand a client cert, have a 178If we accept a netscape connection, demand a client cert, have a
179non-self-sighed CA which does not have it's CA in netscape, and the 179non-self-signed CA which does not have its CA in netscape, and the
180browser has a cert, it will crash/hang. Works for 3.x and 4.xbeta 180browser has a cert, it will crash/hang. Works for 3.x and 4.xbeta
181 181
182=item SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG 182=item SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG
diff --git a/src/lib/libssl/src/doc/ssl/SSL_CTX_set_session_cache_mode.pod b/src/lib/libssl/src/doc/ssl/SSL_CTX_set_session_cache_mode.pod
index 9aa6c6b2e3..c5d2f43dff 100644
--- a/src/lib/libssl/src/doc/ssl/SSL_CTX_set_session_cache_mode.pod
+++ b/src/lib/libssl/src/doc/ssl/SSL_CTX_set_session_cache_mode.pod
@@ -26,12 +26,14 @@ SSL_CTX object is being maintained, the sessions are unique for each SSL_CTX
26object. 26object.
27 27
28In order to reuse a session, a client must send the session's id to the 28In order to reuse a session, a client must send the session's id to the
29server. It can only send exactly one id. The server then decides whether it 29server. It can only send exactly one id. The server then either
30agrees in reusing the session or starts the handshake for a new session. 30agrees to reuse the session or it starts a full handshake (to create a new
31session).
31 32
32A server will lookup up the session in its internal session storage. If 33A server will lookup up the session in its internal session storage. If the
33the session is not found in internal storage or internal storage is 34session is not found in internal storage or lookups for the internal storage
34deactivated, the server will try the external storage if available. 35have been deactivated (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP), the server will try
36the external storage if available.
35 37
36Since a client may try to reuse a session intended for use in a different 38Since a client may try to reuse a session intended for use in a different
37context, the session id context must be set by the server (see 39context, the session id context must be set by the server (see
@@ -57,9 +59,10 @@ function. This option is not activated by default.
57=item SSL_SESS_CACHE_SERVER 59=item SSL_SESS_CACHE_SERVER
58 60
59Server sessions are added to the session cache. When a client proposes a 61Server sessions are added to the session cache. When a client proposes a
60session to be reused, the session is looked up in the internal session cache. 62session to be reused, the server looks for the corresponding session in (first)
61If the session is found, the server will try to reuse the session. 63the internal session cache (unless SSL_SESS_CACHE_NO_INTERNAL_LOOKUP is set),
62This is the default. 64then (second) in the external cache if available. If the session is found, the
65server will try to reuse the session. This is the default.
63 66
64=item SSL_SESS_CACHE_BOTH 67=item SSL_SESS_CACHE_BOTH
65 68
@@ -77,12 +80,32 @@ explicitly by the application.
77 80
78=item SSL_SESS_CACHE_NO_INTERNAL_LOOKUP 81=item SSL_SESS_CACHE_NO_INTERNAL_LOOKUP
79 82
80By setting this flag sessions are cached in the internal storage but 83By setting this flag, session-resume operations in an SSL/TLS server will not
81they are not looked up automatically. If an external session cache 84automatically look up sessions in the internal cache, even if sessions are
82is enabled, sessions are looked up in the external cache. As automatic 85automatically stored there. If external session caching callbacks are in use,
83lookup only applies for SSL/TLS servers, the flag has no effect on 86this flag guarantees that all lookups are directed to the external cache.
87As automatic lookup only applies for SSL/TLS servers, the flag has no effect on
84clients. 88clients.
85 89
90=item SSL_SESS_CACHE_NO_INTERNAL_STORE
91
92Depending on the presence of SSL_SESS_CACHE_CLIENT and/or SSL_SESS_CACHE_SERVER,
93sessions negotiated in an SSL/TLS handshake may be cached for possible reuse.
94Normally a new session is added to the internal cache as well as any external
95session caching (callback) that is configured for the SSL_CTX. This flag will
96prevent sessions being stored in the internal cache (though the application can
97add them manually using L<SSL_CTX_add_session(3)|SSL_CTX_add_session(3)>). Note:
98in any SSL/TLS servers where external caching is configured, any successful
99session lookups in the external cache (ie. for session-resume requests) would
100normally be copied into the local cache before processing continues - this flag
101prevents these additions to the internal cache as well.
102
103=item SSL_SESS_CACHE_NO_INTERNAL
104
105Enable both SSL_SESS_CACHE_NO_INTERNAL_LOOKUP and
106SSL_SESS_CACHE_NO_INTERNAL_STORE at the same time.
107
108
86=back 109=back
87 110
88The default mode is SSL_SESS_CACHE_SERVER. 111The default mode is SSL_SESS_CACHE_SERVER.
@@ -98,6 +121,7 @@ SSL_CTX_get_session_cache_mode() returns the currently set cache mode.
98 121
99L<ssl(3)|ssl(3)>, L<SSL_set_session(3)|SSL_set_session(3)>, 122L<ssl(3)|ssl(3)>, L<SSL_set_session(3)|SSL_set_session(3)>,
100L<SSL_session_reused(3)|SSL_session_reused(3)>, 123L<SSL_session_reused(3)|SSL_session_reused(3)>,
124L<SSL_CTX_add_session(3)|SSL_CTX_add_session(3)>,
101L<SSL_CTX_sess_number(3)|SSL_CTX_sess_number(3)>, 125L<SSL_CTX_sess_number(3)|SSL_CTX_sess_number(3)>,
102L<SSL_CTX_sess_set_cache_size(3)|SSL_CTX_sess_set_cache_size(3)>, 126L<SSL_CTX_sess_set_cache_size(3)|SSL_CTX_sess_set_cache_size(3)>,
103L<SSL_CTX_sess_set_get_cb(3)|SSL_CTX_sess_set_get_cb(3)>, 127L<SSL_CTX_sess_set_get_cb(3)|SSL_CTX_sess_set_get_cb(3)>,
@@ -105,4 +129,9 @@ L<SSL_CTX_set_session_id_context(3)|SSL_CTX_set_session_id_context(3)>,
105L<SSL_CTX_set_timeout(3)|SSL_CTX_set_timeout(3)>, 129L<SSL_CTX_set_timeout(3)|SSL_CTX_set_timeout(3)>,
106L<SSL_CTX_flush_sessions(3)|SSL_CTX_flush_sessions(3)> 130L<SSL_CTX_flush_sessions(3)|SSL_CTX_flush_sessions(3)>
107 131
132=head1 HISTORY
133
134SSL_SESS_CACHE_NO_INTERNAL_STORE and SSL_SESS_CACHE_NO_INTERNAL
135were introduced in OpenSSL 0.9.6h.
136
108=cut 137=cut
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 5bb21ca535..d15b2a3a1a 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
@@ -235,7 +235,7 @@ L<SSL_get_ex_data_X509_STORE_CTX_idx(3)|SSL_get_ex_data_X509_STORE_CTX_idx(3)>).
235 * At this point, err contains the last verification error. We can use 235 * At this point, err contains the last verification error. We can use
236 * it for something special 236 * it for something special
237 */ 237 */
238 if (!preverify_ok && (err == X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT) 238 if (!preverify_ok && (err == X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT))
239 { 239 {
240 X509_NAME_oneline(X509_get_issuer_name(ctx->current_cert), buf, 256); 240 X509_NAME_oneline(X509_get_issuer_name(ctx->current_cert), buf, 256);
241 printf("issuer= %s\n", buf); 241 printf("issuer= %s\n", buf);
diff --git a/src/lib/libssl/src/doc/ssl/ssl.pod b/src/lib/libssl/src/doc/ssl/ssl.pod
index ac4b573a7a..4d7a6b7e2b 100644
--- a/src/lib/libssl/src/doc/ssl/ssl.pod
+++ b/src/lib/libssl/src/doc/ssl/ssl.pod
@@ -351,7 +351,7 @@ appropriate size (using ???) and return it.
351 351
352long B<SSL_set_tmp_rsa_callback>(SSL *ssl, RSA *(*cb)(SSL *ssl, int export, int keylength)); 352long B<SSL_set_tmp_rsa_callback>(SSL *ssl, RSA *(*cb)(SSL *ssl, int export, int keylength));
353 353
354The same as L<"SSL_CTX_set_tmp_rsa_callback">, except it operates on an SSL 354The same as B<SSL_CTX_set_tmp_rsa_callback>, except it operates on an SSL
355session instead of a context. 355session instead of a context.
356 356
357=item void B<SSL_CTX_set_verify>(SSL_CTX *ctx, int mode, int (*cb);(void)) 357=item void B<SSL_CTX_set_verify>(SSL_CTX *ctx, int mode, int (*cb);(void))
diff --git a/src/lib/libssl/src/doc/standards.txt b/src/lib/libssl/src/doc/standards.txt
index 596d9001e6..edbe2f3a57 100644
--- a/src/lib/libssl/src/doc/standards.txt
+++ b/src/lib/libssl/src/doc/standards.txt
@@ -42,20 +42,9 @@ whole or at least great parts) in OpenSSL.
422268 A Description of the RC2(r) Encryption Algorithm. R. Rivest. 422268 A Description of the RC2(r) Encryption Algorithm. R. Rivest.
43 January 1998. (Format: TXT=19048 bytes) (Status: INFORMATIONAL) 43 January 1998. (Format: TXT=19048 bytes) (Status: INFORMATIONAL)
44 44
452314 PKCS 10: Certification Request Syntax Version 1.5. B. Kaliski.
46 March 1998. (Format: TXT=15814 bytes) (Status: INFORMATIONAL)
47
482315 PKCS 7: Cryptographic Message Syntax Version 1.5. B. Kaliski. 452315 PKCS 7: Cryptographic Message Syntax Version 1.5. B. Kaliski.
49 March 1998. (Format: TXT=69679 bytes) (Status: INFORMATIONAL) 46 March 1998. (Format: TXT=69679 bytes) (Status: INFORMATIONAL)
50 47
512437 PKCS #1: RSA Cryptography Specifications Version 2.0. B. Kaliski,
52 J. Staddon. October 1998. (Format: TXT=73529 bytes) (Obsoletes
53 RFC2313) (Status: INFORMATIONAL)
54
552459 Internet X.509 Public Key Infrastructure Certificate and CRL
56 Profile. R. Housley, W. Ford, W. Polk, D. Solo. January 1999.
57 (Format: TXT=278438 bytes) (Status: PROPOSED STANDARD)
58
59PKCS#8: Private-Key Information Syntax Standard 48PKCS#8: Private-Key Information Syntax Standard
60 49
61PKCS#12: Personal Information Exchange Syntax Standard, version 1.0. 50PKCS#12: Personal Information Exchange Syntax Standard, version 1.0.
@@ -65,6 +54,40 @@ PKCS#12: Personal Information Exchange Syntax Standard, version 1.0.
65 C. Adams. June 1999. (Format: TXT=43243 bytes) (Status: PROPOSED 54 C. Adams. June 1999. (Format: TXT=43243 bytes) (Status: PROPOSED
66 STANDARD) 55 STANDARD)
67 56
572712 Addition of Kerberos Cipher Suites to Transport Layer Security
58 (TLS). A. Medvinsky, M. Hur. October 1999. (Format: TXT=13763 bytes)
59 (Status: PROPOSED STANDARD)
60
612898 PKCS #5: Password-Based Cryptography Specification Version 2.0.
62 B. Kaliski. September 2000. (Format: TXT=68692 bytes) (Status:
63 INFORMATIONAL)
64
652986 PKCS #10: Certification Request Syntax Specification Version 1.7.
66 M. Nystrom, B. Kaliski. November 2000. (Format: TXT=27794 bytes)
67 (Obsoletes RFC2314) (Status: INFORMATIONAL)
68
693174 US Secure Hash Algorithm 1 (SHA1). D. Eastlake 3rd, P. Jones.
70 September 2001. (Format: TXT=35525 bytes) (Status: INFORMATIONAL)
71
723268 Advanced Encryption Standard (AES) Ciphersuites for Transport
73 Layer Security (TLS). P. Chown. June 2002. (Format: TXT=13530 bytes)
74 (Status: PROPOSED STANDARD)
75
763279 Algorithms and Identifiers for the Internet X.509 Public Key
77 Infrastructure Certificate and Certificate Revocation List (CRL)
78 Profile. L. Bassham, W. Polk, R. Housley. April 2002. (Format:
79 TXT=53833 bytes) (Status: PROPOSED STANDARD)
80
813280 Internet X.509 Public Key Infrastructure Certificate and
82 Certificate Revocation List (CRL) Profile. R. Housley, W. Polk, W.
83 Ford, D. Solo. April 2002. (Format: TXT=295556 bytes) (Obsoletes
84 RFC2459) (Status: PROPOSED STANDARD)
85
863447 Public-Key Cryptography Standards (PKCS) #1: RSA Cryptography
87 Specifications Version 2.1. J. Jonsson, B. Kaliski. February 2003.
88 (Format: TXT=143173 bytes) (Obsoletes RFC2437) (Status:
89 INFORMATIONAL)
90
68 91
69Related: 92Related:
70-------- 93--------
@@ -90,23 +113,60 @@ STARTTLS documents.
90 Certification and Related Services. B. Kaliski. February 1993. 113 Certification and Related Services. B. Kaliski. February 1993.
91 (Format: TXT=17537 bytes) (Status: PROPOSED STANDARD) 114 (Format: TXT=17537 bytes) (Status: PROPOSED STANDARD)
92 115
932256 A Summary of the X.500(96) User Schema for use with LDAPv3. M. 1162025 The Simple Public-Key GSS-API Mechanism (SPKM). C. Adams. October
94 Wahl. December 1997. (Format: TXT=32377 bytes) (Status: PROPOSED 117 1996. (Format: TXT=101692 bytes) (Status: PROPOSED STANDARD)
95 STANDARD) 118
1192510 Internet X.509 Public Key Infrastructure Certificate Management
120 Protocols. C. Adams, S. Farrell. March 1999. (Format: TXT=158178
121 bytes) (Status: PROPOSED STANDARD)
122
1232511 Internet X.509 Certificate Request Message Format. M. Myers, C.
124 Adams, D. Solo, D. Kemp. March 1999. (Format: TXT=48278 bytes)
125 (Status: PROPOSED STANDARD)
126
1272527 Internet X.509 Public Key Infrastructure Certificate Policy and
128 Certification Practices Framework. S. Chokhani, W. Ford. March 1999.
129 (Format: TXT=91860 bytes) (Status: INFORMATIONAL)
96 130
972487 SMTP Service Extension for Secure SMTP over TLS. P. Hoffman. 1312538 Storing Certificates in the Domain Name System (DNS). D. Eastlake
98 January 1999. (Format: TXT=15120 bytes) (Status: PROPOSED STANDARD) 132 3rd, O. Gudmundsson. March 1999. (Format: TXT=19857 bytes) (Status:
133 PROPOSED STANDARD)
134
1352539 Storage of Diffie-Hellman Keys in the Domain Name System (DNS).
136 D. Eastlake 3rd. March 1999. (Format: TXT=21049 bytes) (Status:
137 PROPOSED STANDARD)
138
1392559 Internet X.509 Public Key Infrastructure Operational Protocols -
140 LDAPv2. S. Boeyen, T. Howes, P. Richard. April 1999. (Format:
141 TXT=22889 bytes) (Updates RFC1778) (Status: PROPOSED STANDARD)
99 142
1002585 Internet X.509 Public Key Infrastructure Operational Protocols: 1432585 Internet X.509 Public Key Infrastructure Operational Protocols:
101 FTP and HTTP. R. Housley, P. Hoffman. May 1999. (Format: TXT=14813 144 FTP and HTTP. R. Housley, P. Hoffman. May 1999. (Format: TXT=14813
102 bytes) (Status: PROPOSED STANDARD) 145 bytes) (Status: PROPOSED STANDARD)
103 146
1472587 Internet X.509 Public Key Infrastructure LDAPv2 Schema. S.
148 Boeyen, T. Howes, P. Richard. June 1999. (Format: TXT=15102 bytes)
149 (Status: PROPOSED STANDARD)
150
1042595 Using TLS with IMAP, POP3 and ACAP. C. Newman. June 1999. 1512595 Using TLS with IMAP, POP3 and ACAP. C. Newman. June 1999.
105 (Format: TXT=32440 bytes) (Status: PROPOSED STANDARD) 152 (Format: TXT=32440 bytes) (Status: PROPOSED STANDARD)
106 153
1072712 Addition of Kerberos Cipher Suites to Transport Layer Security 1542631 Diffie-Hellman Key Agreement Method. E. Rescorla. June 1999.
108 (TLS). A. Medvinsky, M. Hur. October 1999. (Format: TXT=13763 bytes) 155 (Format: TXT=25932 bytes) (Status: PROPOSED STANDARD)
109 (Status: PROPOSED STANDARD) 156
1572632 S/MIME Version 3 Certificate Handling. B. Ramsdell, Ed.. June
158 1999. (Format: TXT=27925 bytes) (Status: PROPOSED STANDARD)
159
1602716 PPP EAP TLS Authentication Protocol. B. Aboba, D. Simon. October
161 1999. (Format: TXT=50108 bytes) (Status: EXPERIMENTAL)
162
1632773 Encryption using KEA and SKIPJACK. R. Housley, P. Yee, W. Nace.
164 February 2000. (Format: TXT=20008 bytes) (Updates RFC0959) (Status:
165 EXPERIMENTAL)
166
1672797 Certificate Management Messages over CMS. M. Myers, X. Liu, J.
168 Schaad, J. Weinstein. April 2000. (Format: TXT=103357 bytes) (Status:
169 PROPOSED STANDARD)
110 170
1112817 Upgrading to TLS Within HTTP/1.1. R. Khare, S. Lawrence. May 1712817 Upgrading to TLS Within HTTP/1.1. R. Khare, S. Lawrence. May
112 2000. (Format: TXT=27598 bytes) (Updates RFC2616) (Status: PROPOSED 172 2000. (Format: TXT=27598 bytes) (Updates RFC2616) (Status: PROPOSED
@@ -115,6 +175,77 @@ STARTTLS documents.
1152818 HTTP Over TLS. E. Rescorla. May 2000. (Format: TXT=15170 bytes) 1752818 HTTP Over TLS. E. Rescorla. May 2000. (Format: TXT=15170 bytes)
116 (Status: INFORMATIONAL) 176 (Status: INFORMATIONAL)
117 177
1782876 Use of the KEA and SKIPJACK Algorithms in CMS. J. Pawling. July
179 2000. (Format: TXT=29265 bytes) (Status: INFORMATIONAL)
180
1812984 Use of the CAST-128 Encryption Algorithm in CMS. C. Adams.
182 October 2000. (Format: TXT=11591 bytes) (Status: PROPOSED STANDARD)
183
1842985 PKCS #9: Selected Object Classes and Attribute Types Version 2.0.
185 M. Nystrom, B. Kaliski. November 2000. (Format: TXT=70703 bytes)
186 (Status: INFORMATIONAL)
187
1883029 Internet X.509 Public Key Infrastructure Data Validation and
189 Certification Server Protocols. C. Adams, P. Sylvester, M. Zolotarev,
190 R. Zuccherato. February 2001. (Format: TXT=107347 bytes) (Status:
191 EXPERIMENTAL)
192
1933039 Internet X.509 Public Key Infrastructure Qualified Certificates
194 Profile. S. Santesson, W. Polk, P. Barzin, M. Nystrom. January 2001.
195 (Format: TXT=67619 bytes) (Status: PROPOSED STANDARD)
196
1973058 Use of the IDEA Encryption Algorithm in CMS. S. Teiwes, P.
198 Hartmann, D. Kuenzi. February 2001. (Format: TXT=17257 bytes)
199 (Status: INFORMATIONAL)
200
2013161 Internet X.509 Public Key Infrastructure Time-Stamp Protocol
202 (TSP). C. Adams, P. Cain, D. Pinkas, R. Zuccherato. August 2001.
203 (Format: TXT=54585 bytes) (Status: PROPOSED STANDARD)
204
2053185 Reuse of CMS Content Encryption Keys. S. Farrell, S. Turner.
206 October 2001. (Format: TXT=20404 bytes) (Status: PROPOSED STANDARD)
207
2083207 SMTP Service Extension for Secure SMTP over Transport Layer
209 Security. P. Hoffman. February 2002. (Format: TXT=18679 bytes)
210 (Obsoletes RFC2487) (Status: PROPOSED STANDARD)
211
2123217 Triple-DES and RC2 Key Wrapping. R. Housley. December 2001.
213 (Format: TXT=19855 bytes) (Status: INFORMATIONAL)
214
2153274 Compressed Data Content Type for Cryptographic Message Syntax
216 (CMS). P. Gutmann. June 2002. (Format: TXT=11276 bytes) (Status:
217 PROPOSED STANDARD)
218
2193278 Use of Elliptic Curve Cryptography (ECC) Algorithms in
220 Cryptographic Message Syntax (CMS). S. Blake-Wilson, D. Brown, P.
221 Lambert. April 2002. (Format: TXT=33779 bytes) (Status:
222 INFORMATIONAL)
223
2243281 An Internet Attribute Certificate Profile for Authorization. S.
225 Farrell, R. Housley. April 2002. (Format: TXT=90580 bytes) (Status:
226 PROPOSED STANDARD)
227
2283369 Cryptographic Message Syntax (CMS). R. Housley. August 2002.
229 (Format: TXT=113975 bytes) (Obsoletes RFC2630, RFC3211) (Status:
230 PROPOSED STANDARD)
231
2323370 Cryptographic Message Syntax (CMS) Algorithms. R. Housley. August
233 2002. (Format: TXT=51001 bytes) (Obsoletes RFC2630, RFC3211) (Status:
234 PROPOSED STANDARD)
235
2363377 Lightweight Directory Access Protocol (v3): Technical
237 Specification. J. Hodges, R. Morgan. September 2002. (Format:
238 TXT=9981 bytes) (Updates RFC2251, RFC2252, RFC2253, RFC2254, RFC2255,
239 RFC2256, RFC2829, RFC2830) (Status: PROPOSED STANDARD)
240
2413394 Advanced Encryption Standard (AES) Key Wrap Algorithm. J. Schaad,
242 R. Housley. September 2002. (Format: TXT=73072 bytes) (Status:
243 INFORMATIONAL)
244
2453436 Transport Layer Security over Stream Control Transmission
246 Protocol. A. Jungmaier, E. Rescorla, M. Tuexen. December 2002.
247 (Format: TXT=16333 bytes) (Status: PROPOSED STANDARD)
248
118 "Securing FTP with TLS", 01/27/2000, <draft-murray-auth-ftp-ssl-05.txt> 249 "Securing FTP with TLS", 01/27/2000, <draft-murray-auth-ftp-ssl-05.txt>
119 250
120 251
@@ -124,7 +255,3 @@ To be implemented:
124These are documents that describe things that are planed to be 255These are documents that describe things that are planed to be
125implemented in the hopefully short future. 256implemented in the hopefully short future.
126 257
1272712 Addition of Kerberos Cipher Suites to Transport Layer Security
128 (TLS). A. Medvinsky, M. Hur. October 1999. (Format: TXT=13763 bytes)
129 (Status: PROPOSED STANDARD)
130