sync better with 0.9.6a.
This commit is contained in:
parent
477b193d09
commit
974c617dfe
|
@ -1,567 +0,0 @@
|
|||
/* crypto/crypto.c */
|
||||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
* by Eric Young (eay@cryptsoft.com).
|
||||
* The implementation was written so as to conform with Netscapes SSL.
|
||||
*
|
||||
* This library is free for commercial and non-commercial use as long as
|
||||
* the following conditions are aheared to. The following conditions
|
||||
* apply to all code found in this distribution, be it the RC4, RSA,
|
||||
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
|
||||
* included with this distribution is covered by the same copyright terms
|
||||
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
* Copyright remains Eric Young's, and as such any Copyright notices in
|
||||
* the code are not to be removed.
|
||||
* If this package is used in a product, Eric Young should be given attribution
|
||||
* as the author of the parts of the library used.
|
||||
* This can be in the form of a textual message at program startup or
|
||||
* in documentation (online or textual) provided with the package.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* "This product includes cryptographic software written by
|
||||
* Eric Young (eay@cryptsoft.com)"
|
||||
* The word 'cryptographic' can be left out if the rouines from the library
|
||||
* being used are not cryptographic related :-).
|
||||
* 4. If you include any Windows specific code (or a derivative thereof) from
|
||||
* the apps directory (application code) you must include an acknowledgement:
|
||||
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* The licence and distribution terms for any publically available version or
|
||||
* derivative of this code cannot be changed. i.e. this code cannot simply be
|
||||
* copied and put under another distribution licence
|
||||
* [including the GNU Public Licence.]
|
||||
*/
|
||||
|
||||
/* If you are happy to use the assmbler version of bn/bn_mulw.c, define
|
||||
* BN_ASM */
|
||||
#ifndef BN_ASM
|
||||
#undef BN_ASM
|
||||
#define X86_ASM
|
||||
#endif
|
||||
|
||||
#ifndef DES_ASM
|
||||
#undef DES_ASM
|
||||
#endif
|
||||
|
||||
#ifndef BF_ASM
|
||||
#undef BF_ASM
|
||||
#endif
|
||||
|
||||
/* The following defines are only to break the compiles into chunks.
|
||||
* If you wish to not compile some sections, use the 'NO_XXX' macros
|
||||
*/
|
||||
#ifndef CRYPTO_SUBSET
|
||||
/* Define all subset symbols. */
|
||||
#define CRYPTO_LIB_SUBSET
|
||||
#define CRYPTO_ASN1_SUBSET
|
||||
#define CRYPTO_BN_SUBSET
|
||||
#define CRYPTO_BUFFER_SUBSET
|
||||
#define CRYPTO_BIO_SUBSET
|
||||
#define CRYPTO_CONF_SUBSET
|
||||
#define CRYPTO_DES_SUBSET
|
||||
#define CRYPTO_DH_SUBSET
|
||||
#define CRYPTO_DSA_SUBSET
|
||||
#define CRYPTO_ERROR_SUBSET
|
||||
#define CRYPTO_EVP_SUBSET
|
||||
#define CRYPTO_IDEA_SUBSET
|
||||
#define CRYPTO_LHASH_SUBSET
|
||||
#define CRYPTO_MD_SUBSET
|
||||
#define CRYPTO_MDC2_SUBSET
|
||||
#define CRYPTO_METH_SUBSET
|
||||
#define CRYPTO_OBJECTS_SUBSET
|
||||
#define CRYPTO_PEM_SUBSET
|
||||
#define CRYPTO_RAND_SUBSET
|
||||
#define CRYPTO_RC_SUBSET
|
||||
#define CRYPTO_BLOWFISH_SUBSET
|
||||
#define CRYPTO_CAST_SUBSET
|
||||
#define CRYPTO_RSA_SUBSET
|
||||
#define CRYPTO_SHA_SUBSET
|
||||
#define CRYPTO_HMAC_SUBSET
|
||||
#define CRYPTO_SHA1_SUBSET
|
||||
#define CRYPTO_STACK_SUBSET
|
||||
#define CRYPTO_TXT_DB_SUBSET
|
||||
#define CRYPTO_X509_SUBSET
|
||||
#define CRYPTO_PKCS7_SUBSET
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#define USE_SOCKETS
|
||||
#include "../e_os.h"
|
||||
|
||||
#include <openssl/buffer.h>
|
||||
#include <openssl/bio.h>
|
||||
#include <openssl/stack.h>
|
||||
#include <openssl/lhash.h>
|
||||
|
||||
#include <openssl/err.h>
|
||||
|
||||
#include <openssl/bn.h>
|
||||
#include <openssl/evp.h>
|
||||
|
||||
#include <openssl/rand.h>
|
||||
#include <openssl/conf.h>
|
||||
#include <openssl/txt_db.h>
|
||||
|
||||
#include <openssl/x509.h>
|
||||
#include <openssl/pkcs7.h>
|
||||
#include <openssl/pem.h>
|
||||
#include <openssl/asn1.h>
|
||||
#include <openssl/objects.h>
|
||||
|
||||
#ifdef CRYPTO_LIB_SUBSET
|
||||
#include "cryptlib.c"
|
||||
#include "mem.c"
|
||||
#include "cversion.c"
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_ASN1_SUBSET
|
||||
#include "asn1/a_meth.c"
|
||||
#include "asn1/a_bitstr.c"
|
||||
#include "asn1/a_d2i_fp.c"
|
||||
#include "asn1/a_dup.c"
|
||||
#include "asn1/a_hdr.c"
|
||||
#include "asn1/a_i2d_fp.c"
|
||||
#include "asn1/a_int.c"
|
||||
#include "asn1/a_bool.c"
|
||||
#include "asn1/a_bytes.c"
|
||||
#include "asn1/a_object.c"
|
||||
#include "asn1/a_octet.c"
|
||||
#include "asn1/a_print.c"
|
||||
#include "asn1/a_set.c"
|
||||
#include "asn1/a_sign.c"
|
||||
#include "asn1/a_type.c"
|
||||
#include "asn1/a_utctm.c"
|
||||
#include "asn1/a_verify.c"
|
||||
#include "asn1/a_digest.c"
|
||||
#include "asn1/asn1_err.c"
|
||||
#include "asn1/asn1_lib.c"
|
||||
#include "asn1/asn1_par.c"
|
||||
#ifndef NO_DH
|
||||
#include "asn1/d2i_dhp.c"
|
||||
#include "asn1/i2d_dhp.c"
|
||||
#endif
|
||||
#ifndef NO_DSA
|
||||
#include "asn1/d2i_dsap.c"
|
||||
#include "asn1/i2d_dsap.c"
|
||||
#include "asn1/d2i_s_pr.c"
|
||||
#include "asn1/i2d_s_pr.c"
|
||||
#include "asn1/d2i_s_pu.c"
|
||||
#include "asn1/i2d_s_pu.c"
|
||||
#endif
|
||||
#ifndef NO_RSA
|
||||
#include "asn1/d2i_r_pr.c"
|
||||
#include "asn1/i2d_r_pr.c"
|
||||
#include "asn1/d2i_r_pu.c"
|
||||
#include "asn1/i2d_r_pu.c"
|
||||
#include "asn1/n_pkey.c"
|
||||
#endif
|
||||
#include "asn1/d2i_pr.c"
|
||||
#include "asn1/d2i_pu.c"
|
||||
#include "asn1/i2d_pr.c"
|
||||
#include "asn1/i2d_pu.c"
|
||||
#include "asn1/f_int.c"
|
||||
#include "asn1/f_string.c"
|
||||
#include "asn1/p7_dgst.c"
|
||||
#include "asn1/p7_enc.c"
|
||||
#include "asn1/p7_enc_c.c"
|
||||
#include "asn1/p7_evp.c"
|
||||
#include "asn1/p7_i_s.c"
|
||||
#include "asn1/p7_lib.c"
|
||||
#include "asn1/p7_recip.c"
|
||||
#include "asn1/p7_s_e.c"
|
||||
#include "asn1/p7_signd.c"
|
||||
#include "asn1/p7_signi.c"
|
||||
#include "asn1/t_pkey.c"
|
||||
#include "asn1/t_req.c"
|
||||
#include "asn1/t_x509.c"
|
||||
#include "asn1/x_algor.c"
|
||||
#include "asn1/x_attrib.c"
|
||||
#include "asn1/x_exten.c"
|
||||
#include "asn1/x_cinf.c"
|
||||
#include "asn1/x_crl.c"
|
||||
#include "asn1/x_info.c"
|
||||
#include "asn1/x_name.c"
|
||||
#include "asn1/x_pkey.c"
|
||||
#include "asn1/x_pubkey.c"
|
||||
#include "asn1/x_req.c"
|
||||
#include "asn1/x_sig.c"
|
||||
#include "asn1/x_spki.c"
|
||||
#include "asn1/x_val.c"
|
||||
#include "asn1/x_x509.c"
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_BN_SUBSET
|
||||
#include "bn/bn_add.c"
|
||||
#include "bn/bn_div.c"
|
||||
#include "bn/bn_exp.c"
|
||||
#include "bn/bn_mont.c"
|
||||
#include "bn/bn_recp.c"
|
||||
#include "bn/bn_gcd.c"
|
||||
#include "bn/bn_lib.c"
|
||||
#include "bn/bn_mod.c"
|
||||
#include "bn/bn_mul.c"
|
||||
#ifndef BN_ASM
|
||||
#include "bn/bn_mulw.c"
|
||||
#endif
|
||||
#include "bn/bn_prime.c"
|
||||
#include "bn/bn_rand.c"
|
||||
#include "bn/bn_shift.c"
|
||||
#include "bn/bn_sqr.c"
|
||||
#include "bn/bn_sub.c"
|
||||
#include "bn/bn_word.c"
|
||||
#include "bn/bn_print.c"
|
||||
#include "bn/bn_err.c"
|
||||
#include "bn/bn_blind.c"
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_BIO_SUBSET
|
||||
#include "bio/bf_buff.c"
|
||||
#include "bio/bf_null.c"
|
||||
#include "bio/bf_nbio.c"
|
||||
#include "bio/bio_cb.c"
|
||||
#include "bio/bio_lib.c"
|
||||
#include "bio/bss_fd.c"
|
||||
#include "bio/bss_file.c"
|
||||
#include "bio/bss_mem.c"
|
||||
#include "bio/bss_null.c"
|
||||
#ifdef VMS
|
||||
#include "bio/bss_rtcp.c"
|
||||
#endif
|
||||
#include "bio/bss_sock.c"
|
||||
#include "bio/bss_conn.c"
|
||||
#include "bio/bss_acpt.c"
|
||||
#include "bio/b_sock.c"
|
||||
#include "bio/b_print.c"
|
||||
#include "bio/b_dump.c"
|
||||
#include "bio/bio_err.c"
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_BUFFER_SUBSET
|
||||
#include "buffer/buf_err.c"
|
||||
#include "buffer/buffer.c"
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_CONF_SUBSET
|
||||
#include "conf/conf.c"
|
||||
#include "conf/conf_err.c"
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_DES_SUBSET
|
||||
#include "des/read_pwd.c"
|
||||
#ifndef NO_DES
|
||||
#ifndef DES_ASM
|
||||
#include "des/fcrypt_b.c"
|
||||
#include "des/des_enc.c"
|
||||
#endif
|
||||
#include "des/cbc_cksm.c"
|
||||
#include "des/xcbc_enc.c"
|
||||
#include "des/cbc_enc.c"
|
||||
#include "des/cfb64ede.c"
|
||||
#include "des/cfb64enc.c"
|
||||
#include "des/cfb_enc.c"
|
||||
#include "des/ecb3_enc.c"
|
||||
#include "des/ecb_enc.c"
|
||||
#include "des/enc_read.c"
|
||||
#include "des/enc_writ.c"
|
||||
#include "des/fcrypt.c"
|
||||
#include "des/ofb64ede.c"
|
||||
#include "des/ofb64enc.c"
|
||||
#include "des/ofb_enc.c"
|
||||
#include "des/pcbc_enc.c"
|
||||
#include "des/qud_cksm.c"
|
||||
#include "des/rand_key.c"
|
||||
#include "des/read2pwd.c"
|
||||
#include "des/rpc_enc.c"
|
||||
#include "des/set_key.c"
|
||||
#include "des/str2key.c"
|
||||
#include "des/supp.c"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_DH_SUBSET
|
||||
#ifndef NO_DH
|
||||
#include "dh/dh_check.c"
|
||||
#include "dh/dh_err.c"
|
||||
#include "dh/dh_gen.c"
|
||||
#include "dh/dh_key.c"
|
||||
#include "dh/dh_lib.c"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_DSA_SUBSET
|
||||
#ifndef NO_DSA
|
||||
#include "dsa/dsa_gen.c"
|
||||
#include "dsa/dsa_key.c"
|
||||
#include "dsa/dsa_lib.c"
|
||||
#include "dsa/dsa_sign.c"
|
||||
#include "dsa/dsa_vrf.c"
|
||||
#include "dsa/dsa_err.c"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_ERROR_SUBSET
|
||||
#include "err/err.c"
|
||||
#include "err/err_all.c"
|
||||
#include "err/err_prn.c"
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_EVP_SUBSET
|
||||
#include "evp/bio_md.c"
|
||||
#include "evp/bio_b64.c"
|
||||
#include "evp/bio_enc.c"
|
||||
#include "evp/c_all.c"
|
||||
#include "evp/digest.c"
|
||||
#ifndef NO_DES
|
||||
#include "evp/e_cbc_3d.c"
|
||||
#include "evp/e_cfb_3d.c"
|
||||
#include "evp/e_ecb_3d.c"
|
||||
#include "evp/e_ofb_3d.c"
|
||||
#include "evp/e_cbc_d.c"
|
||||
#include "evp/e_cfb_d.c"
|
||||
#include "evp/e_xcbc_d.c"
|
||||
#include "evp/e_ecb_d.c"
|
||||
#include "evp/e_ofb_d.c"
|
||||
#endif
|
||||
#ifndef NO_IDEA
|
||||
#include "evp/e_cbc_i.c"
|
||||
#include "evp/e_cfb_i.c"
|
||||
#include "evp/e_ecb_i.c"
|
||||
#include "evp/e_ofb_i.c"
|
||||
#endif
|
||||
#ifndef NO_RC2
|
||||
#include "evp/e_cbc_r2.c"
|
||||
#include "evp/e_cfb_r2.c"
|
||||
#include "evp/e_ecb_r2.c"
|
||||
#include "evp/e_ofb_r2.c"
|
||||
#endif
|
||||
#ifndef NO_BF
|
||||
#include "evp/e_cbc_bf.c"
|
||||
#include "evp/e_cfb_bf.c"
|
||||
#include "evp/e_ecb_bf.c"
|
||||
#include "evp/e_ofb_bf.c"
|
||||
#endif
|
||||
#ifndef NO_CAST
|
||||
#include "evp/e_cbc_c.c"
|
||||
#include "evp/e_cfb_c.c"
|
||||
#include "evp/e_ecb_c.c"
|
||||
#include "evp/e_ofb_c.c"
|
||||
#endif
|
||||
#ifndef NO_RC4
|
||||
#include "evp/e_rc4.c"
|
||||
#endif
|
||||
#include "evp/names.c"
|
||||
#include "evp/e_null.c"
|
||||
#include "evp/encode.c"
|
||||
#include "evp/evp_enc.c"
|
||||
#include "evp/evp_err.c"
|
||||
#include "evp/evp_key.c"
|
||||
#include "evp/m_null.c"
|
||||
#include "evp/p_lib.c"
|
||||
#ifndef NO_RSA
|
||||
#include "evp/p_open.c"
|
||||
#include "evp/p_seal.c"
|
||||
#endif
|
||||
#include "evp/p_sign.c"
|
||||
#include "evp/p_verify.c"
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_IDEA_SUBSET
|
||||
#ifndef NO_IDEA
|
||||
#include "idea/i_cbc.c"
|
||||
#include "idea/i_cfb64.c"
|
||||
#include "idea/i_ecb.c"
|
||||
#include "idea/i_ofb64.c"
|
||||
#include "idea/i_skey.c"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_BLOWFISH_SUBSET
|
||||
#ifndef NO_BF
|
||||
#include "bf/bf_cfb64.c"
|
||||
#include "bf/bf_ecb.c"
|
||||
#ifndef BF_ASM
|
||||
#include "bf/bf_enc.c"
|
||||
#endif
|
||||
#include "bf/bf_ofb64.c"
|
||||
#include "bf/bf_skey.c"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_CAST_SUBSET
|
||||
#ifndef NO_CAST
|
||||
#include "cast/c_cfb64.c"
|
||||
#include "cast/c_ecb.c"
|
||||
#ifndef CAST_ASM
|
||||
#include "cast/c_enc.c"
|
||||
#endif
|
||||
#include "cast/c_ofb64.c"
|
||||
#include "cast/c_skey.c"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_LHASH_SUBSET
|
||||
#include "lhash/lh_stats.c"
|
||||
#include "lhash/lhash.c"
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_MD_SUBSET
|
||||
#ifndef NO_MD2
|
||||
#include "md2/md2_dgst.c"
|
||||
#include "md2/md2_one.c"
|
||||
#include "evp/m_md2.c"
|
||||
#endif
|
||||
#ifndef NO_MD5
|
||||
#include "md5/md5_dgst.c"
|
||||
#include "md5/md5_one.c"
|
||||
#include "evp/m_md5.c"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_MDC2_SUBSET
|
||||
#ifndef NO_MDC2
|
||||
#include "mdc2/mdc2dgst.c"
|
||||
#include "mdc2/mdc2_one.c"
|
||||
#include "evp/m_mdc2.c"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_OBJECTS_SUBSET
|
||||
#include "objects/obj_dat.c"
|
||||
#include "objects/obj_err.c"
|
||||
#include "objects/obj_lib.c"
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_PEM_SUBSET
|
||||
#include "pem/pem_err.c"
|
||||
#include "pem/pem_info.c"
|
||||
#include "pem/pem_lib.c"
|
||||
#include "pem/pem_all.c"
|
||||
#ifndef NO_RSA
|
||||
#include "pem/pem_seal.c"
|
||||
#include "pem/pem_sign.c"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_RAND_SUBSET
|
||||
#include "rand/md_rand.c"
|
||||
#include "rand/randfile.c"
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_RC_SUBSET
|
||||
#ifndef NO_RC2
|
||||
#include "rc2/rc2_cbc.c"
|
||||
#include "rc2/rc2_ecb.c"
|
||||
#include "rc2/rc2_skey.c"
|
||||
#include "rc2/rc2cfb64.c"
|
||||
#include "rc2/rc2ofb64.c"
|
||||
#endif
|
||||
#ifndef NO_RC4
|
||||
#include "rc4/rc4_skey.c"
|
||||
#ifndef RC4_ASM
|
||||
#include "rc4/rc4_enc.c"
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_HMAC_SUBSET
|
||||
#include "hmac/hmac.c"
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_RSA_SUBSET
|
||||
#ifndef NO_RSA
|
||||
#include "rsa/rsa_eay.c"
|
||||
#include "rsa/rsa_err.c"
|
||||
#include "rsa/rsa_gen.c"
|
||||
#include "rsa/rsa_lib.c"
|
||||
#include "rsa/rsa_sign.c"
|
||||
#include "rsa/rsa_saos.c"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef NO_SHA
|
||||
#ifdef CRYPTO_SHA1_SUBSET
|
||||
#ifndef NO_SHA1
|
||||
#include "sha/sha1_one.c"
|
||||
#include "sha/sha1dgst.c"
|
||||
#include "evp/m_dss1.c"
|
||||
#include "evp/m_sha1.c"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_SHA_SUBSET
|
||||
#ifndef NO_SHA0
|
||||
#include "evp/m_dss.c"
|
||||
#include "sha/sha_dgst.c"
|
||||
#include "sha/sha_one.c"
|
||||
#include "evp/m_sha.c"
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_STACK_SUBSET
|
||||
#include "stack/stack.c"
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_TXT_DB_SUBSET
|
||||
#include "txt_db/txt_db.c"
|
||||
#endif
|
||||
|
||||
#ifdef CRYPTO_X509_SUBSET
|
||||
#include "x509/x509_cmp.c"
|
||||
#include "x509/x509_d2.c"
|
||||
#include "x509/x509_def.c"
|
||||
#include "x509/x509_err.c"
|
||||
#include "x509/x509_ext.c"
|
||||
#include "x509/x509_lu.c"
|
||||
#include "x509/x509_obj.c"
|
||||
#include "x509/x509_r2x.c"
|
||||
#include "x509/x509_req.c"
|
||||
#include "x509/x509_set.c"
|
||||
#include "x509/x509_v3.c"
|
||||
#include "x509/x509_vfy.c"
|
||||
#include "x509/x509name.c"
|
||||
#include "x509/x509pack.c"
|
||||
#include "x509/x509rset.c"
|
||||
#include "x509/x509type.c"
|
||||
#include "x509/x_all.c"
|
||||
#include "x509/x509_txt.c"
|
||||
#include "x509/by_dir.c"
|
||||
#include "x509/by_file.c"
|
||||
#include "x509/v3_net.c"
|
||||
#include "x509/v3_x509.c"
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef CRYPTO_PKCS7_SUBSET /* I have an explicit removal of 7 lines */
|
||||
#include "pkcs7/pk7_lib.c"
|
||||
#include "pkcs7/pkcs7err.c"
|
||||
#include "pkcs7/pk7_doit.c"
|
||||
#endif /* CRYPTO_PKCS7_SUBSET */
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
crypt <= crypt(buf,salt)
|
||||
key <= set_odd_parity(key)
|
||||
int <= is_weak_key(key)
|
||||
keysched<= set_key(key)
|
||||
key <= ecb_encrypt(string8,ks,enc)
|
||||
key <= ecb3_encrypt(input,ks1,ks2,enc)
|
||||
string <= cbc_encrypt(input,ks,ivec,enc) => ivec
|
||||
string <= cbc3_encrypt(input,ks1,ks2,ivec1,ivec2,enc) => ivec1&ivec2
|
||||
ck1,ck2 <= cbc_cksum(input,ks,ivec) => ivec
|
||||
string <= pcbc_encrypt(input,ks,ivec,enc) => ivec
|
||||
string <= ofb_encrypt(input,numbits,ks,ivec) => ivec
|
||||
string <= cfb_encrypt(input,numbits,ks,ivec,enc) => ivec
|
||||
key <= random_key()
|
||||
key <= string_to_key(string)
|
||||
key1,key2<= string_to_2keys(string)
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
Modes of DES
|
||||
Quite a bit of the following information has been taken from
|
||||
AS 2805.5.2
|
||||
Australian Standard
|
||||
Electronic funds transfer - Requirements for interfaces,
|
||||
Part 5.2: Modes of operation for an n-bit block cipher algorithm
|
||||
Appendix A
|
||||
|
||||
There are several different modes in which DES can be used, they are
|
||||
as follows.
|
||||
|
||||
Electronic Codebook Mode (ECB) (des_ecb_encrypt())
|
||||
- 64 bits are enciphered at a time.
|
||||
- The order of the blocks can be rearranged without detection.
|
||||
- The same plaintext block always produces the same ciphertext block
|
||||
(for the same key) making it vulnerable to a 'dictionary attack'.
|
||||
- An error will only affect one ciphertext block.
|
||||
|
||||
Cipher Block Chaining Mode (CBC) (des_cbc_encrypt())
|
||||
- a multiple of 64 bits are enciphered at a time.
|
||||
- The CBC mode produces the same ciphertext whenever the same
|
||||
plaintext is encrypted using the same key and starting variable.
|
||||
- The chaining operation makes the ciphertext blocks dependent on the
|
||||
current and all preceding plaintext blocks and therefore blocks can not
|
||||
be rearranged.
|
||||
- The use of different starting variables prevents the same plaintext
|
||||
enciphering to the same ciphertext.
|
||||
- An error will affect the current and the following ciphertext blocks.
|
||||
|
||||
Cipher Feedback Mode (CFB) (des_cfb_encrypt())
|
||||
- a number of bits (j) <= 64 are enciphered at a time.
|
||||
- The CFB mode produces the same ciphertext whenever the same
|
||||
plaintext is encrypted using the same key and starting variable.
|
||||
- The chaining operation makes the ciphertext variables dependent on the
|
||||
current and all preceding variables and therefore j-bit variables are
|
||||
chained together and con not be rearranged.
|
||||
- The use of different starting variables prevents the same plaintext
|
||||
enciphering to the same ciphertext.
|
||||
- The strength of the CFB mode depends on the size of k (maximal if
|
||||
j == k). In my implementation this is always the case.
|
||||
- Selection of a small value for j will require more cycles through
|
||||
the encipherment algorithm per unit of plaintext and thus cause
|
||||
greater processing overheads.
|
||||
- Only multiples of j bits can be enciphered.
|
||||
- An error will affect the current and the following ciphertext variables.
|
||||
|
||||
Output Feedback Mode (OFB) (des_ofb_encrypt())
|
||||
- a number of bits (j) <= 64 are enciphered at a time.
|
||||
- The OFB mode produces the same ciphertext whenever the same
|
||||
plaintext enciphered using the same key and starting variable. More
|
||||
over, in the OFB mode the same key stream is produced when the same
|
||||
key and start variable are used. Consequently, for security reasons
|
||||
a specific start variable should be used only once for a given key.
|
||||
- The absence of chaining makes the OFB more vulnerable to specific attacks.
|
||||
- The use of different start variables values prevents the same
|
||||
plaintext enciphering to the same ciphertext, by producing different
|
||||
key streams.
|
||||
- Selection of a small value for j will require more cycles through
|
||||
the encipherment algorithm per unit of plaintext and thus cause
|
||||
greater processing overheads.
|
||||
- Only multiples of j bits can be enciphered.
|
||||
- OFB mode of operation does not extend ciphertext errors in the
|
||||
resultant plaintext output. Every bit error in the ciphertext causes
|
||||
only one bit to be in error in the deciphered plaintext.
|
||||
- OFB mode is not self-synchronising. If the two operation of
|
||||
encipherment and decipherment get out of synchronism, the system needs
|
||||
to be re-initialised.
|
||||
- Each re-initialisation should use a value of the start variable
|
||||
different from the start variable values used before with the same
|
||||
key. The reason for this is that an identical bit stream would be
|
||||
produced each time from the same parameters. This would be
|
||||
susceptible to a 'known plaintext' attack.
|
||||
|
||||
Triple ECB Mode (des_ecb3_encrypt())
|
||||
- Encrypt with key1, decrypt with key2 and encrypt with key1 again.
|
||||
- As for ECB encryption but increases the effective key length to 112 bits.
|
||||
- If both keys are the same it is equivalent to encrypting once with
|
||||
just one key.
|
||||
|
||||
Triple CBC Mode (des_3cbc_encrypt())
|
||||
- Encrypt with key1, decrypt with key2 and encrypt with key1 again.
|
||||
- As for CBC encryption but increases the effective key length to 112 bits.
|
||||
- If both keys are the same it is equivalent to encrypting once with
|
||||
just one key.
|
|
@ -1,251 +0,0 @@
|
|||
# You must select the correct terminal control system to be used to
|
||||
# turn character echo off when reading passwords. There a 5 systems
|
||||
# SGTTY - the old BSD system
|
||||
# TERMIO - most system V boxes
|
||||
# TERMIOS - SGI (ala IRIX).
|
||||
# VMS - the DEC operating system
|
||||
# MSDOS - we all know what it is :-)
|
||||
# read_pwd.c makes a reasonable guess at what is correct.
|
||||
|
||||
# Targets
|
||||
# make - twidle the options yourself :-)
|
||||
# make cc - standard cc options
|
||||
# make gcc - standard gcc options
|
||||
# make x86-elf - linux-elf etc
|
||||
# make x86-out - linux-a.out, FreeBSD etc
|
||||
# make x86-solaris
|
||||
# make x86-bdsi
|
||||
|
||||
# If you are on a DEC Alpha, edit des.h and change the DES_LONG
|
||||
# define to 'unsigned int'. I have seen this give a %20 speedup.
|
||||
|
||||
OPTS0= -DRAND -DTERMIO #-DNOCONST
|
||||
|
||||
# Version 1.94 has changed the strings_to_key function so that it is
|
||||
# now compatible with MITs when the string is longer than 8 characters.
|
||||
# If you wish to keep the old version, uncomment the following line.
|
||||
# This will affect the -E/-D options on des(1).
|
||||
#OPTS1= -DOLD_STR_TO_KEY
|
||||
|
||||
# There are 4 possible performance options
|
||||
# -DDES_PTR
|
||||
# -DDES_RISC1
|
||||
# -DDES_RISC2 (only one of DES_RISC1 and DES_RISC2)
|
||||
# -DDES_UNROLL
|
||||
# after the initial build, run 'des_opts' to see which options are best
|
||||
# for your platform. There are some listed in options.txt
|
||||
#OPTS2= -DDES_PTR
|
||||
#OPTS3= -DDES_RISC1 # or DES_RISC2
|
||||
#OPTS4= -DDES_UNROLL
|
||||
|
||||
OPTS= $(OPTS0) $(OPTS1) $(OPTS2) $(OPTS3) $(OPTS4)
|
||||
|
||||
MAKE=make -f Makefile
|
||||
#CC=cc
|
||||
#CFLAG= -O
|
||||
|
||||
CC=gcc
|
||||
#CFLAG= -O4 -funroll-loops -fomit-frame-pointer
|
||||
CFLAG= -O3 -fomit-frame-pointer
|
||||
|
||||
CFLAGS=$(OPTS) $(CFLAG)
|
||||
CPP=$(CC) -E
|
||||
AS=as
|
||||
RANLIB=ranlib
|
||||
|
||||
# Assember version of des_encrypt*().
|
||||
DES_ENC=des_enc.o fcrypt_b.o # normal C version
|
||||
#DES_ENC=asm/dx86-elf.o asm/yx86-elf.o # elf format x86
|
||||
#DES_ENC=asm/dx86-out.o asm/yx86-out.o # a.out format x86
|
||||
#DES_ENC=asm/dx86-sol.o asm/yx86-sol.o # solaris format x86
|
||||
#DES_ENC=asm/dx86bsdi.o asm/yx86basi.o # bsdi format x86
|
||||
|
||||
LIBDIR=/usr/local/lib
|
||||
BINDIR=/usr/local/bin
|
||||
INCDIR=/usr/local/include
|
||||
MANDIR=/usr/local/man
|
||||
MAN1=1
|
||||
MAN3=3
|
||||
SHELL=/bin/sh
|
||||
OBJ_LIT=cbc_enc.o ecb_enc.o $(DES_ENC) fcrypt.o set_key.o
|
||||
OBJ_FULL=cbc_cksm.o $(OBJ_LIT) pcbc_enc.o \
|
||||
xcbc_enc.o qud_cksm.o cbc3_enc.o \
|
||||
cfb64ede.o cfb64enc.o cfb_enc.o ecb3_enc.o \
|
||||
enc_read.o enc_writ.o ofb64ede.o ofb64enc.o ofb_enc.o \
|
||||
rand_key.o read_pwd.o read2pwd.o rpc_enc.o str2key.o supp.o
|
||||
|
||||
GENERAL_LIT=COPYRIGHT INSTALL README VERSION Makefile des_crypt.man \
|
||||
des.doc options.txt asm
|
||||
GENERAL_FULL=$(GENERAL_LIT) FILES Imakefile times vms.com KERBEROS MODES.DES \
|
||||
des.man DES.pm DES.pod DES.xs Makefile.PL dess.cpp des3s.cpp \
|
||||
Makefile.uni typemap t Makefile.ssl makefile.bc Makefile.lit \
|
||||
des.org des_locl.org
|
||||
TESTING_LIT= destest speed des_opts
|
||||
TESTING_FULL= rpw des $(TESTING_LIT)
|
||||
TESTING_SRC_LIT=destest.c speed.c des_opts.c
|
||||
TESTING_SRC_FULL=rpw.c des.c $(TESTING_SRC_LIT)
|
||||
HEADERS_LIT=des_ver.h des.h des_locl.h podd.h sk.h spr.h
|
||||
HEADERS_FULL= $(HEADERS_LIT) rpc_des.h
|
||||
LIBDES_LIT=cbc_enc.c ecb_enc.c fcrypt.c set_key.c des_enc.c fcrypt_b.c
|
||||
LIBDES_FULL= cbc_cksm.c pcbc_enc.c qud_cksm.c cbc3_enc.c \
|
||||
cfb64ede.c cfb64enc.c cfb_enc.c ecb3_enc.c \
|
||||
enc_read.c enc_writ.c ofb64ede.c ofb64enc.c ofb_enc.c \
|
||||
rand_key.c rpc_enc.c str2key.c supp.c \
|
||||
xcbc_enc.c $(LIBDES_LIT) read_pwd.c read2pwd.c
|
||||
|
||||
PERL= des.pl testdes.pl doIP doPC1 doPC2 PC1 PC2 shifts.pl
|
||||
|
||||
OBJ= $(OBJ_FULL)
|
||||
GENERAL=$(GENERAL_FULL)
|
||||
TESTING=$(TESTING_FULL)
|
||||
TESTING_SRC=$(TESTING_SRC_FULL)
|
||||
HEADERS=$(HEADERS_FULL)
|
||||
LIBDES= $(LIBDES_FULL)
|
||||
|
||||
ALL= $(GENERAL) $(TESTING_SRC) $(LIBDES) $(PERL) $(HEADERS)
|
||||
|
||||
DLIB= libdes.a
|
||||
|
||||
all: $(DLIB) $(TESTING)
|
||||
|
||||
cc:
|
||||
$(MAKE) CC=cc CFLAGS="-O $(OPTS) $(CFLAG)" all
|
||||
|
||||
gcc:
|
||||
$(MAKE) CC=gcc CFLAGS="-O3 -fomit-frame-pointer $(OPTS) $(CFLAG)" all
|
||||
|
||||
x86-elf:
|
||||
$(MAKE) DES_ENC='asm/dx86-elf.o asm/yx86-elf.o' CC=$(CC) CFLAGS="-DELF $(OPTS) $(CFLAG)" all
|
||||
|
||||
x86-out:
|
||||
$(MAKE) DES_ENC='asm/dx86-out.o asm/yx86-out.o' CC=$(CC) CFLAGS="-DOUT $(OPTS) $(CFLAG)" all
|
||||
|
||||
x86-solaris:
|
||||
$(MAKE) DES_ENC='asm/dx86-sol.o asm/yx86-sol.o' CC=$(CC) CFLAGS="-DSOL $(OPTS) $(CFLAG)" all
|
||||
|
||||
x86-bsdi:
|
||||
$(MAKE) DES_ENC='asm/dx86bsdi.o asm/yx86bsdi.o' CC=$(CC) CFLAGS="-DBSDI $(OPTS) $(CFLAG)" all
|
||||
|
||||
# elf
|
||||
asm/dx86-elf.o: asm/dx86unix.cpp
|
||||
$(CPP) -DELF asm/dx86unix.cpp | $(AS) -o asm/dx86-elf.o
|
||||
|
||||
asm/yx86-elf.o: asm/yx86unix.cpp
|
||||
$(CPP) -DELF asm/yx86unix.cpp | $(AS) -o asm/yx86-elf.o
|
||||
|
||||
# solaris
|
||||
asm/dx86-sol.o: asm/dx86unix.cpp
|
||||
$(CC) -E -DSOL asm/dx86unix.cpp | sed 's/^#.*//' > asm/dx86-sol.s
|
||||
as -o asm/dx86-sol.o asm/dx86-sol.s
|
||||
rm -f asm/dx86-sol.s
|
||||
|
||||
asm/yx86-sol.o: asm/yx86unix.cpp
|
||||
$(CC) -E -DSOL asm/yx86unix.cpp | sed 's/^#.*//' > asm/yx86-sol.s
|
||||
as -o asm/yx86-sol.o asm/yx86-sol.s
|
||||
rm -f asm/yx86-sol.s
|
||||
|
||||
# a.out
|
||||
asm/dx86-out.o: asm/dx86unix.cpp
|
||||
$(CPP) -DOUT asm/dx86unix.cpp | $(AS) -o asm/dx86-out.o
|
||||
|
||||
asm/yx86-out.o: asm/yx86unix.cpp
|
||||
$(CPP) -DOUT asm/yx86unix.cpp | $(AS) -o asm/yx86-out.o
|
||||
|
||||
# bsdi
|
||||
asm/dx86bsdi.o: asm/dx86unix.cpp
|
||||
$(CPP) -DBSDI asm/dx86unix.cpp | $(AS) -o asm/dx86bsdi.o
|
||||
|
||||
asm/yx86bsdi.o: asm/yx86unix.cpp
|
||||
$(CPP) -DBSDI asm/yx86unix.cpp | $(AS) -o asm/yx86bsdi.o
|
||||
|
||||
asm/dx86unix.cpp:
|
||||
(cd asm; perl des-586.pl cpp >dx86unix.cpp)
|
||||
|
||||
asm/yx86unix.cpp:
|
||||
(cd asm; perl crypt586.pl cpp >yx86unix.cpp)
|
||||
|
||||
test: all
|
||||
./destest
|
||||
|
||||
$(DLIB): $(OBJ)
|
||||
/bin/rm -f $(DLIB)
|
||||
ar cr $(DLIB) $(OBJ)
|
||||
$(RANLIB) $(DLIB)
|
||||
|
||||
des_opts: des_opts.o $(DLIB)
|
||||
$(CC) $(CFLAGS) -o des_opts des_opts.o $(DLIB)
|
||||
|
||||
destest: destest.o $(DLIB)
|
||||
$(CC) $(CFLAGS) -o destest destest.o $(DLIB)
|
||||
|
||||
rpw: rpw.o $(DLIB)
|
||||
$(CC) $(CFLAGS) -o rpw rpw.o $(DLIB)
|
||||
|
||||
speed: speed.o $(DLIB)
|
||||
$(CC) $(CFLAGS) -o speed speed.o $(DLIB)
|
||||
|
||||
des: des.o $(DLIB)
|
||||
$(CC) $(CFLAGS) -o des des.o $(DLIB)
|
||||
|
||||
tags:
|
||||
ctags $(TESTING_SRC) $(LIBDES)
|
||||
|
||||
tar_lit:
|
||||
/bin/mv Makefile Makefile.tmp
|
||||
/bin/cp Makefile.lit Makefile
|
||||
for i in $(HEADERS_LIT) $(LIBDES_LIT) $(GENERAL_LIT) $(TESTING_SRC_LIT) ;\
|
||||
do \
|
||||
n="$$n des/$$i"; \
|
||||
done; \
|
||||
( cd .. ; tar chf - $$n )| gzip > libdes-l.tgz
|
||||
/bin/rm -f Makefile
|
||||
/bin/mv Makefile.tmp Makefile
|
||||
|
||||
tar:
|
||||
mv Makefile Makefile.tmp
|
||||
/bin/cp Makefile.uni Makefile
|
||||
for i in $(ALL) ;\
|
||||
do \
|
||||
n="$$n des/$$i"; \
|
||||
done; \
|
||||
( cd .. ; tar chf - $$n )| gzip > libdes.tgz
|
||||
/bin/rm -f Makefile
|
||||
/bin/mv Makefile.tmp Makefile
|
||||
|
||||
shar:
|
||||
shar $(ALL) >libdes.shar
|
||||
|
||||
depend:
|
||||
makedepend $(LIBDES) $(TESTING_SRC)
|
||||
|
||||
clean:
|
||||
/bin/rm -f *.o tags core $(TESTING) $(DLIB) .nfs* *.old *.bak asm/*.o
|
||||
|
||||
dclean:
|
||||
sed -e '/^# DO NOT DELETE THIS LINE/ q' Makefile >Makefile.new
|
||||
mv -f Makefile.new Makefile
|
||||
|
||||
# Eric is probably going to choke when he next looks at this --tjh
|
||||
install: des
|
||||
if test $(INSTALLTOP); then \
|
||||
echo SSL style install; \
|
||||
cp $(DLIB) $(INSTALLTOP)/lib; \
|
||||
$(RANLIB) $(DLIB); \
|
||||
chmod 644 $(INSTALLTOP)/lib/$(DLIB); \
|
||||
cp des.h $(INSTALLTOP)/include; \
|
||||
chmod 644 $(INSTALLTOP)/include/des.h; \
|
||||
else \
|
||||
echo Standalone install; \
|
||||
cp $(DLIB) $(LIBDIR)/$(DLIB); \
|
||||
$(RANLIB) $(DLIB); \
|
||||
chmod 644 $(LIBDIR)/$(DLIB); \
|
||||
cp des $(BINDIR)/des; \
|
||||
chmod 711 $(BINDIR)/des; \
|
||||
cp des_crypt.man $(MANDIR)/man$(MAN3)/des_crypt.$(MAN3); \
|
||||
chmod 644 $(MANDIR)/man$(MAN3)/des_crypt.$(MAN3); \
|
||||
cp des.man $(MANDIR)/man$(MAN1)/des.$(MAN1); \
|
||||
chmod 644 $(MANDIR)/man$(MAN1)/des.$(MAN1); \
|
||||
cp des.h $(INCDIR)/des.h; \
|
||||
chmod 644 $(INCDIR)/des.h; \
|
||||
fi
|
||||
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
|
@ -1,90 +0,0 @@
|
|||
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||
* All rights reserved.
|
||||
*
|
||||
* This package is an SSL implementation written
|
||||
* by Eric Young (eay@cryptsoft.com).
|
||||
* The implementation was written so as to conform with Netscapes SSL.
|
||||
*
|
||||
* This library is free for commercial and non-commercial use as long as
|
||||
* the following conditions are aheared to. The following conditions
|
||||
* apply to all code found in this distribution, be it the RC4, RSA,
|
||||
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
|
||||
* included with this distribution is covered by the same copyright terms
|
||||
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
|
||||
*
|
||||
* Copyright remains Eric Young's, and as such any Copyright notices in
|
||||
* the code are not to be removed.
|
||||
* If this package is used in a product, Eric Young should be given attribution
|
||||
* as the author of the parts of the library used.
|
||||
* This can be in the form of a textual message at program startup or
|
||||
* in documentation (online or textual) provided with the package.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* "This product includes cryptographic software written by
|
||||
* Eric Young (eay@cryptsoft.com)"
|
||||
* The word 'cryptographic' can be left out if the rouines from the library
|
||||
* being used are not cryptographic related :-).
|
||||
* 4. If you include any Windows specific code (or a derivative thereof) from
|
||||
* the apps directory (application code) you must include an acknowledgement:
|
||||
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* The licence and distribution terms for any publically available version or
|
||||
* derivative of this code cannot be changed. i.e. this code cannot simply be
|
||||
* copied and put under another distribution licence
|
||||
* [including the GNU Public Licence.]
|
||||
*/
|
||||
|
||||
SV *new_ref(char *type, char *obj, int mort)
|
||||
{
|
||||
SV *ret;
|
||||
|
||||
if (mort)
|
||||
ret=sv_newmortal();
|
||||
else
|
||||
ret=newSViv(0);
|
||||
sv_setref_pv(ret,type,(void *)obj);
|
||||
return(ret);
|
||||
}
|
||||
|
||||
int ex_new(char *obj, SV *data, CRYPTO_EX_DATA *ad, int idx, long argl,
|
||||
char *argp)
|
||||
{
|
||||
SV *sv;
|
||||
|
||||
fprintf(stderr,"ex_new idx=%d %08X %s\n",idx,obj,argp);
|
||||
sv=sv_newmortal();
|
||||
sv_setref_pv(sv,argp,(void *)obj);
|
||||
CRYPTO_set_ex_data(ad,idx,(char *)sv);
|
||||
return(1);
|
||||
}
|
||||
|
||||
void ex_cleanup(char *obj, SV *data, CRYPTO_EX_DATA *ad, int idx, long argl,
|
||||
char *argp)
|
||||
{
|
||||
pr_name("ex_cleanup");
|
||||
fprintf(stderr,"ex_cleanup %08X %s\n",obj,argp);
|
||||
if (data != NULL)
|
||||
SvREFCNT_dec((SV *)data);
|
||||
}
|
||||
|
|
@ -1,43 +0,0 @@
|
|||
-----BEGIN DSA PRIVATE KEY-----
|
||||
Proc-Type: 4,ENCRYPTED
|
||||
DEK-Info: DES-EDE3-CBC,C5B6C7CC9E1FE2C0
|
||||
|
||||
svCXBcBRhMuU22UXOfiKZA+thmz6KYXpt1Yg5Rd+TYQcQ1MdvNy0B0tkP1SxzDq0
|
||||
Xh1eMeTML9/9/0rKakgNXXXbpi5RB8t6BmwRSyej89F7nn1mtR3qzoyPRpp15SDl
|
||||
Tn67C+2v+HDF3MFk88hiNCYkNbcmi7TWvChsl8N1r7wdZwtIox56yXdgxw6ZIpa/
|
||||
par0oUCzN7fiavPgCWz1kfPNSaBQSdxwH7TZi5tMHAr0J3C7a7QRnZfE09R59Uqr
|
||||
zslrq+ndIw1BZAxoY0SlBu+iFOVaBVlwToC4AsHkv7j7l8ITtr7f42YbBa44D9TO
|
||||
uOhONmkk/v3Fso4RaOEzdKZC+hnmmzvHs6TiTWm6yzJgSFwyOUK0eGmKEeVxpcH5
|
||||
rUOlHOwzen+FFtocZDZAfdFnb7QY7L/boQvyA5A+ZbRG4DUpmBQeQsSaICHM5Rxx
|
||||
1QaLF413VNPXTLPbW0ilSc2H8x2iZTIVKfd33oSO6NhXPtSYQgfecEF4BvNHY5c4
|
||||
HovjT4mckbK95bcBzoCHu43vuSQkmZzdYo/ydSZt6zoPavbBLueTpgSbdXiDi827
|
||||
MVqOsYxGCb+kez0FoDSTgw==
|
||||
-----END DSA PRIVATE KEY-----
|
||||
-----BEGIN CERTIFICATE REQUEST-----
|
||||
MIICUjCCAhECAQAwUjELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUx
|
||||
ITAfBgNVBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDELMAkGA1UEAxMCQ0Ew
|
||||
ggG0MIIBKQYFKw4DAgwwggEeAoGBAKc/boW/QWopffCfRxkwkJoJHdpqMx7FPYaW
|
||||
sxXgUy6P4FmCc5A+dTGZR3pS+4Xk2aZ7OJtoioSbh8YetX6GS1NbWc9xZRmIbs5m
|
||||
rmuINvvsKNzC16W75Sw5JkvamnAYlTeVEFYj9hXtugRe3jlP/bdDH7WkZW/NgBHk
|
||||
cJVbUM1JAhUA9wcx7fpsBgPVhYocrJxl51BmZW8CgYBN30wDppGK9RlvUEYlmeVo
|
||||
bzDjaeHls12YuyiGSPzemQQ/X4gMnHMkDSBduSqaPxiWJ+Rih8F7dGJT/GEnqHqR
|
||||
CZ228U2cVA9YBu5JdAfOVX4jzhb2ytxaYQF+yXG1TfbcNCmHaPZeIJOz2/XkCWxB
|
||||
F5WS6wG1c6Vqftgy7Q4CuAOBhAACgYAapll6iqz9XrZFlk2GCVcB+KihxWnH7IuH
|
||||
vSLw9YUrJahcBHmbpvt494lF4gC5w3WPM+vXJofbusk4GoQEEsQNMDaah4m49uUq
|
||||
AylOVFJJJXuirVJ+o+0TtOFDITEAl+YZZariXOD7tdOSOl9RLMPC6+daHKS9e68u
|
||||
3enxhqnDGaAAMAkGBSsOAwIbBQADMAAwLQIVAJGVuFsG/0DBuSZ0jF7ypdU0/G0v
|
||||
AhQfeF5BoMMDbX/kidUVpQ6gadPlZA==
|
||||
-----END CERTIFICATE REQUEST-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIBrjCCAWwCAQswCQYFKw4DAhsFADBTMQswCQYDVQQGEwJBVTETMBEGA1UECBMK
|
||||
U29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMQww
|
||||
CgYDVQQDEwNQQ0EwHhcNOTcwNjE1MDIxNDI5WhcNOTcwNzE1MDIxNDI5WjBSMQsw
|
||||
CQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJu
|
||||
ZXQgV2lkZ2l0cyBQdHkgTHRkMQswCQYDVQQDEwJDQTCBkjAJBgUrDgMCDAUAA4GE
|
||||
AAKBgBqmWXqKrP1etkWWTYYJVwH4qKHFacfsi4e9IvD1hSslqFwEeZum+3j3iUXi
|
||||
ALnDdY8z69cmh9u6yTgahAQSxA0wNpqHibj25SoDKU5UUkkle6KtUn6j7RO04UMh
|
||||
MQCX5hllquJc4Pu105I6X1Esw8Lr51ocpL17ry7d6fGGqcMZMAkGBSsOAwIbBQAD
|
||||
MQAwLgIVAJ4wtQsANPxHo7Q4IQZYsL12SKdbAhUAjJ9n38zxT+iai2164xS+LIfa
|
||||
C1Q=
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
-----BEGIN DSA PRIVATE KEY-----
|
||||
Proc-Type: 4,ENCRYPTED
|
||||
DEK-Info: DES-EDE3-CBC,F80EEEBEEA7386C4
|
||||
|
||||
GZ9zgFcHOlnhPoiSbVi/yXc9mGoj44A6IveD4UlpSEUt6Xbse3Fr0KHIUyQ3oGnS
|
||||
mClKoAp/eOTb5Frhto85SzdsxYtac+X1v5XwdzAMy2KowHVk1N8A5jmE2OlkNPNt
|
||||
of132MNlo2cyIRYaa35PPYBGNCmUm7YcYS8O90YtkrQZZTf4+2C4kllhMcdkQwkr
|
||||
FWSWC8YOQ7w0LHb4cX1FejHHom9Nd/0PN3vn3UyySvfOqoR7nbXkrpHXmPIr0hxX
|
||||
RcF0aXcV/CzZ1/nfXWQf4o3+oD0T22SDoVcZY60IzI0oIc3pNCbDV3uKNmgekrFd
|
||||
qOUJ+QW8oWp7oefRx62iBfIeC8DZunohMXaWAQCU0sLQOR4yEdeUCnzCSywe0bG1
|
||||
diD0KYaEe+Yub1BQH4aLsBgDjardgpJRTQLq0DUvw0/QGO1irKTJzegEDNVBKrVn
|
||||
V4AHOKT1CUKqvGNRP1UnccUDTF6miOAtaj/qpzra7sSk7dkGBvIEeFoAg84kfh9h
|
||||
hVvF1YyzC9bwZepruoqoUwke/WdNIR5ymOVZ/4Liw0JdIOcq+atbdRX08niqIRkf
|
||||
dsZrUj4leo3zdefYUQ7w4N2Ns37yDFq7
|
||||
-----END DSA PRIVATE KEY-----
|
||||
-----BEGIN CERTIFICATE REQUEST-----
|
||||
MIICVTCCAhMCAQAwUzELMAkGA1UEBhMCQVUxEzARBgNVBAgTClNvbWUtU3RhdGUx
|
||||
ITAfBgNVBAoTGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDEMMAoGA1UEAxMDUENB
|
||||
MIIBtTCCASkGBSsOAwIMMIIBHgKBgQCnP26Fv0FqKX3wn0cZMJCaCR3aajMexT2G
|
||||
lrMV4FMuj+BZgnOQPnUxmUd6UvuF5NmmezibaIqEm4fGHrV+hktTW1nPcWUZiG7O
|
||||
Zq5riDb77Cjcwtelu+UsOSZL2ppwGJU3lRBWI/YV7boEXt45T/23Qx+1pGVvzYAR
|
||||
5HCVW1DNSQIVAPcHMe36bAYD1YWKHKycZedQZmVvAoGATd9MA6aRivUZb1BGJZnl
|
||||
aG8w42nh5bNdmLsohkj83pkEP1+IDJxzJA0gXbkqmj8YlifkYofBe3RiU/xhJ6h6
|
||||
kQmdtvFNnFQPWAbuSXQHzlV+I84W9srcWmEBfslxtU323DQph2j2XiCTs9v15Als
|
||||
QReVkusBtXOlan7YMu0OArgDgYUAAoGBAKbtuR5AdW+ICjCFe2ixjUiJJzM2IKwe
|
||||
6NZEMXg39+HQ1UTPTmfLZLps+rZfolHDXuRKMXbGFdSF0nXYzotPCzi7GauwEJTZ
|
||||
yr27ZZjA1C6apGSQ9GzuwNvZ4rCXystVEagAS8OQ4H3D4dWS17Zg31ICb5o4E5r0
|
||||
z09o/Uz46u0VoAAwCQYFKw4DAhsFAAMxADAuAhUArRubTxsbIXy3AhtjQ943AbNB
|
||||
nSICFQCu+g1iW3jwF+gOcbroD4S/ZcvB3w==
|
||||
-----END CERTIFICATE REQUEST-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIC0zCCApECAQAwCQYFKw4DAhsFADBTMQswCQYDVQQGEwJBVTETMBEGA1UECBMK
|
||||
U29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMQww
|
||||
CgYDVQQDEwNQQ0EwHhcNOTcwNjE0MjI1NDQ1WhcNOTcwNzE0MjI1NDQ1WjBTMQsw
|
||||
CQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJu
|
||||
ZXQgV2lkZ2l0cyBQdHkgTHRkMQwwCgYDVQQDEwNQQ0EwggG1MIIBKQYFKw4DAgww
|
||||
ggEeAoGBAKc/boW/QWopffCfRxkwkJoJHdpqMx7FPYaWsxXgUy6P4FmCc5A+dTGZ
|
||||
R3pS+4Xk2aZ7OJtoioSbh8YetX6GS1NbWc9xZRmIbs5mrmuINvvsKNzC16W75Sw5
|
||||
JkvamnAYlTeVEFYj9hXtugRe3jlP/bdDH7WkZW/NgBHkcJVbUM1JAhUA9wcx7fps
|
||||
BgPVhYocrJxl51BmZW8CgYBN30wDppGK9RlvUEYlmeVobzDjaeHls12YuyiGSPze
|
||||
mQQ/X4gMnHMkDSBduSqaPxiWJ+Rih8F7dGJT/GEnqHqRCZ228U2cVA9YBu5JdAfO
|
||||
VX4jzhb2ytxaYQF+yXG1TfbcNCmHaPZeIJOz2/XkCWxBF5WS6wG1c6Vqftgy7Q4C
|
||||
uAOBhQACgYEApu25HkB1b4gKMIV7aLGNSIknMzYgrB7o1kQxeDf34dDVRM9OZ8tk
|
||||
umz6tl+iUcNe5EoxdsYV1IXSddjOi08LOLsZq7AQlNnKvbtlmMDULpqkZJD0bO7A
|
||||
29nisJfKy1URqABLw5DgfcPh1ZLXtmDfUgJvmjgTmvTPT2j9TPjq7RUwCQYFKw4D
|
||||
AhsFAAMxADAuAhUAvtv6AkMolix1Jvy3UnVEIUqdCUICFQC+jq8P49mwrY9oJ24n
|
||||
5rKUjNBhSg==
|
||||
-----END CERTIFICATE-----
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
cwd=`pwd`
|
||||
/bin/rm -fr tmp/*
|
||||
|
||||
cd crypto/des
|
||||
make -f Makefile.uni tar
|
||||
make -f Makefile.uni tar_lit
|
||||
/bin/mv libdes.tgz $cwd/tmp
|
||||
/bin/mv libdes-l.tgz $cwd/tmp
|
||||
cd $cwd
|
||||
|
||||
for name in md5 sha cast bf idea rc4 rc2
|
||||
do
|
||||
echo doing $name
|
||||
(cd crypto; tar cfh - $name)|(cd tmp; tar xf -)
|
||||
cd tmp/$name
|
||||
/bin/rm -f Makefile
|
||||
/bin/rm -f Makefile.ssl
|
||||
/bin/rm -f Makefile.ssl.orig
|
||||
/bin/rm -f *.old
|
||||
/bin/mv Makefile.uni Makefile
|
||||
|
||||
if [ -d asm ]; then
|
||||
mkdir asm/perlasm
|
||||
cp $cwd/crypto/perlasm/*.pl asm/perlasm
|
||||
fi
|
||||
cd ..
|
||||
tar cf - $name|gzip >$name.tgz
|
||||
# /bin/rm -fr $name
|
||||
cd $cwd
|
||||
done
|
||||
|
||||
|
Loading…
Reference in New Issue