Geoff Thorpe [Mon, 12 Feb 2001 02:28:29 +0000 (02:28 +0000)]
This change was a quick experiment that I'd wanted to try that works quite
well (and is a good demonstration of how encapsulating the SSL in a
memory-based state machine can make it easier to apply to different
situations).
The change implements a new command-line switch "-flipped <0|1>" which, if
set to 1, reverses the usual interpretation of a client and server for SSL
tunneling. Normally, an ssl client (ie. "-server 0") accepts "cleartext"
connections and conducts SSL/TLS over a proxied connection acting as an SSL
client. Likewise, an ssl server (ie. "-server 1") accepts connections and
conducts SSL/TLS (as an SSL server) over them and passes "cleartext" over
the proxied connection. With "-flipped 1", an SSL client (specified with
"-server 0") in fact accepts SSL connections and proxies clear, whereas an
SSL server ("-server 1") accepts clear and proxies SSL. NB: most of this
diff is command-line handling, the actual meat of the change is simply the
line or two that plugs "clean" and "dirty" file descriptors into the item
that holds the state-machine - reverse them and you get the desired
behaviour.
This allows a network server to be an SSL client, and a network client to
be an SSL server. Apart from curiosity value, there's a couple of possibly
interesting applications - SSL/TLS is inherently vulnerable to trivial DoS
attacks, because the SSL server usually has to perform a private key
operation first, even if the client is authenticated. With this scenario,
the network client is the SSL server and performs the first private key
operation, whereas the network server serves as the SSL client. Another
possible application is when client-only authentication is required (ie.
the underlying protocol handles (or doesn't care about) authenticating the
server). Eg. an SSL/TLS version of 'ssh' could be concocted where the
client's signed certificate is used to validate login to a server system -
whether or not the client needs to validate who the server is can be
configured at the client end rather than at the server end (ie. a complete
inversion of what happens in normal SSL/TLS).
NB: This is just an experiment/play-thing, using "-flipped 1" probably
creates something that is interoperable with exactly nothing. :-)
Lutz Jänicke [Sun, 11 Feb 2001 17:01:36 +0000 (17:01 +0000)]
More about session caching.
Lutz Jänicke [Sat, 10 Feb 2001 19:10:36 +0000 (19:10 +0000)]
Include information that automatic query is a new feature.
Lutz Jänicke [Sat, 10 Feb 2001 16:21:38 +0000 (16:21 +0000)]
Update for 0.9.7 with SSL_OP_CIPHER_SERVER_PREFERENCE.
Lutz Jänicke [Sat, 10 Feb 2001 16:18:35 +0000 (16:18 +0000)]
Manual page for SSL_CTX_set_options(). Unfortunately for some of the
options someone much longer working with OpenSSL/SSLeay is needed.
Bodo Möller [Sat, 10 Feb 2001 13:35:34 +0000 (13:35 +0000)]
Oops: It's RegTP, not RegPT ...
Bodo Möller [Sat, 10 Feb 2001 13:16:16 +0000 (13:16 +0000)]
Add German SiG root certificates (extracted from the official cert registry
file http://www.nrca-ds.de/ftp/pkd.ttp, which contains a total of 288
certificates issued by the RegPT so far)
Bodo Möller [Sat, 10 Feb 2001 13:12:35 +0000 (13:12 +0000)]
disable stdin buffering in load_cert
Bodo Möller [Sat, 10 Feb 2001 11:21:29 +0000 (11:21 +0000)]
use case-insensitive comparison in set_table_opts
(similar to how arguments such as -inform/-outform specifications
are treated)
Dr. Stephen Henson [Sat, 10 Feb 2001 00:56:45 +0000 (00:56 +0000)]
Fix CRL printing to correctly show when there are no revoked certificates.
Make ca.c correctly initialize the revocation date.
Make ASN1_UTCTIME_set_string() and ASN1_GENERALIZEDTIME_set_string() set the
string type: so they can initialize ASN1_TIME structures properly.
Bodo Möller [Sat, 10 Feb 2001 00:34:02 +0000 (00:34 +0000)]
Simplify BN_rand_range
Lutz Jänicke [Fri, 9 Feb 2001 19:56:31 +0000 (19:56 +0000)]
New Option SSL_OP_CIPHER_SERVER_PREFERENCE allows TLS/SSLv3 server to override
the clients choice; in SSLv2 the client uses the server's preferences.
Lutz Jänicke [Fri, 9 Feb 2001 19:05:49 +0000 (19:05 +0000)]
Typo
Lutz Jänicke [Fri, 9 Feb 2001 19:03:53 +0000 (19:03 +0000)]
Fix "wierd" typo as submitted by Jeroen Ruigrok/Asmodai <asmodai@wxs.nl>.
Dr. Stephen Henson [Fri, 9 Feb 2001 18:16:12 +0000 (18:16 +0000)]
Various Win32 related fixed. Make no-krb5 work in mkdef.pl .
Fix warning in apps/engine.c
Remove definitions of deleted functions.
Add missing definition of X509_VAL.
Dr. Stephen Henson [Fri, 9 Feb 2001 13:16:21 +0000 (13:16 +0000)]
Various updates to mkdef.pl to cope with new aes
and ASN1 code.
Bodo Möller [Fri, 9 Feb 2001 09:40:18 +0000 (09:40 +0000)]
fix editing error
Bodo Möller [Fri, 9 Feb 2001 08:34:29 +0000 (08:34 +0000)]
add linux-s390 configuration (based on information submitted by
Denis Beauchemin <Denis.Beauchemin@Courrier.USherb.ca>)
Dr. Stephen Henson [Fri, 9 Feb 2001 03:09:05 +0000 (03:09 +0000)]
Add missing \n's to ocsp usage message.
Dr. Stephen Henson [Thu, 8 Feb 2001 19:36:10 +0000 (19:36 +0000)]
Allow various options to be included for signing and verify of
OCSP responses.
Documentation to follow...
Urgh.. this conflicted with the -VAfile patch I hope I haven't
broken it.
Richard Levitte [Thu, 8 Feb 2001 19:28:10 +0000 (19:28 +0000)]
The check for request including a nonce and response not having it was
inversed. Corrected. Hopefully, this will make it work without
dumping core.
Richard Levitte [Thu, 8 Feb 2001 17:59:29 +0000 (17:59 +0000)]
Add the -VAfile option to 'openssl ocsp'. This option will give the
client code certificates to use to only check response signatures.
I'm not entirely sure if the way I just implemented the verification
is the right way to do it, and would be happy if someone would like to
review this.
Ulf Möller [Thu, 8 Feb 2001 17:45:32 +0000 (17:45 +0000)]
use <= instead of ==
Ulf Möller [Thu, 8 Feb 2001 17:22:56 +0000 (17:22 +0000)]
point out that RAND_load_file() etc are only for seed files, not for
entropy devices or sockets.
Ulf Möller [Thu, 8 Feb 2001 17:16:44 +0000 (17:16 +0000)]
Note that EGD is used automatically.
Ulf Möller [Thu, 8 Feb 2001 17:14:07 +0000 (17:14 +0000)]
cleanup
Bodo Möller [Thu, 8 Feb 2001 12:34:08 +0000 (12:34 +0000)]
Another comment change. (Previous comment does not apply
for range =
11000000... or range = 100000...)
Bodo Möller [Thu, 8 Feb 2001 12:27:22 +0000 (12:27 +0000)]
Change comments. (The expected number of iterations in BN_rand_range
never exceeds 1.333...).
Bodo Möller [Thu, 8 Feb 2001 12:24:41 +0000 (12:24 +0000)]
oops -- remove observation code
Bodo Möller [Thu, 8 Feb 2001 12:14:51 +0000 (12:14 +0000)]
Integrate my implementation of a countermeasure against
Bleichenbacher's DSA attack. With this implementation, the expected
number of iterations never exceeds 2.
New semantics for BN_rand_range():
BN_rand_range(r, min, range) now generates r such that
min <= r < min+range.
(Previously, BN_rand_range(r, min, max) generated r such that
min <= r < max.
It is more convenient to have the range; also the previous
prototype was misleading because max was larger than
the actual maximum.)
Bodo Möller [Thu, 8 Feb 2001 11:15:50 +0000 (11:15 +0000)]
platform specific CFLAGS don't belong into this Makefile
Lutz Jänicke [Thu, 8 Feb 2001 10:42:01 +0000 (10:42 +0000)]
Update documentation to match the state at 0.9.6 _and_ the recent changes.
Ulf Möller [Wed, 7 Feb 2001 22:24:35 +0000 (22:24 +0000)]
Bleichenbacher's DSA attack
Lutz Jänicke [Wed, 7 Feb 2001 22:13:38 +0000 (22:13 +0000)]
Modify access to EGD socket to deal with EINTR etc that can appear
during connect() and other calls. First seen on Unixware-7.
Unify access to EGD-socket for all RAND_egd_*() methods.
Dr. Stephen Henson [Wed, 7 Feb 2001 18:15:18 +0000 (18:15 +0000)]
Fix AES code.
Update Rijndael source to v3.0
Add AES OIDs.
Change most references of Rijndael to AES.
Add new draft AES ciphersuites.
Lutz Jänicke [Wed, 7 Feb 2001 14:26:43 +0000 (14:26 +0000)]
Change preferences for sockets of EGD-style entropy daemons to a more
reasonable selection.
Lutz Jänicke [Wed, 7 Feb 2001 14:15:41 +0000 (14:15 +0000)]
Fix typo preventing correct usage of -out option.
Ben Laurie [Tue, 6 Feb 2001 14:09:13 +0000 (14:09 +0000)]
Rijdael CBC mode and partial undebugged SSL support.
Ben Laurie [Tue, 6 Feb 2001 13:13:31 +0000 (13:13 +0000)]
Improve the state machine.
Bodo Möller [Tue, 6 Feb 2001 10:26:34 +0000 (10:26 +0000)]
Avoid coredumps for CONF_get_...(NULL, ...)
Bodo Möller [Tue, 6 Feb 2001 09:47:47 +0000 (09:47 +0000)]
don't dump core
Ulf Möller [Tue, 6 Feb 2001 02:57:35 +0000 (02:57 +0000)]
format strings
Ulf Möller [Tue, 6 Feb 2001 02:54:02 +0000 (02:54 +0000)]
Fix potential buffer overrun for EBCDIC.
Richard Levitte [Mon, 5 Feb 2001 09:15:09 +0000 (09:15 +0000)]
Fix a memory leak in BIO_get_accept_socket(). This leak was small and
only happened when the port number wasn't parsable ot the host wasn't
possible to convert to an IP address.
Contributed by Niko Baric <Niko.Baric@epost.de>
Bodo Möller [Mon, 5 Feb 2001 09:07:50 +0000 (09:07 +0000)]
Include string.h (whis is in all relevant standards) instead of
memory.h (which is not).
Dr. Stephen Henson [Mon, 5 Feb 2001 00:35:06 +0000 (00:35 +0000)]
New function to copy nonce values from OCSP
request to response.
Ben Laurie [Sun, 4 Feb 2001 21:06:55 +0000 (21:06 +0000)]
Make depend.
Ben Laurie [Sun, 4 Feb 2001 21:03:22 +0000 (21:03 +0000)]
BN assembler is no longer option on x86.
Ben Laurie [Sun, 4 Feb 2001 21:02:22 +0000 (21:02 +0000)]
Can't remember why this was needed?
Ben Laurie [Sun, 4 Feb 2001 21:01:32 +0000 (21:01 +0000)]
Fix a warning.
Lutz Jänicke [Sun, 4 Feb 2001 18:05:27 +0000 (18:05 +0000)]
Documenting session caching, 2nd step.
Dr. Stephen Henson [Sun, 4 Feb 2001 03:04:43 +0000 (03:04 +0000)]
Fix ASN1_TIME_to_generlizedtime().
Add protoype for OCSP_response_create().
Add OCSP_request_sign() and OCSP_basic_sign()
private key and certificate checks and make
OCSP_NOCERTS consistent with PKCS7_NOCERTS
Dr. Stephen Henson [Sat, 3 Feb 2001 19:20:45 +0000 (19:20 +0000)]
Various OCSP responder utility functions.
Delete obsolete OCSP functions.
Largely untested at present...
Lutz Jänicke [Sat, 3 Feb 2001 15:15:00 +0000 (15:15 +0000)]
Clarify why SSL_CTX_use_certificate_chain_file() should be preferred.
Lutz Jänicke [Sat, 3 Feb 2001 11:02:02 +0000 (11:02 +0000)]
Typo: on my screen it nicely wrapped around at 80 :-)
Lutz Jänicke [Sat, 3 Feb 2001 10:59:13 +0000 (10:59 +0000)]
If the source has already been succesfully queried, do not try to open it
again as file.
Lutz Jänicke [Fri, 2 Feb 2001 14:40:52 +0000 (14:40 +0000)]
Document session caching, first step.
Dr. Stephen Henson [Fri, 2 Feb 2001 00:45:54 +0000 (00:45 +0000)]
Various function for commmon operations.
Dr. Stephen Henson [Fri, 2 Feb 2001 00:31:45 +0000 (00:31 +0000)]
Tidy up the mess in bss_sock.c and bss_fd.c
by placing them socket/fd code in separate
files rather than trying to have them both
share the same one.
Dr. Stephen Henson [Thu, 1 Feb 2001 01:57:32 +0000 (01:57 +0000)]
Tolerate some "variations" used in some
certificates.
One is a valid CA which has no basicConstraints
but does have certSign keyUsage.
Other is S/MIME signer with nonRepudiation but
no digitalSignature.
Lutz Jänicke [Wed, 31 Jan 2001 14:14:20 +0000 (14:14 +0000)]
New manual page for a hardly known but important item :-)
Richard Levitte [Tue, 30 Jan 2001 13:47:59 +0000 (13:47 +0000)]
Document the change.
Richard Levitte [Tue, 30 Jan 2001 13:38:59 +0000 (13:38 +0000)]
Increase consistency of header data (some mail readers really do not
like spaces before the semicolon, and besides, other parts of this
file makes the values without those spaces), and move spacing of
continuation lines to support BIO's that break lines after each
write.
Bodo Möller [Mon, 29 Jan 2001 11:41:12 +0000 (11:41 +0000)]
Remove serial number file during 'make clean'.
Bodo Möller [Sun, 28 Jan 2001 14:38:11 +0000 (14:38 +0000)]
Comment and indentation
Dr. Stephen Henson [Sun, 28 Jan 2001 14:20:13 +0000 (14:20 +0000)]
Make sk_sort tolearate a NULL argument.
Dr. Stephen Henson [Fri, 26 Jan 2001 01:55:52 +0000 (01:55 +0000)]
New OCSP response verify option OCSP_TRUSTOTHER
Richard Levitte [Thu, 25 Jan 2001 14:46:00 +0000 (14:46 +0000)]
Documentation language corrections, contributed by Chris Pepper <pepper@mail.reppep.com>
Dr. Stephen Henson [Thu, 25 Jan 2001 13:15:01 +0000 (13:15 +0000)]
Zero the premaster secret after deriving the master secret in DH
ciphersuites.
Geoff Thorpe [Thu, 25 Jan 2001 02:26:58 +0000 (02:26 +0000)]
Insert a missing space to stop pod2man giving stroppy "malformed" warnings.
Bodo Möller [Wed, 24 Jan 2001 22:39:29 +0000 (22:39 +0000)]
update
Dr. Stephen Henson [Wed, 24 Jan 2001 18:39:54 +0000 (18:39 +0000)]
Add debugging info to new ASN1 code to trace memory leaks.
Fix PKCS7 and PKCS12 memory leaks.
Initialise encapsulated content type properly.
Bodo Möller [Wed, 24 Jan 2001 14:59:25 +0000 (14:59 +0000)]
Update "OAEP reconsidered" comment
Ulf Möller [Wed, 24 Jan 2001 02:56:40 +0000 (02:56 +0000)]
new year
Bodo Möller [Tue, 23 Jan 2001 16:39:59 +0000 (16:39 +0000)]
EVP_add_digest_alias additions to SS_library_init
Ulf Möller [Tue, 23 Jan 2001 16:26:15 +0000 (16:26 +0000)]
There is no C version of bn_div_3_words
Bodo Möller [Tue, 23 Jan 2001 13:55:26 +0000 (13:55 +0000)]
For improved compatibility with 'strange' certificates, add some
digest aliases (as found in OpenSSL_add_all_digests).
Bodo Möller [Tue, 23 Jan 2001 13:36:57 +0000 (13:36 +0000)]
Use OpenSSL_add_all_algorithms instead of the backwards compatibility
alias SSLeay_add_all_algorithms
Bodo Möller [Tue, 23 Jan 2001 12:30:43 +0000 (12:30 +0000)]
More on the e_os.h mess ...
Lutz Jänicke [Tue, 23 Jan 2001 11:04:52 +0000 (11:04 +0000)]
Copy over just written manpage to the ones still missing.
Lutz Jänicke [Tue, 23 Jan 2001 10:47:41 +0000 (10:47 +0000)]
Add entries for new manpages...
Ulf Möller [Mon, 22 Jan 2001 18:46:32 +0000 (18:46 +0000)]
Definition of NO_KRB5 in ssl.h for external applications.
Ulf Möller [Sun, 21 Jan 2001 19:46:50 +0000 (19:46 +0000)]
Use the correct number of arguments in the example.
Ulf Möller [Sun, 21 Jan 2001 18:45:23 +0000 (18:45 +0000)]
Mention the ./config script fixes.
Lutz Jänicke [Sat, 20 Jan 2001 16:22:43 +0000 (16:22 +0000)]
Documentation about SSL_get_ex_data_X509_STORE_CTX_idx and
SSL_get_ex_new_index() functionality. Extended verify_callback()
example to show the usage.
Dr. Stephen Henson [Sat, 20 Jan 2001 13:38:45 +0000 (13:38 +0000)]
Fix to stop X509_time_adj() using GeneralizedTime.
Dr. Stephen Henson [Sat, 20 Jan 2001 01:26:28 +0000 (01:26 +0000)]
Update ocsp utility documentation.
Dr. Stephen Henson [Fri, 19 Jan 2001 14:21:48 +0000 (14:21 +0000)]
Fixes to various ASN1_INTEGER routines for negative case.
Enhance s2i_ASN1_INTEGER().
Bodo Möller [Fri, 19 Jan 2001 07:37:56 +0000 (07:37 +0000)]
Fix openssl passwd -1
Dr. Stephen Henson [Fri, 19 Jan 2001 01:32:23 +0000 (01:32 +0000)]
Additional functionality in ocsp utility: print summary
of status info. Check nonce values. Option to disable
verify. Update usage message.
Rename status to string functions and make them global.
Dr. Stephen Henson [Thu, 18 Jan 2001 01:36:54 +0000 (01:36 +0000)]
Don't shadow.
Dr. Stephen Henson [Thu, 18 Jan 2001 01:35:39 +0000 (01:35 +0000)]
Implement remaining OCSP verify checks in
accordance with RFC2560.
Richard Levitte [Wed, 17 Jan 2001 13:43:18 +0000 (13:43 +0000)]
Make the change log on the RAND_poll change a bit more explicit. Suggested by Bodo Moeller.
Richard Levitte [Wed, 17 Jan 2001 01:35:35 +0000 (01:35 +0000)]
Keep up with Unix
Dr. Stephen Henson [Wed, 17 Jan 2001 01:31:34 +0000 (01:31 +0000)]
Initial OCSP certificate verify. Not complete,
it just supports a "trusted OCSP global root CA".
Ulf Möller [Mon, 15 Jan 2001 22:19:30 +0000 (22:19 +0000)]
link to the new manpage.
Bodo Möller [Mon, 15 Jan 2001 11:35:24 +0000 (11:35 +0000)]
New '-extfile' option for 'openssl ca'.
This allows keeping extensions in a separate configuration file.
Submitted by: Massimiliano Pala <madwolf@comune.modena.it>
Geoff Thorpe [Sun, 14 Jan 2001 23:37:42 +0000 (23:37 +0000)]
Update the LHASH man page.
* Correct some prototypes and macros with respect to "const"ness.
* Add the extra macros and examples due to the lh_doall[_arg] modifications
made recently. The existing example is also reworked for consistency.
* Rewrite, tweak, and supplement bits of the existing comments that seemed
(IMHO) to be a little convoluted and misleading.
* Add a NOTE section that explains the use of macros and avoiding function
casts (ie. generate a wrapper as with the macros, or prototype any
callback functions exactly to not require casting). Also, explain the
"const" approach taken in LHASH for the purposes of API comprehensibility
and also application code auditing.
Dr. Stephen Henson [Sun, 14 Jan 2001 14:07:10 +0000 (14:07 +0000)]
Change PKCS#12 key derivation routines to cope with
non null terminated passwords.
Dr. Stephen Henson [Sun, 14 Jan 2001 13:58:49 +0000 (13:58 +0000)]
Fix warning in apps/ca.c