Dr. Stephen Henson [Thu, 6 Dec 2012 18:43:40 +0000 (18:43 +0000)]
Add code to download CRLs based on CRLDP extension.
Just a sample, real world applications would have to be cleverer.
Dr. Stephen Henson [Fri, 18 Jan 2013 15:05:28 +0000 (15:05 +0000)]
cipher is not used in s_server any more.
Dr. Stephen Henson [Sun, 2 Dec 2012 16:16:28 +0000 (16:16 +0000)]
New option to add CRLs for s_client and s_server.
Dr. Stephen Henson [Tue, 4 Dec 2012 18:35:36 +0000 (18:35 +0000)]
initial support for delta CRL generations by diffing two full CRLs
Dr. Stephen Henson [Thu, 17 Jan 2013 18:20:18 +0000 (18:20 +0000)]
Typo (PR2959).
Dr. Stephen Henson [Thu, 29 Nov 2012 01:13:38 +0000 (01:13 +0000)]
constify
Dr. Stephen Henson [Tue, 27 Nov 2012 23:47:48 +0000 (23:47 +0000)]
New functions to set lookup_crls callback and to retrieve internal X509_STORE
from X509_STORE_CTX.
Dr. Stephen Henson [Sun, 2 Dec 2012 14:00:22 +0000 (14:00 +0000)]
add option to get a certificate or CRL from a URL
Dr. Stephen Henson [Tue, 12 Jun 2012 13:41:18 +0000 (13:41 +0000)]
print out issuer and subject unique identifier fields in certificates
Dr. Stephen Henson [Thu, 29 Nov 2012 01:15:09 +0000 (01:15 +0000)]
add wrapper function for certificate download
Dr. Stephen Henson [Thu, 29 Nov 2012 01:15:09 +0000 (01:15 +0000)]
Generalise OCSP I/O functions to support dowloading of other ASN1
structures using HTTP. Add wrapper function to handle CRL download.
Dr. Stephen Henson [Tue, 15 Jan 2013 16:26:04 +0000 (16:26 +0000)]
Update default dependency flags.
Dr. Stephen Henson [Tue, 15 Jan 2013 16:24:07 +0000 (16:24 +0000)]
make update
Dr. Stephen Henson [Tue, 15 Jan 2013 16:18:13 +0000 (16:18 +0000)]
Add support for broken protocol tests (backport from master branch)
Dr. Stephen Henson [Tue, 15 Jan 2013 15:55:54 +0000 (15:55 +0000)]
Make whitespace consistent with master branch.
Ben Laurie [Sun, 13 Jan 2013 21:04:39 +0000 (21:04 +0000)]
Fix some clang warnings.
Ben Laurie [Sat, 12 Jan 2013 12:25:30 +0000 (12:25 +0000)]
Correct EVP_PKEY_verifyrecover to EVP_PKEY_verify_recover (RT 2955).
Dr. Stephen Henson [Mon, 7 Jan 2013 16:14:15 +0000 (16:14 +0000)]
In FIPS mode use PKCS#8 format when writing private keys:
traditional format uses MD5 which is prohibited in FIPS mode.
Dr. Stephen Henson [Mon, 7 Jan 2013 16:13:48 +0000 (16:13 +0000)]
Change default bits to 1024
Dr. Stephen Henson [Sun, 6 Jan 2013 21:34:51 +0000 (21:34 +0000)]
Add .gitignore from master branch.
Ben Laurie [Sun, 6 Jan 2013 19:03:48 +0000 (19:03 +0000)]
Fix warning.
Dr. Stephen Henson [Sun, 30 Dec 2012 16:27:15 +0000 (16:27 +0000)]
add support for separate verify can chain stores to s_client (backport from HEAD)
Dr. Stephen Henson [Sun, 30 Dec 2012 16:17:29 +0000 (16:17 +0000)]
add -chain options to s_client (backrpot from HEAD)
Dr. Stephen Henson [Sun, 30 Dec 2012 16:05:03 +0000 (16:05 +0000)]
make no-comp compile
Dr. Stephen Henson [Sun, 30 Dec 2012 01:12:19 +0000 (01:12 +0000)]
stop warning when compiling with no-comp
Dr. Stephen Henson [Sun, 30 Dec 2012 00:03:40 +0000 (00:03 +0000)]
remove unused cipher functionality from s_client
Dr. Stephen Henson [Sat, 29 Dec 2012 23:59:18 +0000 (23:59 +0000)]
Update debug-steve* options.
Dr. Stephen Henson [Sat, 29 Dec 2012 23:58:44 +0000 (23:58 +0000)]
make JPAKE work again, fix memory leaks
Dr. Stephen Henson [Sat, 29 Dec 2012 14:18:14 +0000 (14:18 +0000)]
update ordinals
Dr. Stephen Henson [Sat, 29 Dec 2012 14:16:41 +0000 (14:16 +0000)]
Delegate command line handling for many common options in s_client/s_server to
the SSL_CONF APIs.
This is complicated a little because the SSL_CTX structure is not available
when the command line is processed: so just check syntax of commands initially
and store them, ready to apply later.
(backport from HEAD)
Dr. Stephen Henson [Sat, 29 Dec 2012 13:30:56 +0000 (13:30 +0000)]
add SSL_CONF functions and documentation (backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 23:53:52 +0000 (23:53 +0000)]
Update ordinals.
Dr. Stephen Henson [Wed, 26 Dec 2012 23:51:41 +0000 (23:51 +0000)]
Portability fix: use BIO_snprintf and pick up strcasecmp alternative
definitions from e_os.h
Dr. Stephen Henson [Wed, 26 Dec 2012 22:43:43 +0000 (22:43 +0000)]
typo
Dr. Stephen Henson [Wed, 26 Dec 2012 22:40:46 +0000 (22:40 +0000)]
SSL/TLS record tracing code (backport from HEAD).
Dr. Stephen Henson [Wed, 26 Dec 2012 18:26:11 +0000 (18:26 +0000)]
Reject zero length ec point format list.
Give more meaningful error is attempt made to use incorrect curve.
(from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 18:20:07 +0000 (18:20 +0000)]
handle point format list retrieval for clients too (from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 18:13:49 +0000 (18:13 +0000)]
Add support for printing out and retrieving EC point formats extension.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 17:39:02 +0000 (17:39 +0000)]
return error if Suite B mode is selected and TLS 1.2 can't be used.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 17:35:02 +0000 (17:35 +0000)]
set auto ecdh parameter selction for Suite B
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 17:34:50 +0000 (17:34 +0000)]
add Suite B 128 bit mode offering only combination 2
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 17:09:39 +0000 (17:09 +0000)]
Use client version when deciding which cipher suites to disable.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 17:09:14 +0000 (17:09 +0000)]
Use default point formats extension for server side as well as client
side, if possible.
Don't advertise compressed char2 for SuiteB as it is not supported.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 16:57:39 +0000 (16:57 +0000)]
add Suite B verification flags
Dr. Stephen Henson [Wed, 26 Dec 2012 16:49:59 +0000 (16:49 +0000)]
contify
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 16:25:06 +0000 (16:25 +0000)]
Add ctrl and utility functions to retrieve raw cipher list sent by client in
client hello message. Previously this could only be retrieved on an initial
connection and it was impossible to determine the cipher IDs of any uknown
ciphersuites.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 16:23:36 +0000 (16:23 +0000)]
new ctrl to retrive value of received temporary key in server key exchange message, print out details in s_client
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 16:23:13 +0000 (16:23 +0000)]
store and print out message digest peer signed with in TLS 1.2
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 16:22:19 +0000 (16:22 +0000)]
perform sanity checks on server certificate type as soon as it is received instead of waiting until server key exchange
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 16:18:15 +0000 (16:18 +0000)]
give more meaningful error if presented with wrong certificate type by server
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 16:17:40 +0000 (16:17 +0000)]
Add three Suite B modes to TLS code, supporting RFC6460.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 16:11:10 +0000 (16:11 +0000)]
Add missing prototype to x509.h
Dr. Stephen Henson [Wed, 26 Dec 2012 16:04:03 +0000 (16:04 +0000)]
New function X509_chain_up_ref to dup and up the reference count of
a STACK_OF(X509): replace equivalent functionality in several places
by the equivalent call.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 16:01:31 +0000 (16:01 +0000)]
add suite B chain validation flags and associated verify errors
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 15:59:57 +0000 (15:59 +0000)]
Oops, add missing v3nametest.c
Dr. Stephen Henson [Wed, 26 Dec 2012 15:32:13 +0000 (15:32 +0000)]
New -valid option to add a certificate to the ca index.txt that is valid and not revoked
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 15:27:44 +0000 (15:27 +0000)]
Make tls1_check_chain return a set of flags indicating checks passed
by a certificate chain. Add additional tests to handle client
certificates: checks for matching certificate type and issuer name
comparison.
Print out results of checks for each candidate chain tested in
s_server/s_client.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 15:27:24 +0000 (15:27 +0000)]
Abort handshake if signature algorithm used not supported by peer.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 15:27:04 +0000 (15:27 +0000)]
check EC tmp key matches preferences
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 15:23:16 +0000 (15:23 +0000)]
typo
Dr. Stephen Henson [Wed, 26 Dec 2012 15:21:53 +0000 (15:21 +0000)]
Add support for certificate stores in CERT structure. This makes it
possible to have different stores per SSL structure or one store in
the parent SSL_CTX. Include distint stores for certificate chain
verification and chain building. New ctrl SSL_CTRL_BUILD_CERT_CHAIN
to build and store a certificate chain in CERT structure: returing
an error if the chain cannot be built: this will allow applications
to test if a chain is correctly configured.
Note: if the CERT based stores are not set then the parent SSL_CTX
store is used to retain compatibility with existing behaviour.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 15:09:16 +0000 (15:09 +0000)]
add ssl_locl.h to err header files, rebuild ssl error strings
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:56:40 +0000 (14:56 +0000)]
set ciphers to NULL before calling cert_cb
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:56:27 +0000 (14:56 +0000)]
stop warning
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:55:46 +0000 (14:55 +0000)]
New function ssl_set_client_disabled to set masks for any ciphersuites
that are disabled for this session (as opposed to always disabled by
configuration).
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:51:37 +0000 (14:51 +0000)]
Add new ctrl to retrieve client certificate types, print out
details in s_client.
Also add ctrl to set client certificate types. If not used sensible values
will be included based on supported signature algorithms: for example if
we don't include any DSA signing algorithms the DSA certificate type is
omitted.
Fix restriction in old code where certificate types would be truncated
if it exceeded TLS_CT_NUMBER.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:48:05 +0000 (14:48 +0000)]
cert_flags is unsigned
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:47:31 +0000 (14:47 +0000)]
add support for client certificate callbak, fix memory leak
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:45:46 +0000 (14:45 +0000)]
new function SSL_is_server to which returns 1 is the corresponding SSL context is for a server
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:45:27 +0000 (14:45 +0000)]
no need to check s->server as default_nid is never used for TLS 1.2 client authentication
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:44:56 +0000 (14:44 +0000)]
Separate client and server permitted signature algorithm support: by default
the permitted signature algorithms for server and client authentication
are the same but it is now possible to set different algorithms for client
authentication only.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:43:51 +0000 (14:43 +0000)]
Add certificate callback. If set this is called whenever a certificate
is required by client or server. An application can decide which
certificate chain to present based on arbitrary criteria: for example
supported signature algorithms. Add very simple example to s_server.
This fixes many of the problems and restrictions of the existing client
certificate callback: for example you can now clear existing certificates
and specify the whole chain.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:31:05 +0000 (14:31 +0000)]
New functions to retrieve certificate signatures and signature OID NID.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:27:27 +0000 (14:27 +0000)]
Function tls1_check_ec_server_key is now redundant as we make
appropriate checks in tls1_check_chain.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:26:53 +0000 (14:26 +0000)]
Add new "valid_flags" field to CERT_PKEY structure which determines what
the certificate can be used for (if anything). Set valid_flags field
in new tls1_check_chain function. Simplify ssl_set_cert_masks which used
to have similar checks in it.
Add new "cert_flags" field to CERT structure and include a "strict mode".
This enforces some TLS certificate requirements (such as only permitting
certificate signature algorithms contained in the supported algorithms
extension) which some implementations ignore: this option should be used
with caution as it could cause interoperability issues.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:26:16 +0000 (14:26 +0000)]
Reorganise supported signature algorithm extension processing.
Only store encoded versions of peer and configured signature algorithms.
Determine shared signature algorithms and cache the result along with NID
equivalents of each algorithm.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:25:29 +0000 (14:25 +0000)]
Add support for application defined signature algorithms for use with
TLS v1.2. These are sent as an extension for clients and during a certificate
request for servers.
TODO: add support for shared signature algorithms, respect shared algorithms
when deciding which ciphersuites and certificates to permit.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:18:50 +0000 (14:18 +0000)]
Make it possible to delete all certificates from an SSL structure.
(backport from HEAD)
Dr. Stephen Henson [Wed, 26 Dec 2012 14:12:09 +0000 (14:12 +0000)]
Revert incompatible OCSP_basic_verify changes.
Make partial chain chekcing work with EE certificates only.
Remove unneeded -trust_other option from tocsp.
(Backport from HEAD)
Dr. Stephen Henson [Sun, 23 Dec 2012 18:12:28 +0000 (18:12 +0000)]
add missing \n
Dr. Stephen Henson [Fri, 21 Dec 2012 18:33:53 +0000 (18:33 +0000)]
fix typo
Dr. Stephen Henson [Thu, 20 Dec 2012 19:15:35 +0000 (19:15 +0000)]
update/fix tocsp script (from HEAD)
Dr. Stephen Henson [Thu, 20 Dec 2012 19:06:39 +0000 (19:06 +0000)]
Backport enhancements to OCSP utility from HEAD:
Support - as a file for standard input or output.
Add -badsig option to generate invalid signatures for testing.
New -rmd option to specify digest to sign OCSP responses with.
Dr. Stephen Henson [Thu, 20 Dec 2012 19:01:55 +0000 (19:01 +0000)]
revert, missing commit message
Dr. Stephen Henson [Thu, 20 Dec 2012 19:01:34 +0000 (19:01 +0000)]
oops, revert
Dr. Stephen Henson [Thu, 20 Dec 2012 18:59:09 +0000 (18:59 +0000)]
apps/ocsp.c
Dr. Stephen Henson [Wed, 19 Dec 2012 15:14:10 +0000 (15:14 +0000)]
Integrate host, email and IP address checks into X509_verify.
Add new verify options to set checks.
(backport from HEAD)
Dr. Stephen Henson [Wed, 19 Dec 2012 15:02:58 +0000 (15:02 +0000)]
Return success when the responder is active.
Don't verify our own responses.
(backport from HEAD)
Dr. Stephen Henson [Wed, 19 Dec 2012 15:01:59 +0000 (15:01 +0000)]
Backport X509 hostname, IP address and email checking code from HEAD.
Dr. Stephen Henson [Wed, 19 Dec 2012 15:01:32 +0000 (15:01 +0000)]
Check chain is not NULL before assuming we have a validated chain. The
modification to the OCSP helper purpose breaks normal OCSP verification. It is
no longer needed now we can trust partial chains.
Andy Polyakov [Sun, 16 Dec 2012 19:40:51 +0000 (19:40 +0000)]
VC-32.pl: fix typo [from HEAD].
Submitted by: Pierre Delaage
Dr. Stephen Henson [Fri, 14 Dec 2012 14:31:16 +0000 (14:31 +0000)]
Use new partial chain flag instead of modifying input parameters.
(backport from HEAD)
Dr. Stephen Henson [Fri, 14 Dec 2012 14:30:46 +0000 (14:30 +0000)]
New verify flag to return success if we have any certificate in the trusted
store instead of the default which is to return an error if we can't build
the complete chain. [backport from HEAD]
Ben Laurie [Fri, 14 Dec 2012 13:29:17 +0000 (13:29 +0000)]
Documentation improvements by Chris Palmer (Google).
Ben Laurie [Fri, 14 Dec 2012 12:53:53 +0000 (12:53 +0000)]
Backport OCSP fixes.
Ben Laurie [Thu, 13 Dec 2012 16:16:48 +0000 (16:16 +0000)]
Document -pubkey option.
Ben Laurie [Thu, 13 Dec 2012 15:49:15 +0000 (15:49 +0000)]
Make verify return errors.
Ben Laurie [Thu, 13 Dec 2012 12:43:18 +0000 (12:43 +0000)]
Ignore more.
Ben Laurie [Wed, 12 Dec 2012 13:45:32 +0000 (13:45 +0000)]
Add my 64-bit debug target.
Dr. Stephen Henson [Thu, 6 Dec 2012 18:24:47 +0000 (18:24 +0000)]
Fix two bugs which affect delta CRL handling:
Use -1 to check all extensions in CRLs.
Always set flag for freshest CRL.