openssl/crypto/evp
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
..
.cvsignore Add emacs cache files to .cvsignore. 2005-04-11 14:17:07 +00:00
bio_b64.c A general spring-cleaning (in autumn) to fix up signed/unsigned warnings. 2003-10-29 20:24:15 +00:00
bio_enc.c Increase offset for BIO_f_enc() to avoid problems with overlapping buffers 2005-04-28 00:21:29 +00:00
bio_md.c Don't copy from a nonexistent next. Coverity ID 47. 2007-04-05 17:23:51 +00:00
bio_ok.c Fix compiler warnings in crypto/evp/bio_ok.c as pointed out by Geoff. 2004-08-29 16:19:27 +00:00
c_all.c OPENSSL_ia32cap final touches. Note that OPENSSL_ia32cap is no longer a 2004-08-29 16:36:05 +00:00
c_allc.c Add SEED encryption algorithm. 2007-04-23 23:48:59 +00:00
c_alld.c Add Whirlpool to EVP. 2005-11-30 20:57:23 +00:00
digest.c Copy update callback across when copying EVP_MD_CTX. 2007-04-12 13:02:31 +00:00
e_aes.c Add the missing parts for DES CFB1 and CFB8. 2004-01-28 19:05:35 +00:00
e_bf.c Make sure we get the definition of OPENSSL_NO_BF. 2003-03-20 23:28:16 +00:00
e_camellia.c Fix C++ style comments, change assert to OPENSSL_assert, stop warning with 2006-08-31 20:56:20 +00:00
e_cast.c Make sure we get the definition of OPENSSL_NO_CAST. 2003-03-20 23:28:27 +00:00
e_des3.c Enhance EVP code to generate random symmetric keys of the 2004-03-28 17:38:00 +00:00
e_des.c as we encrypt every bit separately we need to loop through the number 2006-04-20 13:11:52 +00:00
e_dsa.c Change #include filenames from <foo.h> to <openssl.h>. 1999-04-23 22:13:45 +00:00
e_idea.c Make sure we get the definition of OPENSSL_NO_IDEA. 2003-03-20 23:28:55 +00:00
e_null.c fix warnings when building openssl with the following compiler options: 2005-08-28 22:49:57 +00:00
e_old.c Use OPENSSL_NO_CAST, not OPENSSL_NO_CAST5 in e_old.c 2005-04-25 23:09:00 +00:00
e_rc2.c Add PRF preference ctrl to ciphers. 2006-05-15 18:35:13 +00:00
e_rc4.c fix warnings when building openssl with the following compiler options: 2005-08-28 22:49:57 +00:00
e_rc5.c Make sure we get the definition of OPENSSL_NO_RC5. 2003-03-20 23:29:26 +00:00
e_seed.c Add SEED encryption algorithm. 2007-04-23 23:48:59 +00:00
e_xcbc_d.c fix warnings when building openssl with the following compiler options: 2005-08-28 22:49:57 +00:00
encode.c Bunch of constifications. 2007-10-13 15:51:32 +00:00
evp_acnf.c We seem to carry some rests of the 0.9.6 [engine] ENGINE framework in form 2003-04-08 06:00:05 +00:00
evp_enc.c Constify version strings and some structures. 2007-01-21 13:07:17 +00:00
evp_err.c New function EVP_PKEY_asn1_copy(). Use default MD if type param is NULL. 2007-05-15 23:52:03 +00:00
evp_key.c Check EVP_DigestInit_ex() return value in EVP_BytesToKey(). 2006-03-01 21:17:13 +00:00
evp_lib.c Handle NULL parameter in some EVP utility functions. 2007-05-31 12:39:21 +00:00
evp_locl.h EVP_*_cfb1 was broken. 2007-07-08 19:14:02 +00:00
evp_pbe.c Constify version strings and some structures. 2007-01-21 13:07:17 +00:00
evp_pkey.c Complete EVP_PKEY_ASN1_METHOD ENGINE support. 2006-06-05 11:52:46 +00:00
evp_test.c Add SEED encryption algorithm. 2007-04-23 23:48:59 +00:00
evp.h 1. Changes for s_client.c to make it return non-zero exit code in case 2007-10-26 12:06:36 +00:00
evptests.txt Add SEED encryption algorithm. 2007-04-23 23:48:59 +00:00
m_dss1.c Remove link between digests and signature algorithms. 2006-04-19 17:05:59 +00:00
m_dss.c Remove link between digests and signature algorithms. 2006-04-19 17:05:59 +00:00
m_ecdsa.c Remove link between digests and signature algorithms. 2006-04-19 17:05:59 +00:00
m_md2.c make 2005-07-16 12:37:36 +00:00
m_md4.c make 2005-07-16 12:37:36 +00:00
m_md5.c make 2005-07-16 12:37:36 +00:00
m_mdc2.c size_t-fication of message digest APIs. We should size_t-fy more APIs... 2004-05-15 11:29:55 +00:00
m_null.c size_t-fication of message digest APIs. We should size_t-fy more APIs... 2004-05-15 11:29:55 +00:00
m_ripemd.c make 2005-07-16 12:37:36 +00:00
m_sha1.c add support for ecdsa-with-sha256 etc. 2006-12-20 08:58:54 +00:00
m_sha.c make 2005-07-16 12:37:36 +00:00
m_sigver.c New function EVP_PKEY_asn1_copy(). Use default MD if type param is NULL. 2007-05-15 23:52:03 +00:00
m_wp.c Add Whirlpool to EVP. 2005-11-30 20:57:23 +00:00
Makefile Add SEED encryption algorithm. 2007-04-23 23:48:59 +00:00
names.c Fix various warnings. 2006-11-08 09:45:12 +00:00
openbsd_hw.c This changes EVP's cipher and digest code to hook via the ENGINE support. 2001-09-25 21:37:02 +00:00
p5_crpt2.c Code tidy. 2006-05-18 18:06:03 +00:00
p5_crpt.c Change builting PBE to use static table. Add entries for HMAC and MD5, GOST. 2006-05-15 17:34:36 +00:00
p_dec.c Initial DSA EVP_PKEY_METHOD. Fixup some error codes. 2006-04-12 10:20:47 +00:00
p_enc.c Initial DSA EVP_PKEY_METHOD. Fixup some error codes. 2006-04-12 10:20:47 +00:00
p_lib.c Typos(?) in HEAD/crypto/evp/p_lib.c. 2006-07-04 20:27:44 +00:00
p_open.c Initial functions for main EVP_PKEY_METHOD operations. 2006-04-07 16:42:09 +00:00
p_seal.c Initial functions for main EVP_PKEY_METHOD operations. 2006-04-07 16:42:09 +00:00
p_sign.c Fix warnings. 2006-05-24 13:29:32 +00:00
p_verify.c Remove link between digests and signature algorithms. 2006-04-19 17:05:59 +00:00
pmeth_fn.c 1. Changes for s_client.c to make it return non-zero exit code in case 2007-10-26 12:06:36 +00:00
pmeth_gn.c New -mac and -macopt options to dgst utility. Reimplement -hmac option in 2007-04-11 17:20:40 +00:00
pmeth_lib.c 1. Changes for s_client.c to make it return non-zero exit code in case 2007-10-26 12:06:36 +00:00