Commit Graph

38 Commits

Author SHA1 Message Date
Dr. Stephen Henson a63bf2c53c Make no-engine work again. 2009-02-15 15:28:18 +00:00
Ben Laurie b3f3407850 Use new common flags and fix resulting warnings. 2009-02-15 14:08:51 +00:00
Dr. Stephen Henson 2e5975285e Update obsolete email address... 2008-11-05 18:39:08 +00:00
Dr. Stephen Henson e19106f5fb Create function of the form OBJ_bsearch_xxx() in bsearch typesafe macros
with the appropriate parameters which calls OBJ_bsearch(). A compiler will
typically inline this.

This avoids the need for cmp_xxx variables and fixes unchecked const issues
with CHECKED_PTR_OF()
2008-10-22 15:43:01 +00:00
Dr. Stephen Henson 606f6c477a Fix a shed load or warnings:
Duplicate const.
Use of ; outside function.
2008-10-20 15:12:00 +00:00
Ben Laurie babb379849 Type-checked (and modern C compliant) OBJ_bsearch. 2008-10-12 14:32:47 +00:00
Dr. Stephen Henson d4cdbab99b Avoid warnings with -pedantic, specifically:
Conversion between void * and function pointer.
Value computed not used.
Signed/unsigned argument.
2008-07-04 23:12:52 +00:00
Ben Laurie 5ce278a77b More type-checking. 2008-06-04 11:01:43 +00:00
Dr. Stephen Henson 0e1dba934f 1. Changes for s_client.c to make it return non-zero exit code in case
of handshake failure

2. Changes to x509_certificate_type function (crypto/x509/x509type.c) to
make it recognize GOST certificates as EVP_PKT_SIGN|EVP_PKT_EXCH
(required for s3_srvr to accept GOST client certificates).

3. Changes to EVP
	- adding of function EVP_PKEY_CTX_get0_peerkey
	- Make function EVP_PKEY_derive_set_peerkey work for context with
	  ENCRYPT operation, because we use peerkey field in the context to
	  pass non-ephemeral secret key to GOST encrypt operation.
	- added EVP_PKEY_CTRL_SET_IV control command. It is really
	  GOST-specific, but it is used in SSL code, so it has to go
	  in some header file, available during libssl compilation

4. Fix to HMAC to avoid call of OPENSSL_cleanse on undefined data

5. Include des.h if KSSL_DEBUG is defined into some libssl files, to
  make debugging output which depends on constants defined there, work
  and other KSSL_DEBUG output fixes

6. Declaration of real GOST ciphersuites, two authentication methods
   SSL_aGOST94 and SSL_aGOST2001 and one key exchange method SSL_kGOST

7. Implementation  of these methods.

8. Support for sending unsolicited serverhello extension if GOST
  ciphersuite is selected. It is require for interoperability with
  CryptoPro CSP 3.0 and 3.6 and controlled by
  SSL_OP_CRYPTOPRO_TLSEXT_BUG constant.
  This constant is added to SSL_OP_ALL, because it does nothing, if
  non-GOST ciphersuite is selected, and all implementation of GOST
  include compatibility with CryptoPro.

9. Support for CertificateVerify message without length field. It is
   another CryptoPro bug, but support is made unconditional, because it
   does no harm for draft-conforming implementation.

10. In tls1_mac extra copy of stream mac context is no more done.
  When I've written currently commited code I haven't read
  EVP_DigestSignFinal manual carefully enough and haven't noticed that
  it does an internal digest ctx copying.

This implementation was tested against
1. CryptoPro CSP 3.6 client and server
2. Cryptopro CSP 3.0 server
2007-10-26 12:06:36 +00:00
Dr. Stephen Henson 74633553a9 Experimental HMAC support via EVP_PKEY_METHOD. 2007-04-11 12:33:06 +00:00
Nils Larsch 0d5ac5a738 allow EVP_PKEY_CTX_free(NULL) 2007-02-26 18:32:53 +00:00
Dr. Stephen Henson 944f858021 Fix EVP_PKEY_CTX_dup() to return correct value and handle NULL keys in
the source.
2006-06-27 17:23:24 +00:00
Dr. Stephen Henson 01b8b3c7d2 Complete EVP_PKEY_ASN1_METHOD ENGINE support. 2006-06-05 11:52:46 +00:00
Dr. Stephen Henson 1892c8bf97 Extend default method string to include public key methods.
Add missing prototypes.

Fix engine method lookup.
2006-06-02 13:09:59 +00:00
Dr. Stephen Henson 5e428e7d0d Typo. 2006-06-02 12:37:02 +00:00
Dr. Stephen Henson c9777d2659 Add ENGINE support for EVP_PKEY_METHOD including lookups of ENGINE
implementations and functional reference counting when a context
is allocated, free or copied.
2006-06-02 12:33:39 +00:00
Dr. Stephen Henson b28dea4e10 New pkey functions for keygen callbacks and retrieving operation type. 2006-05-31 17:34:14 +00:00
Dr. Stephen Henson 8bdcef40e4 New function to dup EVP_PKEY_CTX. This will be needed to make new signing
functions and EVP_MD_CTX_copy work properly.
2006-05-24 23:49:30 +00:00
Dr. Stephen Henson eaff5a1412 Use size_t for new crypto size parameters. 2006-05-24 12:33:46 +00:00
Dr. Stephen Henson 81cebb8b79 Add prototypes and pkey accessor function for EVP_PKEY_CTX. 2006-04-26 11:52:36 +00:00
Dr. Stephen Henson c20276e4ae Fix (most) WIN32 warnings and errors. 2006-04-17 12:08:22 +00:00
Dr. Stephen Henson 9ca7047d71 Provisional support for EC pkey method, supporting ECDH and ECDSA. 2006-04-16 16:15:59 +00:00
Dr. Stephen Henson b010b7c434 Use more flexible method of determining output length, by setting &outlen
value of the passed output buffer is NULL.

The old method of using EVP_PKEY_size(pkey) isn't flexible enough to cover all
cases where the output length may depend on the operation or the parameters
associated with it.
2006-04-15 18:50:56 +00:00
Dr. Stephen Henson ba30bad57b Add functions to allow setting and adding external EVP_PKEY_METHOD. 2006-04-14 12:41:35 +00:00
Dr. Stephen Henson ffb1ac674c Complete key derivation support. 2006-04-13 20:16:56 +00:00
Dr. Stephen Henson d87e615209 Add key derivation support. 2006-04-13 12:56:41 +00:00
Dr. Stephen Henson 3ba0885a3e Extend DH ASN1 method, add DH EVP_PKEY_METHOD. 2006-04-12 23:51:24 +00:00
Dr. Stephen Henson c927df3fa1 Initial DSA EVP_PKEY_METHOD. Fixup some error codes. 2006-04-12 10:20:47 +00:00
Dr. Stephen Henson f5cda4cbb1 Initial keygen support. 2006-04-11 13:28:52 +00:00
Dr. Stephen Henson 716630c0eb Change operation values so they can be used as a mask.
Fix rsa_pkey_method.
2006-04-10 11:16:11 +00:00
Dr. Stephen Henson 75d44c0452 Store digests as EVP_MD instead of a NID.
Add digest size sanity checks.
2006-04-09 21:24:48 +00:00
Dr. Stephen Henson b2a97be7f4 Support for digest signing and X931 in rsa_pkey_meth. 2006-04-09 19:17:25 +00:00
Dr. Stephen Henson 4a3dc3c0e3 Add RSA ctrl for padding mode, add ctrl support in pkeyutl. 2006-04-09 12:42:09 +00:00
Dr. Stephen Henson 9e4d0f0be2 New utility 'pkeyutl' a general purpose version of 'rsautl'. 2006-04-07 19:33:28 +00:00
Dr. Stephen Henson cd7638980a Include EVP_PKEY argument in EVP_PKEY_CTX_new(). This avoids the
need for a separate EVP_PKEY parameter in the other operation
initialization routines.
2006-04-07 17:28:56 +00:00
Dr. Stephen Henson f733a5ef0e Initial functions for main EVP_PKEY_METHOD operations.
No method implementations yet.
2006-04-07 16:42:09 +00:00
Dr. Stephen Henson 5da98aa687 Updated to EVP_PKEY_METHOD code... still doesn't do much. 2006-04-06 17:32:43 +00:00
Dr. Stephen Henson 0b6f3c66cd Initial definitions and a few functions for EVP_PKEY_METHOD: an extension
of the EVP routines to public key algorithms.
2006-04-06 13:02:06 +00:00