From 4d94ae00d5614d64d4dd065860c4b00161a81f82 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bodo=20M=C3=B6ller?= Date: Wed, 13 Feb 2002 18:21:51 +0000 Subject: [PATCH] ECDSA support Submitted by: Nils Larsch --- CHANGES | 46 +- Configure | 8 + Makefile.org | 2 +- TABLE | 24 + apps/Makefile.ssl | 1380 +++++++++++++++++++----------------- apps/ca.c | 15 + apps/ecdsa.c | 435 ++++++++++++ apps/ecdsaparam.c | 560 +++++++++++++++ apps/progs.h | 8 + apps/progs.pl | 2 + apps/req.c | 81 ++- apps/s_server.c | 2 +- apps/x509.c | 10 + crypto/Makefile.ssl | 2 +- crypto/asn1/Makefile.ssl | 231 +++--- crypto/asn1/asn1.h | 1 + crypto/asn1/asn1_err.c | 1 + crypto/asn1/d2i_pr.c | 18 +- crypto/asn1/d2i_pu.c | 15 +- crypto/asn1/i2d_pr.c | 9 + crypto/asn1/i2d_pu.c | 7 + crypto/asn1/t_pkey.c | 280 +++++++- crypto/asn1/t_req.c | 9 + crypto/asn1/t_spki.c | 9 + crypto/asn1/t_x509.c | 11 + crypto/asn1/x_pubkey.c | 223 ++++-- crypto/conf/Makefile.ssl | 34 +- crypto/dh/Makefile.ssl | 8 +- crypto/dsa/Makefile.ssl | 71 +- crypto/ec/ec_cvt.c | 2 +- crypto/ec/ec_err.c | 2 +- crypto/ec/ec_lib.c | 2 +- crypto/ecdsa/.cvsignore | 2 + crypto/ecdsa/Makefile.ssl | 174 +++++ crypto/ecdsa/ecdsa.h | 266 +++++++ crypto/ecdsa/ecdsatest.c | 692 ++++++++++++++++++ crypto/ecdsa/ecs_asn1.c | 723 +++++++++++++++++++ crypto/ecdsa/ecs_err.c | 155 ++++ crypto/ecdsa/ecs_gen.c | 133 ++++ crypto/ecdsa/ecs_key.c | 143 ++++ crypto/ecdsa/ecs_lib.c | 312 ++++++++ crypto/ecdsa/ecs_locl.h | 118 +++ crypto/ecdsa/ecs_ossl.c | 381 ++++++++++ crypto/ecdsa/ecs_sign.c | 138 ++++ crypto/ecdsa/ecs_vrf.c | 141 ++++ crypto/engine/Makefile.ssl | 481 +++++++------ crypto/engine/eng_int.h | 1 + crypto/engine/eng_list.c | 3 + crypto/engine/engine.h | 15 + crypto/engine/tb_ecdsa.c | 120 ++++ crypto/err/Makefile.ssl | 13 +- crypto/err/err.h | 3 + crypto/err/openssl.ec | 2 + crypto/evp/Makefile.ssl | 283 +++++--- crypto/evp/c_alld.c | 3 + crypto/evp/evp.h | 29 +- crypto/evp/evp_err.c | 4 + crypto/evp/evp_pkey.c | 411 +++++++++-- crypto/evp/m_ecdsa.c | 95 +++ crypto/evp/p_lib.c | 92 ++- crypto/ocsp/Makefile.ssl | 168 +++-- crypto/pem/Makefile.ssl | 240 ++++--- crypto/pem/pem.h | 12 + crypto/pem/pem_all.c | 104 ++- crypto/pem/pem_info.c | 24 + crypto/pem/pem_lib.c | 2 + crypto/pem/pem_pkey.c | 2 + crypto/pkcs12/Makefile.ssl | 298 ++++---- crypto/pkcs7/Makefile.ssl | 89 +-- crypto/pkcs7/pk7_doit.c | 7 + crypto/pkcs7/pk7_lib.c | 2 +- crypto/rand/Makefile.ssl | 13 +- crypto/rsa/Makefile.ssl | 75 +- crypto/x509/Makefile.ssl | 379 +++++----- crypto/x509/x509.h | 32 + crypto/x509/x509_cmp.c | 16 + crypto/x509/x509type.c | 6 + crypto/x509/x_all.c | 53 ++ crypto/x509v3/Makefile.ssl | 252 ++++--- ssl/Makefile.ssl | 1313 ++++++++++++++++++---------------- test/Makefile.ssl | 196 ++--- util/libeay.num | 72 ++ util/mkdef.pl | 7 +- util/mkerr.pl | 4 +- 84 files changed, 9117 insertions(+), 2690 deletions(-) create mode 100644 apps/ecdsa.c create mode 100644 apps/ecdsaparam.c create mode 100644 crypto/ecdsa/.cvsignore create mode 100644 crypto/ecdsa/Makefile.ssl create mode 100644 crypto/ecdsa/ecdsa.h create mode 100644 crypto/ecdsa/ecdsatest.c create mode 100644 crypto/ecdsa/ecs_asn1.c create mode 100644 crypto/ecdsa/ecs_err.c create mode 100644 crypto/ecdsa/ecs_gen.c create mode 100644 crypto/ecdsa/ecs_key.c create mode 100644 crypto/ecdsa/ecs_lib.c create mode 100644 crypto/ecdsa/ecs_locl.h create mode 100644 crypto/ecdsa/ecs_ossl.c create mode 100644 crypto/ecdsa/ecs_sign.c create mode 100644 crypto/ecdsa/ecs_vrf.c create mode 100644 crypto/engine/tb_ecdsa.c create mode 100644 crypto/evp/m_ecdsa.c diff --git a/CHANGES b/CHANGES index 12aeb9b872..db1916c179 100644 --- a/CHANGES +++ b/CHANGES @@ -2,19 +2,45 @@ OpenSSL CHANGES _______________ - Changes between 0.9.7 and 0.9.8 [xx XXX 2001] - - *) - - Changes between 0.9.6 and 0.9.7 [xx XXX 2001] + Changes between 0.9.7 and 0.9.8 [xx XXX 2002] + + *) Add ECDSA in new directory crypto/ecdsa/. + + Add applications 'openssl ecdsaparam' and 'openssl ecdsa' + (these are variants of 'openssl dsaparam' and 'openssl dsa'). + + ECDSA support is also included in various other files across the + library. Most notably, + - 'openssl req' now has a '-newkey ecdsa:file' option; + - EVP_PKCS82PKEY (crypto/evp/evp_pkey.c) now can handle ECDSA; + - X509_PUBKEY_get (crypto/asn1/x_pubkey.c) and + d2i_PublicKey (crypto/asn1/d2i_pu.c) have been modified to make + them suitable for ECDSA where domain parameters must be + extracted before the specific public key. + [Nils Larsch type == EVP_PKEY_DSA) dgst=EVP_dss1(); else +#endif +#ifndef OPENSSL_NO_ECDSA + if (pkey->type == EVP_PKEY_ECDSA) + dgst=EVP_ecdsa(); + else #endif dgst=EVP_md5(); } @@ -2270,6 +2275,16 @@ again2: EVP_PKEY_copy_parameters(pktmp,pkey); EVP_PKEY_free(pktmp); #endif +#ifndef OPENSSL_NO_ECDSA + if (pkey->type == EVP_PKEY_ECDSA) + dgst = EVP_ecdsa(); + pktmp = X509_get_pubkey(ret); + if (EVP_PKEY_missing_parameters(pktmp) && + !EVP_PKEY_missing_parameters(pkey)) + EVP_PKEY_copy_parameters(pktmp, pkey); + EVP_PKEY_free(pktmp); +#endif + if (!X509_sign(ret,pkey,dgst)) goto err; diff --git a/apps/ecdsa.c b/apps/ecdsa.c new file mode 100644 index 0000000000..e8aa7461b4 --- /dev/null +++ b/apps/ecdsa.c @@ -0,0 +1,435 @@ +/* apps/ecdsa.c */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * 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 above 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 acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED 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 OpenSSL PROJECT OR + * ITS 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. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* 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.] + */ + +#ifndef OPENSSL_NO_ECDSA +#include +#include +#include +#include +#include "apps.h" +#include +#include +#include +#include +#include +#include + +#undef PROG +#define PROG ecdsa_main + +/* -inform arg - input format - default PEM (one of DER, NET or PEM) + * -outform arg - output format - default PEM + * -in arg - input file - default stdin + * -out arg - output file - default stdout + * -des - encrypt output if PEM format with DES in cbc mode + * -des3 - encrypt output if PEM format + * -idea - encrypt output if PEM format + * -text - print a text version + * -pub - print the ECDSA public key + * -compressed - print the public key in compressed form ( default ) + * -hybrid - print the public key in hybrid form + * -uncompressed - print the public key in uncompressed form + * the last three options ( compressed, hybrid and uncompressed ) + * are only used if the "-pub" option is also selected. + * For a precise description of the the meaning of compressed, + * hybrid and uncompressed please refer to the X9.62 standart. + * All three forms represents ways to express the ecdsa public + * key ( a point on a elliptic curve ) as octet string. Let len be + * the length ( in bytes ) of an element of the field over which + * the curve is defined, then a compressed octet string has the form + * 0x02 + result of BN_bn2bin() of the x coordinate of the public key + */ + +int MAIN(int, char **); + +int MAIN(int argc, char **argv) +{ + ENGINE *e = NULL; + int ret = 1; + ECDSA *ecdsa = NULL; + int i, badops = 0; + const EVP_CIPHER *enc = NULL; + BIO *in = NULL, *out = NULL; + int informat, outformat, text=0, noout=0; + int pubin = 0, pubout = 0; + char *infile, *outfile, *prog, *engine; + char *passargin = NULL, *passargout = NULL; + char *passin = NULL, *passout = NULL; + int pub = 0, point_form = 0; + unsigned char *buffer = NULL; + unsigned int buf_len = 0; + BIGNUM *tmp_bn = NULL; + + apps_startup(); + + if (bio_err == NULL) + if ((bio_err=BIO_new(BIO_s_file())) != NULL) + BIO_set_fp(bio_err, stderr, BIO_NOCLOSE|BIO_FP_TEXT); + + engine = NULL; + infile = NULL; + outfile = NULL; + informat = FORMAT_PEM; + outformat = FORMAT_PEM; + + prog = argv[0]; + argc--; + argv++; + while (argc >= 1) + { + if (strcmp(*argv,"-inform") == 0) + { + if (--argc < 1) goto bad; + informat=str2fmt(*(++argv)); + } + else if (strcmp(*argv,"-outform") == 0) + { + if (--argc < 1) goto bad; + outformat=str2fmt(*(++argv)); + } + else if (strcmp(*argv,"-in") == 0) + { + if (--argc < 1) goto bad; + infile= *(++argv); + } + else if (strcmp(*argv,"-out") == 0) + { + if (--argc < 1) goto bad; + outfile= *(++argv); + } + else if (strcmp(*argv,"-passin") == 0) + { + if (--argc < 1) goto bad; + passargin= *(++argv); + } + else if (strcmp(*argv,"-passout") == 0) + { + if (--argc < 1) goto bad; + passargout= *(++argv); + } + else if (strcmp(*argv, "-engine") == 0) + { + if (--argc < 1) goto bad; + engine= *(++argv); + } + else if (strcmp(*argv, "-noout") == 0) + noout = 1; + else if (strcmp(*argv, "-text") == 0) + text = 1; + else if (strcmp(*argv, "-pub") == 0) + { + pub = 1; + buffer = (*(argv+1)); + if (strcmp(buffer, "compressed") == 0) + point_form = POINT_CONVERSION_COMPRESSED; + else if (strcmp(buffer, "hybrid") == 0) + point_form = POINT_CONVERSION_HYBRID; + else if (strcmp(buffer, "uncompressed") == 0) + point_form = POINT_CONVERSION_UNCOMPRESSED; + if (point_form) + { + argc--; + argv++; + } + } + else if (strcmp(*argv, "-pubin") == 0) + pubin=1; + else if (strcmp(*argv, "-pubout") == 0) + pubout=1; + else if ((enc=EVP_get_cipherbyname(&(argv[0][1]))) == NULL) + { + BIO_printf(bio_err,"unknown option %s\n",*argv); + badops=1; + break; + } + argc--; + argv++; + } + + if (badops) + { +bad: + BIO_printf(bio_err, "%s [options] outfile\n",prog); + BIO_printf(bio_err, "where options are\n"); + BIO_printf(bio_err, " -inform arg input format - DER or PEM\n"); + BIO_printf(bio_err, " -outform arg output format - DER or PEM\n"); + BIO_printf(bio_err, " -in arg input file\n"); + BIO_printf(bio_err, " -passin arg input file pass phrase source\n"); + BIO_printf(bio_err, " -out arg output file\n"); + BIO_printf(bio_err, " -passout arg output file pass phrase source\n"); + BIO_printf(bio_err, " -engine e use engine e, possibly a hardware device.\n"); + BIO_printf(bio_err, " -des encrypt PEM output with cbc des\n"); + BIO_printf(bio_err, " -des3 encrypt PEM output with ede cbc des using 168 bit key\n"); +#ifndef OPENSSL_NO_IDEA + BIO_printf(bio_err, " -idea encrypt PEM output with cbc idea\n"); +#endif + BIO_printf(bio_err, " -text print the key in text\n"); + BIO_printf(bio_err, " -noout don't print key out\n"); + BIO_printf(bio_err, " -pub [compressed | hybrid | uncompressed] \n"); + BIO_printf(bio_err, " compressed print the public key in compressed form ( default )\n"); + BIO_printf(bio_err, " hybrid print the public key in hybrid form\n"); + BIO_printf(bio_err, " uncompressed print the public key in uncompressed form\n"); + goto end; + } + + ERR_load_crypto_strings(); + + e = setup_engine(bio_err, engine, 0); + + if(!app_passwd(bio_err, passargin, passargout, &passin, &passout)) + { + BIO_printf(bio_err, "Error getting passwords\n"); + goto end; + } + + in = BIO_new(BIO_s_file()); + out = BIO_new(BIO_s_file()); + if ((in == NULL) || (out == NULL)) + { + ERR_print_errors(bio_err); + goto end; + } + + if (infile == NULL) + BIO_set_fp(in,stdin,BIO_NOCLOSE); + else + { + if (BIO_read_filename(in,infile) <= 0) + { + perror(infile); + goto end; + } + } + + BIO_printf(bio_err,"read ECDSA key\n"); + if (informat == FORMAT_ASN1) + { + if (pubin) + ecdsa = d2i_ECDSA_PUBKEY_bio(in, NULL); + else + ecdsa = d2i_ECDSAPrivateKey_bio(in, NULL); + } else if (informat == FORMAT_PEM) + { + if (pubin) + ecdsa = PEM_read_bio_ECDSA_PUBKEY(in, NULL, NULL, NULL); + else + ecdsa = PEM_read_bio_ECDSAPrivateKey(in, NULL, NULL, passin); + } else + { + BIO_printf(bio_err, "bad input format specified for key\n"); + goto end; + } + if (ecdsa == NULL) + { + BIO_printf(bio_err,"unable to load Key\n"); + ERR_print_errors(bio_err); + goto end; + } + + if (outfile == NULL) + { + BIO_set_fp(out, stdout, BIO_NOCLOSE); +#ifdef OPENSSL_SYS_VMS + { + BIO *tmpbio = BIO_new(BIO_f_linebuffer()); + out = BIO_push(tmpbio, out); + } +#endif + } + else + { + if (BIO_write_filename(out, outfile) <= 0) + { + perror(outfile); + goto end; + } + } + + if (text) + if (!ECDSA_print(out, ecdsa, 0)) + { + perror(outfile); + ERR_print_errors(bio_err); + goto end; + } + + if (pub) + { + fprintf(stdout, "Public Key ("); + if (point_form == POINT_CONVERSION_COMPRESSED) + fprintf(stdout, "COMPRESSED"); + else if (point_form == POINT_CONVERSION_UNCOMPRESSED) + fprintf(stdout, "UNCOMPRESSED"); + else if (point_form == POINT_CONVERSION_HYBRID) + fprintf(stdout, "HYBRID"); + fprintf(stdout, ")="); + buf_len = EC_POINT_point2oct(ecdsa->group, EC_GROUP_get0_generator(ecdsa->group), + point_form, NULL, 0, NULL); + if (!buf_len) + { + BIO_printf(bio_err,"invalid public key length\n"); + ERR_print_errors(bio_err); + goto end; + } + if ((tmp_bn = BN_new()) == NULL || + (buffer = OPENSSL_malloc(buf_len)) == NULL) goto end; + if (!EC_POINT_point2oct(ecdsa->group, EC_GROUP_get0_generator(ecdsa->group), + point_form, buffer, buf_len, NULL) || + !BN_bin2bn(buffer, buf_len, tmp_bn)) + { + BIO_printf(bio_err,"can not encode public key\n"); + ERR_print_errors(bio_err); + OPENSSL_free(buffer); + goto end; + } + BN_print(out, tmp_bn); + fprintf(stdout,"\n"); + } + + if (noout) + goto end; + BIO_printf(bio_err, "writing ECDSA key\n"); + if (outformat == FORMAT_ASN1) + { + if(pubin || pubout) + i = i2d_ECDSA_PUBKEY_bio(out, ecdsa); + else + i = i2d_ECDSAPrivateKey_bio(out, ecdsa); + } else if (outformat == FORMAT_PEM) + { + if(pubin || pubout) + i = PEM_write_bio_ECDSA_PUBKEY(out, ecdsa); + else + i = PEM_write_bio_ECDSAPrivateKey(out, ecdsa, enc, + NULL, 0, NULL, passout); + } else + { + BIO_printf(bio_err, "bad output format specified for outfile\n"); + goto end; + } + if (!i) + { + BIO_printf(bio_err, "unable to write private key\n"); + ERR_print_errors(bio_err); + } + else + ret=0; +end: + if (in) BIO_free(in); + if (out) BIO_free_all(out); + if (ecdsa) ECDSA_free(ecdsa); + if (tmp_bn) BN_free(tmp_bn); + if (passin) OPENSSL_free(passin); + if (passout) OPENSSL_free(passout); + apps_shutdown(); + EXIT(ret); +} +#endif diff --git a/apps/ecdsaparam.c b/apps/ecdsaparam.c new file mode 100644 index 0000000000..ebb0d1ecb3 --- /dev/null +++ b/apps/ecdsaparam.c @@ -0,0 +1,560 @@ +/* apps/ecdsaparam.c */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * 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 above 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 acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED 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 OpenSSL PROJECT OR + * ITS 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. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* 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.] + */ + +#ifndef OPENSSL_NO_ECDSA +#include +#include +#include +#include +#include +#include "apps.h" +#include +#include +#include +#include +#include +#include +#include + +#undef PROG +#define PROG ecdsaparam_main + +/* -inform arg - input format - default PEM (DER or PEM) + * -outform arg - output format - default PEM + * -in arg - input file - default stdin + * -out arg - output file - default stdout + * -noout + * -text + * -C + * -noout + * -genkey - generate a private public keypair based on the supplied curve + * -named_curve - use the curve oid instead of the parameters + * -NIST_192 - use the NIST recommeded curve parameters over a 192 bit prime field + * -NIST_224 - use the NIST recommeded curve parameters over a 224 bit prime field + * -NIST_256 - use the NIST recommeded curve parameters over a 256 bit prime field + * -NIST_384 - use the NIST recommeded curve parameters over a 384 bit prime field + * -NIST_521 - use the NIST recommeded curve parameters over a 521 bit prime field + * -X9_62_192v1 - use the X9_62 192v1 example curve over a 192 bit prime field + * -X9_62_192v2 - use the X9_62 192v2 example curve over a 192 bit prime field + * -X9_62_192v3 - use the X9_62 192v3 example curve over a 192 bit prime field + * -X9_62_239v1 - use the X9_62 239v1 example curve over a 239 bit prime field + * -X9_62_239v2 - use the X9_62 239v2 example curve over a 239 bit prime field + * -X9_62_239v3 - use the X9_62 239v3 example curve over a 239 bit prime field + * -X9_62_256v1 - use the X9_62 239v1 example curve over a 256 bit prime field + */ + +int MAIN(int, char **); + +int MAIN(int argc, char **argv) +{ + ENGINE *e = NULL; + ECDSA *ecdsa = NULL; + int i, badops = 0, text = 0; + BIO *in = NULL, *out = NULL; + int informat, outformat, noout = 0, C = 0, ret = 1; + char *infile, *outfile, *prog, *inrand = NULL; + int genkey = 0; + int need_rand = 0; + char *engine=NULL; + int curve_type = EC_GROUP_NO_CURVE; + int named_curve = 0; + BIGNUM *tmp_1 = NULL, *tmp_2 = NULL, *tmp_3 = NULL, *tmp_4 = NULL, *tmp_5 = NULL, + *tmp_6 = NULL, *tmp_7 = NULL; + BN_CTX *ctx = NULL; + EC_POINT *point = NULL; + + apps_startup(); + + if (bio_err == NULL) + if ((bio_err=BIO_new(BIO_s_file())) != NULL) + BIO_set_fp(bio_err,stderr,BIO_NOCLOSE|BIO_FP_TEXT); + + infile=NULL; + outfile=NULL; + informat=FORMAT_PEM; + outformat=FORMAT_PEM; + + prog=argv[0]; + argc--; + argv++; + while (argc >= 1) + { + if (strcmp(*argv,"-inform") == 0) + { + if (--argc < 1) goto bad; + informat=str2fmt(*(++argv)); + } + else if (strcmp(*argv,"-outform") == 0) + { + if (--argc < 1) goto bad; + outformat=str2fmt(*(++argv)); + } + else if (strcmp(*argv,"-in") == 0) + { + if (--argc < 1) goto bad; + infile= *(++argv); + } + else if (strcmp(*argv,"-out") == 0) + { + if (--argc < 1) goto bad; + outfile= *(++argv); + } + else if(strcmp(*argv, "-engine") == 0) + { + if (--argc < 1) goto bad; + engine = *(++argv); + } + else if (strcmp(*argv,"-text") == 0) + text = 1; + else if (strcmp(*argv,"-C") == 0) + C = 1; + else if (strcmp(*argv,"-genkey") == 0) + { + genkey = 1; + need_rand = 1; + } + else if (strcmp(*argv,"-rand") == 0) + { + if (--argc < 1) goto bad; + inrand= *(++argv); + need_rand=1; + } + else if (strcmp(*argv, "-named_curve") == 0) + named_curve = 1; + else if (strcmp(*argv, "-NIST_192") == 0) + curve_type = EC_GROUP_NIST_PRIME_192; + else if (strcmp(*argv, "-NIST_224") == 0) + curve_type = EC_GROUP_NIST_PRIME_224; + else if (strcmp(*argv, "-NIST_256") == 0) + curve_type = EC_GROUP_NIST_PRIME_256; + else if (strcmp(*argv, "-NIST_384") == 0) + curve_type = EC_GROUP_NIST_PRIME_384; + else if (strcmp(*argv, "-NIST_521") == 0) + curve_type = EC_GROUP_NIST_PRIME_521; + else if (strcmp(*argv, "-X9_62_192v1") == 0) + curve_type = EC_GROUP_X9_62_PRIME_192V1; + else if (strcmp(*argv, "-X9_62_192v2") == 0) + curve_type = EC_GROUP_X9_62_PRIME_192V2; + else if (strcmp(*argv, "-X9_62_192v3") == 0) + curve_type = EC_GROUP_X9_62_PRIME_192V3; + else if (strcmp(*argv, "-X9_62_239v1") == 0) + curve_type = EC_GROUP_X9_62_PRIME_239V1; + else if (strcmp(*argv, "-X9_62_239v2") == 0) + curve_type = EC_GROUP_X9_62_PRIME_239V2; + else if (strcmp(*argv, "-X9_62_239v3") == 0) + curve_type = EC_GROUP_X9_62_PRIME_239V3; + else if (strcmp(*argv, "-X9_62_256v1") == 0) + curve_type = EC_GROUP_X9_62_PRIME_256V1; + else if (strcmp(*argv, "-noout") == 0) + noout=1; + else + { + BIO_printf(bio_err,"unknown option %s\n",*argv); + badops=1; + break; + } + argc--; + argv++; + } + + if (badops) + { +bad: + BIO_printf(bio_err,"%s [options] [bits] outfile\n",prog); + BIO_printf(bio_err,"where options are\n"); + BIO_printf(bio_err," -inform arg input format - DER or PEM\n"); + BIO_printf(bio_err," -outform arg output format - DER or PEM\n"); + BIO_printf(bio_err," -in arg input file\n"); + BIO_printf(bio_err," -out arg output file\n"); + BIO_printf(bio_err," -text print the key in text\n"); + BIO_printf(bio_err," -C Output C code\n"); + BIO_printf(bio_err," -noout no output\n"); + BIO_printf(bio_err," -rand files to use for random number input\n"); + BIO_printf(bio_err," -engine e use engine e, possibly a hardware device.\n"); + BIO_printf(bio_err," -named_curve use the curve oid instead of the parameters\n"); + BIO_printf(bio_err," -NIST_192 use the NIST recommeded curve parameters over a 192 bit prime field\n"); + BIO_printf(bio_err," -NIST_224 use the NIST recommeded curve parameters over a 224 bit prime field\n"); + BIO_printf(bio_err," -NIST_256 use the NIST recommeded curve parameters over a 256 bit prime field\n"); + BIO_printf(bio_err," -NIST_384 use the NIST recommeded curve parameters over a 384 bit prime field\n"); + BIO_printf(bio_err," -NIST_521 use the NIST recommeded curve parameters over a 521 bit prime field\n"); + BIO_printf(bio_err," -X9_62_192v1 use the X9_62 192v1 example curve over a 192 bit prime field\n"); + BIO_printf(bio_err," -X9_62_192v2 use the X9_62 192v2 example curve over a 192 bit prime field\n"); + BIO_printf(bio_err," -X9_62_192v3 use the X9_62 192v3 example curve over a 192 bit prime field\n"); + BIO_printf(bio_err," -X9_62_239v1 use the X9_62 239v1 example curve over a 239 bit prime field\n"); + BIO_printf(bio_err," -X9_62_239v2 use the X9_62 239v2 example curve over a 239 bit prime field\n"); + BIO_printf(bio_err," -X9_62_239v3 use the X9_62 239v3 example curve over a 239 bit prime field\n"); + BIO_printf(bio_err," -X9_62_256v1 use the X9_62 239v1 example curve over a 256 bit prime field\n"); + goto end; + } + + ERR_load_crypto_strings(); + + in=BIO_new(BIO_s_file()); + out=BIO_new(BIO_s_file()); + if ((in == NULL) || (out == NULL)) + { + ERR_print_errors(bio_err); + goto end; + } + + if (infile == NULL) + BIO_set_fp(in,stdin,BIO_NOCLOSE); + else + { + if (BIO_read_filename(in,infile) <= 0) + { + perror(infile); + goto end; + } + } + if (outfile == NULL) + { + BIO_set_fp(out,stdout,BIO_NOCLOSE); +#ifdef OPENSSL_SYS_VMS + { + BIO *tmpbio = BIO_new(BIO_f_linebuffer()); + out = BIO_push(tmpbio, out); + } +#endif + } + else + { + if (BIO_write_filename(out,outfile) <= 0) + { + perror(outfile); + goto end; + } + } + + e = setup_engine(bio_err, engine, 0); + + if (need_rand) + { + app_RAND_load_file(NULL, bio_err, (inrand != NULL)); + if (inrand != NULL) + BIO_printf(bio_err,"%ld semi-random bytes loaded\n", + app_RAND_load_files(inrand)); + } + + if (curve_type != EC_GROUP_NO_CURVE) + { + if ((ecdsa = ECDSA_new()) == NULL) + goto end; + ecdsa->group = EC_GROUP_get_group_by_name(curve_type); + if (named_curve) + ECDSA_set_parameter_flags(ecdsa, ECDSA_FLAG_NAMED_CURVE); + } + else if (informat == FORMAT_ASN1) + ecdsa = d2i_ECDSAParameters_bio(in,NULL); + else if (informat == FORMAT_PEM) + ecdsa = PEM_read_bio_ECDSAParameters(in, NULL, NULL, NULL); + else + { + BIO_printf(bio_err, "bad input format specified\n"); + goto end; + } + if (ecdsa == NULL) + { + BIO_printf(bio_err, "unable to load ECDSA parameters\n"); + ERR_print_errors(bio_err); + goto end; + } + + if (text) + { + ECDSAParameters_print(out, ecdsa); + } + + if (C) + { // TODO : characteristic two + int l, len, bits_p, bits_a, bits_b, bits_x, bits_y, bits_o, bits_c; + unsigned char *data; + if ((tmp_1 = BN_new()) == NULL || (tmp_2 = BN_new()) == NULL || + (tmp_3 = BN_new()) == NULL || (tmp_4 = BN_new()) == NULL || + (tmp_5 = BN_new()) == NULL || (tmp_6 = BN_new()) == NULL || + (tmp_7 = BN_new()) == NULL || (ctx = BN_CTX_new()) == NULL) + { + perror("OPENSSL_malloc"); + goto end; + } + if (!EC_GROUP_get_curve_GFp(ecdsa->group, tmp_1, tmp_2, tmp_3, ctx)) + goto end; + if ((point = EC_GROUP_get0_generator(ecdsa->group)) == NULL) + goto end; + if (!EC_POINT_get_affine_coordinates_GFp(ecdsa->group, point, tmp_4, tmp_5, ctx)) + goto end; + if (!EC_GROUP_get_order(ecdsa->group, tmp_6, ctx)) + goto end; + if (!EC_GROUP_get_cofactor(ecdsa->group, tmp_7, ctx)) + goto end; + + len = BN_num_bytes(tmp_1); + bits_p = BN_num_bits(tmp_1); + bits_a = BN_num_bits(tmp_2); + bits_b = BN_num_bits(tmp_3); + bits_x = BN_num_bits(tmp_4); + bits_y = BN_num_bits(tmp_5); + bits_o = BN_num_bits(tmp_6); + bits_c = BN_num_bits(tmp_7); + data=(unsigned char *)OPENSSL_malloc(len+20); + if (data == NULL) + { + perror("OPENSSL_malloc"); + goto end; + } + l = BN_bn2bin(tmp_1, data); + printf("static unsigned char ecdsa%d_p[]={", bits_p); + for (i=0; igroup=EC_GROUP_new(EC_GFp_mont_method())) == NULL) ok=0;"); + printf("\tif (ok && !BN_bin2bn(ecdsa%d_p,sizeof(ecdsa%d_p),tmp_1)) ok=0;\n", bits_p, bits_p); + printf("\tif (ok && !BN_bin2bn(ecdsa%d_a,sizeof(ecdsa%d_a),tmp_2)) ok=0;\n", bits_p, bits_p); + printf("\tif (ok && !BN_bin2bn(ecdsa%d_b,sizeof(ecdsa%d_b),tmp_3)) ok=0;\n", bits_p, bits_p); + printf("\tif (ok && !EC_GROUP_set_curve_GFp(ecdsa->group,tmp_1,tmp_2,tmp_3,ctx)) ok=0;\n"); + printf("\tif (ok && !BN_bin2bn(ecdsa%d_x,sizeof(ecdsa%d_p),tmp_1)) ok=0;\n", bits_p, bits_p); + printf("\tif (ok && !BN_bin2bn(ecdsa%d_y,sizeof(ecdsa%d_a),tmp_2)) ok=0;\n", bits_p, bits_p); + printf("\tif (ok && (point = EC_POINT_new(ecdsa->group)) == NULL) ok=0;\n"); + printf("\tif (ok && !EC_POINT_set_affine_coordinates_GFp(ecdsa->group,point,tmp_1,tmp_2,ctx)) ok=0:\n"); + printf("\tif (ok && !BN_bin2bn(ecdsa%d_o,sizeof(ecdsa%d_b),tmp_1)) ok=0;\n", bits_p, bits_p); + printf("\tif (ok && !BN_bin2bn(ecdsa%d_c,sizeof(ecdsa%d_b),tmp_2)) ok=0;\n", bits_p, bits_p); + printf("\tif (ok && !EC_GROUP_set_generator(ecdsa->group,point,tmp_1,tmp_2)) ok=0;\n"); + printf("\tif ((ecdsa->group == NULL) || (ecdsa->pub_key == NULL) || (ecdsa->priv_key == NULL))\n"); + printf("\t\t{ ECDSA_free(ecdsa); return(NULL); }\n"); + printf("\treturn(ecdsa);\n\t}\n"); + } + + + if (!noout) + { + if (outformat == FORMAT_ASN1) + i = i2d_ECDSAParameters_bio(out, ecdsa); + else if (outformat == FORMAT_PEM) + i = PEM_write_bio_ECDSAParameters(out, ecdsa); + else + { + BIO_printf(bio_err,"bad output format specified for outfile\n"); + goto end; + } + if (!i) + { + BIO_printf(bio_err, "unable to write ECDSA parameters\n"); + ERR_print_errors(bio_err); + goto end; + } + } + if (genkey) + { + ECDSA *ecdsakey; + + assert(need_rand); + if ((ecdsakey = ECDSAParameters_dup(ecdsa)) == NULL) goto end; + if (!ECDSA_generate_key(ecdsakey)) goto end; + if (outformat == FORMAT_ASN1) + i = i2d_ECDSAPrivateKey_bio(out, ecdsakey); + else if (outformat == FORMAT_PEM) + i = PEM_write_bio_ECDSAPrivateKey(out, ecdsakey, NULL, NULL, 0, NULL, NULL); + else + { + BIO_printf(bio_err, "bad output format specified for outfile\n"); + goto end; + } + ECDSA_free(ecdsakey); + } + if (need_rand) + app_RAND_write_file(NULL, bio_err); + ret=0; +end: + if (in != NULL) BIO_free(in); + if (out != NULL) BIO_free_all(out); + if (ecdsa != NULL) ECDSA_free(ecdsa); + if (tmp_1) BN_free(tmp_1); + if (tmp_2) BN_free(tmp_2); + if (tmp_3) BN_free(tmp_3); + if (tmp_3) BN_free(tmp_4); + if (tmp_3) BN_free(tmp_5); + if (tmp_3) BN_free(tmp_6); + if (tmp_3) BN_free(tmp_7); + if (ctx) BN_CTX_free(ctx); + apps_shutdown(); + EXIT(ret); +} +#endif diff --git a/apps/progs.h b/apps/progs.h index 752385d3a7..ecc671b507 100644 --- a/apps/progs.h +++ b/apps/progs.h @@ -17,6 +17,8 @@ extern int rsa_main(int argc,char *argv[]); extern int rsautl_main(int argc,char *argv[]); extern int dsa_main(int argc,char *argv[]); extern int dsaparam_main(int argc,char *argv[]); +extern int ecdsa_main(int argc,char *argv[]); +extern int ecdsaparam_main(int argc,char *argv[]); extern int x509_main(int argc,char *argv[]); extern int genrsa_main(int argc,char *argv[]); extern int gendsa_main(int argc,char *argv[]); @@ -78,6 +80,12 @@ FUNCTION functions[] = { #endif #ifndef OPENSSL_NO_DSA {FUNC_TYPE_GENERAL,"dsaparam",dsaparam_main}, +#endif +#ifndef OPENSSL_NO_ECDSA + {FUNC_TYPE_GENERAL,"ecdsa",ecdsa_main}, +#endif +#ifndef OPENSSL_NO_ECDSA + {FUNC_TYPE_GENERAL,"ecdsaparam",ecdsaparam_main}, #endif {FUNC_TYPE_GENERAL,"x509",x509_main}, #ifndef OPENSSL_NO_RSA diff --git a/apps/progs.pl b/apps/progs.pl index d6a40edb91..7672d076c3 100644 --- a/apps/progs.pl +++ b/apps/progs.pl @@ -33,6 +33,8 @@ foreach (@ARGV) { print "#ifndef OPENSSL_NO_RSA\n${str}#endif\n"; } elsif ( ($_ =~ /^dsa$/) || ($_ =~ /^gendsa$/) || ($_ =~ /^dsaparam$/)) { print "#ifndef OPENSSL_NO_DSA\n${str}#endif\n"; } + elsif ( ($_ =~ /^ecdsa$/) || ($_ =~ /^ecdsaparam$/)) + { print "#ifndef OPENSSL_NO_ECDSA\n${str}#endif\n";} elsif ( ($_ =~ /^dh$/) || ($_ =~ /^gendh$/) || ($_ =~ /^dhparam$/)) { print "#ifndef OPENSSL_NO_DH\n${str}#endif\n"; } elsif ( ($_ =~ /^pkcs12$/)) diff --git a/apps/req.c b/apps/req.c index c406b6444c..27a7bba106 100644 --- a/apps/req.c +++ b/apps/req.c @@ -142,6 +142,7 @@ static int batch=0; #define TYPE_RSA 1 #define TYPE_DSA 2 #define TYPE_DH 3 +#define TYPE_ECDSA 4 int MAIN(int, char **); @@ -150,6 +151,9 @@ int MAIN(int argc, char **argv) ENGINE *e = NULL; #ifndef OPENSSL_NO_DSA DSA *dsa_params=NULL; +#endif +#ifndef OPENSSL_NO_ECDSA + ECDSA *ecdsa_params = NULL; #endif unsigned long nmflag = 0; int ex=1,x509=0,days=30; @@ -317,11 +321,63 @@ int MAIN(int argc, char **argv) } } BIO_free(in); - newkey=BN_num_bits(dsa_params->p); in=NULL; + newkey=BN_num_bits(dsa_params->p); } else #endif +#ifndef OPENSSL_NO_ECDSA + if (strncmp("ecdsa:",p,4) == 0) + { + X509 *xtmp=NULL; + EVP_PKEY *dtmp; + + pkey_type=TYPE_ECDSA; + p+=6; + if ((in=BIO_new_file(p,"r")) == NULL) + { + perror(p); + goto end; + } + if ((ecdsa_params = PEM_read_bio_ECDSAParameters(in, NULL, NULL, NULL)) == NULL) + { + ERR_clear_error(); + (void)BIO_reset(in); + if ((xtmp=PEM_read_bio_X509(in,NULL,NULL,NULL)) == NULL) + { + BIO_printf(bio_err,"unable to load ECDSA parameters from file\n"); + goto end; + } + + dtmp=X509_get_pubkey(xtmp); + if (dtmp->type == EVP_PKEY_ECDSA) + ecdsa_params = ECDSAParameters_dup(dtmp->pkey.ecdsa); + EVP_PKEY_free(dtmp); + X509_free(xtmp); + if (ecdsa_params == NULL) + { + BIO_printf(bio_err,"Certificate does not contain ECDSA parameters\n"); + goto end; + } + } + + BIO_free(in); + in=NULL; + + { + BIGNUM *order = BN_new(); + + if (!order) + goto end; + if (!EC_GROUP_get_order(ecdsa_params->group, order, NULL)) + goto end; + newkey = BN_num_bits(order); + BN_free(order); + } + + } + else +#endif #ifndef OPENSSL_NO_DH if (strncmp("dh:",p,4) == 0) { @@ -433,6 +489,7 @@ bad: BIO_printf(bio_err," the random number generator\n"); BIO_printf(bio_err," -newkey rsa:bits generate a new RSA key of 'bits' in size\n"); BIO_printf(bio_err," -newkey dsa:file generate a new DSA key, parameters taken from CA in 'file'\n"); + BIO_printf(bio_err," -newkey ecdsa:file generate a new ECDSA key, parameters taken from CA in 'file'\n"); BIO_printf(bio_err," -[digest] Digest to sign with (md5, sha1, md2, mdc2, md4)\n"); BIO_printf(bio_err," -config file request template file.\n"); BIO_printf(bio_err," -subj arg set or modify request subject\n"); @@ -626,7 +683,7 @@ bad: message */ goto end; } - if (EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA) + if (EVP_PKEY_type(pkey->type) == EVP_PKEY_DSA || EVP_PKEY_type(pkey->type) == EVP_PKEY_ECDSA) { char *randfile = NCONF_get_string(req_conf,SECTION,"RANDFILE"); if (randfile == NULL) @@ -650,14 +707,15 @@ bad: newkey=DEFAULT_KEY_LENGTH; } - if (newkey < MIN_KEY_LENGTH) + if (newkey < MIN_KEY_LENGTH && (pkey_type == TYPE_RSA || pkey_type == TYPE_DSA)) + /* TODO: appropriate minimal keylength for the different algorithm (esp. ECDSA) */ { BIO_printf(bio_err,"private key length is too short,\n"); BIO_printf(bio_err,"it needs to be at least %d bits, not %d\n",MIN_KEY_LENGTH,newkey); goto end; } BIO_printf(bio_err,"Generating a %d bit %s private key\n", - newkey,(pkey_type == TYPE_RSA)?"RSA":"DSA"); + newkey,(pkey_type == TYPE_RSA)?"RSA":(pkey_type == TYPE_DSA)?"DSA":"ECDSA"); if ((pkey=EVP_PKEY_new()) == NULL) goto end; @@ -679,6 +737,14 @@ bad: dsa_params=NULL; } #endif +#ifndef OPENSSL_NO_ECDSA + if (pkey_type == TYPE_ECDSA) + { + if (!ECDSA_generate_key(ecdsa_params)) goto end; + if (!EVP_PKEY_assign_ECDSA(pkey, ecdsa_params)) goto end; + ecdsa_params = NULL; + } +#endif app_RAND_write_file(randfile, bio_err); @@ -784,6 +850,10 @@ loop: #ifndef OPENSSL_NO_DSA if (pkey->type == EVP_PKEY_DSA) digest=EVP_dss1(); +#endif +#ifndef OPENSSL_NO_ECDSA + if (pkey->type == EVP_PKEY_ECDSA) + digest=EVP_ecdsa(); #endif if (req == NULL) { @@ -1064,6 +1134,9 @@ end: OBJ_cleanup(); #ifndef OPENSSL_NO_DSA if (dsa_params != NULL) DSA_free(dsa_params); +#endif +#ifndef OPENSSL_NO_ECDSA + if (ecdsa_params != NULL) ECDSA_free(ecdsa_params); #endif apps_shutdown(); EXIT(ex); diff --git a/apps/s_server.c b/apps/s_server.c index 618cb8d638..078e220c03 100644 --- a/apps/s_server.c +++ b/apps/s_server.c @@ -702,7 +702,7 @@ bad: } } -#if !defined(OPENSSL_NO_RSA) || !defined(OPENSSL_NO_DSA) +#if !defined(OPENSSL_NO_RSA) || !defined(OPENSSL_NO_DSA) || !defined(OPENSSL_NO_ECDSA) if (nocert) #endif { diff --git a/apps/x509.c b/apps/x509.c index b2ea09d52f..a56f037b89 100644 --- a/apps/x509.c +++ b/apps/x509.c @@ -866,6 +866,10 @@ bad: if (Upkey->type == EVP_PKEY_DSA) digest=EVP_dss1(); #endif +#ifndef OPENSSL_NO_ECDSA + if (Upkey->type == EVP_PKEY_ECDSA) + digest=EVP_ecdsa(); +#endif assert(need_rand); if (!sign(x,Upkey,days,clrext,digest, @@ -885,6 +889,10 @@ bad: if (CApkey->type == EVP_PKEY_DSA) digest=EVP_dss1(); #endif +#ifndef OPENSSL_NO_ECDSA + if (CApkey->type == EVP_PKEY_ECDSA) + digest = EVP_ecdsa(); +#endif assert(need_rand); if (!x509_certify(ctx,CAfile,digest,x,xca, @@ -914,6 +922,8 @@ bad: if (pk->type == EVP_PKEY_DSA) digest=EVP_dss1(); + else if (pk->type == EVP_PKEY_ECDSA) + digest=EVP_ecdsa(); rq=X509_to_X509_REQ(x,pk,digest); EVP_PKEY_free(pk); diff --git a/crypto/Makefile.ssl b/crypto/Makefile.ssl index bb2a20ec87..15bf58c529 100644 --- a/crypto/Makefile.ssl +++ b/crypto/Makefile.ssl @@ -28,7 +28,7 @@ LIBS= SDIRS= md2 md5 sha mdc2 hmac ripemd \ des rc2 rc4 rc5 idea bf cast \ - bn ec rsa dsa dh dso engine aes \ + bn ec rsa dsa ecdsa dh dso engine aes \ buffer bio stack lhash rand err objects \ evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 diff --git a/crypto/asn1/Makefile.ssl b/crypto/asn1/Makefile.ssl index 09d4cb4896..267d4a1b9d 100644 --- a/crypto/asn1/Makefile.ssl +++ b/crypto/asn1/Makefile.ssl @@ -145,13 +145,14 @@ a_d2i_fp.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h a_d2i_fp.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h a_d2i_fp.o: ../../include/openssl/symhacks.h ../cryptlib.h a_d2i_fp.c a_digest.o: ../../e_os.h ../../include/openssl/asn1.h -a_digest.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -a_digest.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -a_digest.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -a_digest.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -a_digest.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -a_digest.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -a_digest.o: ../../include/openssl/opensslconf.h +a_digest.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +a_digest.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +a_digest.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +a_digest.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +a_digest.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +a_digest.o: ../../include/openssl/err.h ../../include/openssl/evp.h +a_digest.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +a_digest.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h a_digest.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h a_digest.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h a_digest.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -257,10 +258,12 @@ a_set.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h a_set.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h a_set.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h a_set.o: ../cryptlib.h a_set.c -a_sign.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +a_sign.o: ../../e_os.h ../../include/openssl/asn1.h +a_sign.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h a_sign.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h a_sign.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h a_sign.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +a_sign.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h a_sign.o: ../../include/openssl/err.h ../../include/openssl/evp.h a_sign.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h a_sign.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -270,18 +273,20 @@ a_sign.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h a_sign.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h a_sign.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h a_sign.o: ../cryptlib.h a_sign.c -a_strex.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -a_strex.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h -a_strex.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -a_strex.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -a_strex.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -a_strex.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -a_strex.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -a_strex.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h -a_strex.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -a_strex.o: ../../include/openssl/sha.h ../../include/openssl/stack.h -a_strex.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h -a_strex.o: ../../include/openssl/x509_vfy.h a_strex.c charmap.h +a_strex.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +a_strex.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +a_strex.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h +a_strex.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +a_strex.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +a_strex.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h +a_strex.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +a_strex.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +a_strex.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +a_strex.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h +a_strex.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +a_strex.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +a_strex.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h +a_strex.o: a_strex.c charmap.h a_strnid.o: ../../e_os.h ../../include/openssl/asn1.h a_strnid.o: ../../include/openssl/bio.h ../../include/openssl/bn.h a_strnid.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h @@ -326,13 +331,14 @@ a_utf8.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h a_utf8.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h a_utf8.o: ../cryptlib.h a_utf8.c a_verify.o: ../../e_os.h ../../include/openssl/asn1.h -a_verify.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -a_verify.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -a_verify.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -a_verify.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -a_verify.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -a_verify.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -a_verify.o: ../../include/openssl/opensslconf.h +a_verify.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +a_verify.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +a_verify.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +a_verify.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +a_verify.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +a_verify.o: ../../include/openssl/err.h ../../include/openssl/evp.h +a_verify.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +a_verify.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h a_verify.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h a_verify.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h a_verify.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -364,14 +370,15 @@ asn1_par.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h asn1_par.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h asn1_par.o: ../../include/openssl/symhacks.h ../cryptlib.h asn1_par.c asn_moid.o: ../../e_os.h ../../include/openssl/asn1.h -asn_moid.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -asn_moid.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -asn_moid.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -asn_moid.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h -asn_moid.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -asn_moid.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -asn_moid.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -asn_moid.o: ../../include/openssl/opensslconf.h +asn_moid.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +asn_moid.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +asn_moid.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +asn_moid.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +asn_moid.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h +asn_moid.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +asn_moid.o: ../../include/openssl/err.h ../../include/openssl/evp.h +asn_moid.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +asn_moid.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h asn_moid.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h asn_moid.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h asn_moid.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -386,10 +393,12 @@ asn_pack.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h asn_pack.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h asn_pack.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h asn_pack.o: ../../include/openssl/symhacks.h ../cryptlib.h asn_pack.c -d2i_pr.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +d2i_pr.o: ../../e_os.h ../../include/openssl/asn1.h +d2i_pr.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h d2i_pr.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h d2i_pr.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h d2i_pr.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +d2i_pr.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h d2i_pr.o: ../../include/openssl/err.h ../../include/openssl/evp.h d2i_pr.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h d2i_pr.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -397,10 +406,12 @@ d2i_pr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h d2i_pr.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h d2i_pr.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h d2i_pr.o: ../cryptlib.h d2i_pr.c -d2i_pu.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +d2i_pu.o: ../../e_os.h ../../include/openssl/asn1.h +d2i_pu.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h d2i_pu.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h d2i_pu.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h d2i_pu.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +d2i_pu.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h d2i_pu.o: ../../include/openssl/err.h ../../include/openssl/evp.h d2i_pu.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h d2i_pu.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -441,10 +452,12 @@ f_string.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h f_string.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h f_string.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h f_string.o: ../../include/openssl/symhacks.h ../cryptlib.h f_string.c -i2d_pr.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +i2d_pr.o: ../../e_os.h ../../include/openssl/asn1.h +i2d_pr.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h i2d_pr.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h i2d_pr.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h i2d_pr.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +i2d_pr.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h i2d_pr.o: ../../include/openssl/err.h ../../include/openssl/evp.h i2d_pr.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h i2d_pr.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -452,10 +465,12 @@ i2d_pr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h i2d_pr.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h i2d_pr.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h i2d_pr.o: ../cryptlib.h i2d_pr.c -i2d_pu.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +i2d_pu.o: ../../e_os.h ../../include/openssl/asn1.h +i2d_pu.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h i2d_pu.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h i2d_pu.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h i2d_pu.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +i2d_pu.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h i2d_pu.o: ../../include/openssl/err.h ../../include/openssl/evp.h i2d_pu.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h i2d_pu.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -468,7 +483,8 @@ n_pkey.o: ../../include/openssl/asn1_mac.h ../../include/openssl/asn1t.h n_pkey.o: ../../include/openssl/bio.h ../../include/openssl/bn.h n_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h n_pkey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -n_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +n_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +n_pkey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h n_pkey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h n_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h n_pkey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h @@ -481,7 +497,8 @@ nsseq.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h nsseq.o: ../../include/openssl/bio.h ../../include/openssl/bn.h nsseq.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h nsseq.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -nsseq.o: ../../include/openssl/e_os2.h ../../include/openssl/evp.h +nsseq.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +nsseq.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h nsseq.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h nsseq.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h nsseq.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h @@ -494,6 +511,7 @@ p5_pbe.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h p5_pbe.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h p5_pbe.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h p5_pbe.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p5_pbe.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h p5_pbe.o: ../../include/openssl/err.h ../../include/openssl/evp.h p5_pbe.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h p5_pbe.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -508,6 +526,7 @@ p5_pbev2.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h p5_pbev2.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h p5_pbev2.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h p5_pbev2.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p5_pbev2.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h p5_pbev2.o: ../../include/openssl/err.h ../../include/openssl/evp.h p5_pbev2.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h p5_pbev2.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -522,6 +541,7 @@ p8_pkey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h p8_pkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h p8_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h p8_pkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p8_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h p8_pkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h p8_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h p8_pkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -532,24 +552,28 @@ p8_pkey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h p8_pkey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h p8_pkey.o: ../cryptlib.h p8_pkey.c t_bitst.o: ../../e_os.h ../../include/openssl/asn1.h -t_bitst.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -t_bitst.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -t_bitst.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -t_bitst.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -t_bitst.o: ../../include/openssl/err.h ../../include/openssl/evp.h -t_bitst.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -t_bitst.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h -t_bitst.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -t_bitst.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -t_bitst.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -t_bitst.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -t_bitst.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -t_bitst.o: ../../include/openssl/x509v3.h ../cryptlib.h t_bitst.c -t_crl.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +t_bitst.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +t_bitst.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +t_bitst.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +t_bitst.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +t_bitst.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +t_bitst.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +t_bitst.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +t_bitst.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +t_bitst.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +t_bitst.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h +t_bitst.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +t_bitst.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +t_bitst.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +t_bitst.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h +t_bitst.o: ../cryptlib.h t_bitst.c +t_crl.o: ../../e_os.h ../../include/openssl/asn1.h +t_crl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h t_crl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h t_crl.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h t_crl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -t_crl.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +t_crl.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +t_crl.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h t_crl.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h t_crl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h t_crl.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h @@ -559,20 +583,24 @@ t_crl.o: ../../include/openssl/sha.h ../../include/openssl/stack.h t_crl.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h t_crl.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h t_crl.o: ../cryptlib.h t_crl.c -t_pkey.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +t_pkey.o: ../../e_os.h ../../include/openssl/asn1.h +t_pkey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h t_pkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h t_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h t_pkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +t_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h t_pkey.o: ../../include/openssl/err.h ../../include/openssl/lhash.h t_pkey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h t_pkey.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rsa.h t_pkey.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h t_pkey.o: ../../include/openssl/symhacks.h ../cryptlib.h t_pkey.c -t_req.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +t_req.o: ../../e_os.h ../../include/openssl/asn1.h +t_req.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h t_req.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h t_req.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h t_req.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -t_req.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +t_req.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +t_req.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h t_req.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h t_req.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h t_req.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h @@ -582,10 +610,12 @@ t_req.o: ../../include/openssl/sha.h ../../include/openssl/stack.h t_req.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h t_req.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h t_req.o: ../cryptlib.h t_req.c -t_spki.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +t_spki.o: ../../e_os.h ../../include/openssl/asn1.h +t_spki.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h t_spki.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h t_spki.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h t_spki.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +t_spki.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h t_spki.o: ../../include/openssl/err.h ../../include/openssl/evp.h t_spki.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h t_spki.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -595,11 +625,13 @@ t_spki.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h t_spki.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h t_spki.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h t_spki.o: ../cryptlib.h t_spki.c -t_x509.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +t_x509.o: ../../e_os.h ../../include/openssl/asn1.h +t_x509.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h t_x509.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h t_x509.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h t_x509.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -t_x509.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +t_x509.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +t_x509.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h t_x509.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h t_x509.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h t_x509.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h @@ -610,18 +642,20 @@ t_x509.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h t_x509.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h t_x509.o: ../cryptlib.h t_x509.c t_x509a.o: ../../e_os.h ../../include/openssl/asn1.h -t_x509a.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -t_x509a.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -t_x509a.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -t_x509a.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -t_x509a.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -t_x509a.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -t_x509a.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -t_x509a.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h -t_x509a.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -t_x509a.o: ../../include/openssl/sha.h ../../include/openssl/stack.h -t_x509a.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h -t_x509a.o: ../../include/openssl/x509_vfy.h ../cryptlib.h t_x509a.c +t_x509a.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +t_x509a.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +t_x509a.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +t_x509a.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +t_x509a.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +t_x509a.o: ../../include/openssl/err.h ../../include/openssl/evp.h +t_x509a.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +t_x509a.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +t_x509a.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +t_x509a.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h +t_x509a.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +t_x509a.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +t_x509a.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h +t_x509a.o: ../cryptlib.h t_x509a.c tasn_dec.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h tasn_dec.o: ../../include/openssl/bio.h ../../include/openssl/bn.h tasn_dec.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h @@ -676,7 +710,8 @@ x_algor.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h x_algor.o: ../../include/openssl/bio.h ../../include/openssl/bn.h x_algor.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h x_algor.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -x_algor.o: ../../include/openssl/e_os2.h ../../include/openssl/evp.h +x_algor.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +x_algor.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h x_algor.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h x_algor.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h x_algor.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h @@ -690,6 +725,7 @@ x_attrib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h x_attrib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h x_attrib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h x_attrib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x_attrib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h x_attrib.o: ../../include/openssl/err.h ../../include/openssl/evp.h x_attrib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h x_attrib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -713,6 +749,7 @@ x_crl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h x_crl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h x_crl.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h x_crl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x_crl.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h x_crl.o: ../../include/openssl/err.h ../../include/openssl/evp.h x_crl.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h x_crl.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -726,7 +763,8 @@ x_exten.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h x_exten.o: ../../include/openssl/bio.h ../../include/openssl/bn.h x_exten.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h x_exten.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -x_exten.o: ../../include/openssl/e_os2.h ../../include/openssl/evp.h +x_exten.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +x_exten.o: ../../include/openssl/ecdsa.h ../../include/openssl/evp.h x_exten.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h x_exten.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h x_exten.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h @@ -735,10 +773,12 @@ x_exten.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h x_exten.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x_exten.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x_exten.o: x_exten.c -x_info.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +x_info.o: ../../e_os.h ../../include/openssl/asn1.h +x_info.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h x_info.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h x_info.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h x_info.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x_info.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h x_info.o: ../../include/openssl/err.h ../../include/openssl/evp.h x_info.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h x_info.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -762,6 +802,7 @@ x_name.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h x_name.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h x_name.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h x_name.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x_name.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h x_name.o: ../../include/openssl/err.h ../../include/openssl/evp.h x_name.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h x_name.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -772,24 +813,26 @@ x_name.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x_name.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x_name.o: ../cryptlib.h x_name.c x_pkey.o: ../../e_os.h ../../include/openssl/asn1.h -x_pkey.o: ../../include/openssl/asn1_mac.h ../../include/openssl/bio.h -x_pkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h -x_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -x_pkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -x_pkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h -x_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -x_pkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h -x_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -x_pkey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -x_pkey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -x_pkey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -x_pkey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -x_pkey.o: ../cryptlib.h x_pkey.c +x_pkey.o: ../../include/openssl/asn1_mac.h ../../include/openssl/asn1t.h +x_pkey.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +x_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h +x_pkey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +x_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +x_pkey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +x_pkey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +x_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +x_pkey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +x_pkey.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h +x_pkey.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +x_pkey.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +x_pkey.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +x_pkey.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x_pkey.c x_pubkey.o: ../../e_os.h ../../include/openssl/asn1.h x_pubkey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h x_pubkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h x_pubkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h x_pubkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x_pubkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h x_pubkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h x_pubkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h x_pubkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -804,6 +847,7 @@ x_req.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h x_req.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h x_req.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h x_req.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x_req.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h x_req.o: ../../include/openssl/err.h ../../include/openssl/evp.h x_req.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h x_req.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -818,6 +862,7 @@ x_sig.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h x_sig.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h x_sig.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h x_sig.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x_sig.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h x_sig.o: ../../include/openssl/err.h ../../include/openssl/evp.h x_sig.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h x_sig.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -832,6 +877,7 @@ x_spki.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h x_spki.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h x_spki.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h x_spki.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x_spki.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h x_spki.o: ../../include/openssl/err.h ../../include/openssl/evp.h x_spki.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h x_spki.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -846,6 +892,7 @@ x_val.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h x_val.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h x_val.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h x_val.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x_val.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h x_val.o: ../../include/openssl/err.h ../../include/openssl/evp.h x_val.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h x_val.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -860,7 +907,8 @@ x_x509.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h x_x509.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h x_x509.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h x_x509.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -x_x509.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +x_x509.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +x_x509.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h x_x509.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h x_x509.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h x_x509.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h @@ -875,6 +923,7 @@ x_x509a.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h x_x509a.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h x_x509a.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h x_x509a.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x_x509a.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h x_x509a.o: ../../include/openssl/err.h ../../include/openssl/evp.h x_x509a.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h x_x509a.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h diff --git a/crypto/asn1/asn1.h b/crypto/asn1/asn1.h index d8474dc685..83706353e1 100644 --- a/crypto/asn1/asn1.h +++ b/crypto/asn1/asn1.h @@ -1006,6 +1006,7 @@ void ERR_load_ASN1_strings(void); #define ASN1_F_D2I_X509_PKEY 159 #define ASN1_F_I2D_ASN1_TIME 160 #define ASN1_F_I2D_DSA_PUBKEY 161 +#define ASN1_F_I2D_ECDSA_PUBKEY 174 #define ASN1_F_I2D_NETSCAPE_RSA 162 #define ASN1_F_I2D_PRIVATEKEY 163 #define ASN1_F_I2D_PUBLICKEY 164 diff --git a/crypto/asn1/asn1_err.c b/crypto/asn1/asn1_err.c index 591f55dde5..dd8fb347d4 100644 --- a/crypto/asn1/asn1_err.c +++ b/crypto/asn1/asn1_err.c @@ -128,6 +128,7 @@ static ERR_STRING_DATA ASN1_str_functs[]= {ERR_PACK(0,ASN1_F_D2I_X509_PKEY,0), "d2i_X509_PKEY"}, {ERR_PACK(0,ASN1_F_I2D_ASN1_TIME,0), "I2D_ASN1_TIME"}, {ERR_PACK(0,ASN1_F_I2D_DSA_PUBKEY,0), "i2d_DSA_PUBKEY"}, +{ERR_PACK(0,ASN1_F_I2D_ECDSA_PUBKEY,0), "i2d_ECDSA_PUBKEY"}, {ERR_PACK(0,ASN1_F_I2D_NETSCAPE_RSA,0), "i2d_Netscape_RSA"}, {ERR_PACK(0,ASN1_F_I2D_PRIVATEKEY,0), "i2d_PrivateKey"}, {ERR_PACK(0,ASN1_F_I2D_PUBLICKEY,0), "i2d_PublicKey"}, diff --git a/crypto/asn1/d2i_pr.c b/crypto/asn1/d2i_pr.c index 2e7d96af90..d56e5fdc6e 100644 --- a/crypto/asn1/d2i_pr.c +++ b/crypto/asn1/d2i_pr.c @@ -68,6 +68,9 @@ #ifndef OPENSSL_NO_DSA #include #endif +#ifndef OPENSSL_NO_ECDSA +#include +#endif EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, unsigned char **pp, long length) @@ -107,6 +110,16 @@ EVP_PKEY *d2i_PrivateKey(int type, EVP_PKEY **a, unsigned char **pp, goto err; } break; +#endif +#ifndef OPENSSL_NO_ECDSA + case EVP_PKEY_ECDSA: + if ((ret->pkey.ecdsa = d2i_ECDSAPrivateKey(NULL, + (const unsigned char **)pp, length)) == NULL) + { + ASN1err(ASN1_F_D2I_PRIVATEKEY, ERR_R_ASN1_LIB); + goto err; + } + break; #endif default: ASN1err(ASN1_F_D2I_PRIVATEKEY,ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE); @@ -138,7 +151,10 @@ EVP_PKEY *d2i_AutoPrivateKey(EVP_PKEY **a, unsigned char **pp, /* Since we only need to discern "traditional format" RSA and DSA * keys we can just count the elements. */ - if(sk_ASN1_TYPE_num(inkey) == 6) keytype = EVP_PKEY_DSA; + if(sk_ASN1_TYPE_num(inkey) == 6) + keytype = EVP_PKEY_DSA; + else if (sk_ASN1_TYPE_num(inkey) == 4) + keytype = EVP_PKEY_ECDSA; else keytype = EVP_PKEY_RSA; sk_ASN1_TYPE_pop_free(inkey, ASN1_TYPE_free); return d2i_PrivateKey(keytype, a, pp, length); diff --git a/crypto/asn1/d2i_pu.c b/crypto/asn1/d2i_pu.c index 71f2eb361b..81b5d0f820 100644 --- a/crypto/asn1/d2i_pu.c +++ b/crypto/asn1/d2i_pu.c @@ -68,6 +68,9 @@ #ifndef OPENSSL_NO_DSA #include #endif +#ifndef OPENSSL_NO_ECDSA +#include +#endif EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, unsigned char **pp, long length) @@ -100,13 +103,23 @@ EVP_PKEY *d2i_PublicKey(int type, EVP_PKEY **a, unsigned char **pp, #endif #ifndef OPENSSL_NO_DSA case EVP_PKEY_DSA: - if ((ret->pkey.dsa=d2i_DSAPublicKey(NULL, + if ((ret->pkey.dsa=d2i_DSAPublicKey(&(ret->pkey.dsa), (const unsigned char **)pp,length)) == NULL) /* TMP UGLY CAST */ { ASN1err(ASN1_F_D2I_PUBLICKEY,ERR_R_ASN1_LIB); goto err; } break; +#endif +#ifndef OPENSSL_NO_ECDSA + case EVP_PKEY_ECDSA: + if ((ret->pkey.ecdsa = d2i_ECDSAPublicKey(&(ret->pkey.ecdsa), + (const unsigned char **)pp, length)) == NULL) + { + ASN1err(ASN1_F_D2I_PUBLICKEY, ERR_R_ASN1_LIB); + goto err; + } + break; #endif default: ASN1err(ASN1_F_D2I_PUBLICKEY,ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE); diff --git a/crypto/asn1/i2d_pr.c b/crypto/asn1/i2d_pr.c index 1e951ae01d..a40c64d3f4 100644 --- a/crypto/asn1/i2d_pr.c +++ b/crypto/asn1/i2d_pr.c @@ -67,6 +67,9 @@ #ifndef OPENSSL_NO_DSA #include #endif +#ifndef OPENSSL_NO_ECDSA +#include +#endif int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp) { @@ -83,6 +86,12 @@ int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp) return(i2d_DSAPrivateKey(a->pkey.dsa,pp)); } #endif +#ifndef OPENSSL_NO_ECDSA + if (a->type == EVP_PKEY_ECDSA) + { + return(i2d_ECDSAPrivateKey(a->pkey.ecdsa, pp)); + } +#endif ASN1err(ASN1_F_I2D_PRIVATEKEY,ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE); return(-1); diff --git a/crypto/asn1/i2d_pu.c b/crypto/asn1/i2d_pu.c index 013d19bbf4..2607734ebc 100644 --- a/crypto/asn1/i2d_pu.c +++ b/crypto/asn1/i2d_pu.c @@ -67,6 +67,9 @@ #ifndef OPENSSL_NO_DSA #include #endif +#ifndef OPENSSL_NO_ECDSA +#include +#endif int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp) { @@ -79,6 +82,10 @@ int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp) #ifndef OPENSSL_NO_DSA case EVP_PKEY_DSA: return(i2d_DSAPublicKey(a->pkey.dsa,pp)); +#endif +#ifndef OPENSSL_NO_ECDSA + case EVP_PKEY_ECDSA: + return(i2d_ECDSAPublicKey(a->pkey.ecdsa, pp)); #endif default: ASN1err(ASN1_F_I2D_PUBLICKEY,ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE); diff --git a/crypto/asn1/t_pkey.c b/crypto/asn1/t_pkey.c index 8060115202..ff644450a4 100644 --- a/crypto/asn1/t_pkey.c +++ b/crypto/asn1/t_pkey.c @@ -69,26 +69,29 @@ #ifndef OPENSSL_NO_DSA #include #endif +#ifndef OPENSSL_NO_ECDSA +#include +#endif static int print(BIO *fp,const char *str,BIGNUM *num, unsigned char *buf,int off); #ifndef OPENSSL_NO_RSA #ifndef OPENSSL_NO_FP_API int RSA_print_fp(FILE *fp, const RSA *x, int off) - { - BIO *b; - int ret; + { + BIO *b; + int ret; - if ((b=BIO_new(BIO_s_file())) == NULL) + if ((b=BIO_new(BIO_s_file())) == NULL) { RSAerr(RSA_F_RSA_PRINT_FP,ERR_R_BUF_LIB); - return(0); + return(0); } - BIO_set_fp(b,fp,BIO_NOCLOSE); - ret=RSA_print(b,x,off); - BIO_free(b); - return(ret); - } + BIO_set_fp(b,fp,BIO_NOCLOSE); + ret=RSA_print(b,x,off); + BIO_free(b); + return(ret); + } #endif int RSA_print(BIO *bp, const RSA *x, int off) @@ -209,6 +212,139 @@ err: } #endif /* !OPENSSL_NO_DSA */ +#ifndef OPENSSL_NO_ECDSA +#ifndef OPENSSL_NO_FP_API +int ECDSA_print_fp(FILE *fp, const ECDSA *x, int off) +{ + BIO *b; + int ret; + + if ((b=BIO_new(BIO_s_file())) == NULL) + { + ECDSAerr(ECDSA_F_ECDSA_PRINT_FP, ERR_R_BIO_LIB); + return(0); + } + BIO_set_fp(b, fp, BIO_NOCLOSE); + ret = ECDSA_print(b, x, off); + BIO_free(b); + return(ret); +} +#endif + +int ECDSA_print(BIO *bp, const ECDSA *x, int off) + { + char str[128]; + unsigned char *buffer=NULL; + int i, buf_len=0, ret=0, reason=ERR_R_BIO_LIB; + BIGNUM *tmp_1=NULL, *tmp_2=NULL, *tmp_3=NULL, + *tmp_4=NULL, *tmp_5=NULL; + BN_CTX *ctx=NULL; + EC_POINT *point=NULL; + + /* TODO: fields other than prime fields */ + + if (!x || !x->group) + { + reason = ECDSA_R_MISSING_PARAMETERS; + goto err; + } + if ((tmp_1 = BN_new()) == NULL || (tmp_2 = BN_new()) == NULL || + (tmp_3 = BN_new()) == NULL || (ctx = BN_CTX_new()) == NULL) + { + reason = ERR_R_MALLOC_FAILURE; + goto err; + } + if (!EC_GROUP_get_curve_GFp(x->group, tmp_1, tmp_2, tmp_3, ctx)) + { + reason = ERR_R_EC_LIB; + goto err; + } + if ((point = EC_GROUP_get0_generator(x->group)) == NULL) + { + reason = ERR_R_EC_LIB; + goto err; + } + if ((buf_len = EC_POINT_point2oct(x->group, point, POINT_CONVERSION_COMPRESSED, NULL, 0, ctx)) == 0) + { + reason = ECDSA_R_UNEXPECTED_PARAMETER_LENGTH; + goto err; + } + if ((buffer = OPENSSL_malloc(buf_len)) == NULL) + { + reason = ERR_R_MALLOC_FAILURE; + goto err; + } + if (!EC_POINT_point2oct(x->group, point, POINT_CONVERSION_COMPRESSED, + buffer, buf_len, ctx)) goto err; + if ((tmp_4 = BN_bin2bn(buffer, buf_len, NULL)) == NULL) + { + reason = ERR_R_BN_LIB; + goto err; + } + if ((i = EC_POINT_point2oct(x->group, x->pub_key, POINT_CONVERSION_COMPRESSED, NULL, 0, ctx)) == 0) + { + reason = ECDSA_R_UNEXPECTED_PARAMETER_LENGTH; + goto err; + } + if (i > buf_len && (buffer = OPENSSL_realloc(buffer, i)) == NULL) + { + reason = ERR_R_MALLOC_FAILURE; + buf_len = i; + goto err; + } + if (!EC_POINT_point2oct(x->group, x->pub_key, POINT_CONVERSION_COMPRESSED, + buffer, buf_len, ctx)) + { + reason = ERR_R_EC_LIB; + goto err; + } + if ((tmp_5 = BN_bin2bn(buffer, buf_len, NULL)) == NULL) + { + reason = ERR_R_BN_LIB; + goto err; + } + if (tmp_1 != NULL) + i = BN_num_bytes(tmp_1)*2; + else + i=256; + if ((i + 10) > buf_len && (buffer = OPENSSL_realloc(buffer, i+10)) == NULL) + { + reason = ERR_R_MALLOC_FAILURE; + buf_len = i; + goto err; + } + if (off) + { + if (off > 128) off=128; + memset(str,' ',off); + } + if (x->priv_key != NULL) + { + if (off && (BIO_write(bp, str, off) <= 0)) goto err; + if (BIO_printf(bp, "Private-Key: (%d bit)\n", BN_num_bits(tmp_1)) <= 0) goto err; + } + + if ((x->priv_key != NULL) && !print(bp, "priv:", x->priv_key, buffer, off)) goto err; + if ((tmp_5 != NULL) && !print(bp, "pub: ", tmp_5, buffer, off)) goto err; + if ((tmp_1 != NULL) && !print(bp, "P: ", tmp_1, buffer, off)) goto err; + if ((tmp_2 != NULL) && !print(bp, "A: ", tmp_2, buffer, off)) goto err; + if ((tmp_3 != NULL) && !print(bp, "B: ", tmp_3, buffer, off)) goto err; + if ((tmp_4 != NULL) && !print(bp, "Gen: ", tmp_4, buffer, off)) goto err; + ret=1; +err: + if (!ret) + ECDSAerr(ECDSA_F_ECDSA_PRINT, reason); + if (tmp_1) BN_free(tmp_1); + if (tmp_2) BN_free(tmp_2); + if (tmp_3) BN_free(tmp_3); + if (tmp_4) BN_free(tmp_4); + if (tmp_5) BN_free(tmp_5); + if (ctx) BN_CTX_free(ctx); + if (buffer != NULL) OPENSSL_free(buffer); + return(ret); + } +#endif + static int print(BIO *bp, const char *number, BIGNUM *num, unsigned char *buf, int off) { @@ -262,20 +398,20 @@ static int print(BIO *bp, const char *number, BIGNUM *num, unsigned char *buf, #ifndef OPENSSL_NO_DH #ifndef OPENSSL_NO_FP_API int DHparams_print_fp(FILE *fp, const DH *x) - { - BIO *b; - int ret; + { + BIO *b; + int ret; - if ((b=BIO_new(BIO_s_file())) == NULL) + if ((b=BIO_new(BIO_s_file())) == NULL) { DHerr(DH_F_DHPARAMS_PRINT_FP,ERR_R_BUF_LIB); - return(0); + return(0); } - BIO_set_fp(b,fp,BIO_NOCLOSE); - ret=DHparams_print(b, x); - BIO_free(b); - return(ret); - } + BIO_set_fp(b,fp,BIO_NOCLOSE); + ret=DHparams_print(b, x); + BIO_free(b); + return(ret); + } #endif int DHparams_print(BIO *bp, const DH *x) @@ -315,20 +451,20 @@ err: #ifndef OPENSSL_NO_DSA #ifndef OPENSSL_NO_FP_API int DSAparams_print_fp(FILE *fp, const DSA *x) - { - BIO *b; - int ret; + { + BIO *b; + int ret; - if ((b=BIO_new(BIO_s_file())) == NULL) + if ((b=BIO_new(BIO_s_file())) == NULL) { DSAerr(DSA_F_DSAPARAMS_PRINT_FP,ERR_R_BUF_LIB); - return(0); + return(0); } - BIO_set_fp(b,fp,BIO_NOCLOSE); - ret=DSAparams_print(b, x); - BIO_free(b); - return(ret); - } + BIO_set_fp(b,fp,BIO_NOCLOSE); + ret=DSAparams_print(b, x); + BIO_free(b); + return(ret); + } #endif int DSAparams_print(BIO *bp, const DSA *x) @@ -359,3 +495,87 @@ err: #endif /* !OPENSSL_NO_DSA */ +#ifndef OPENSSL_NO_ECDSA +#ifndef OPENSSL_NO_FP_API +int ECDSAParameters_print_fp(FILE *fp, const ECDSA *x) + { + BIO *b; + int ret; + + if ((b=BIO_new(BIO_s_file())) == NULL) + { + ECDSAerr(ECDSA_F_ECDSAPARAMETERS_PRINT_FP, ERR_R_BIO_LIB); + return(0); + } + BIO_set_fp(b, fp, BIO_NOCLOSE); + ret = ECDSAParameters_print(b, x); + BIO_free(b); + return(ret); + } +#endif + +int ECDSAParameters_print(BIO *bp, const ECDSA *x) + { + unsigned char *buffer=NULL; + int buf_len; + int reason=ERR_R_EC_LIB, i, ret=0; + BIGNUM *tmp_1=NULL, *tmp_2=NULL, *tmp_3=NULL, *tmp_4=NULL; + BN_CTX *ctx=NULL; + EC_POINT *point=NULL; + + /* TODO: fields other than prime fields */ + if (!x || !x->group) + { + reason = ECDSA_R_MISSING_PARAMETERS; + goto err; + } + if ((tmp_1 = BN_new()) == NULL || (tmp_2 = BN_new()) == NULL || + (tmp_3 = BN_new()) == NULL || (ctx = BN_CTX_new()) == NULL) + { + reason = ERR_R_MALLOC_FAILURE; + goto err; + } + if (!EC_GROUP_get_curve_GFp(x->group, tmp_1, tmp_2, tmp_3, ctx)) goto err; + if ((point = EC_GROUP_get0_generator(x->group)) == NULL) goto err; + buf_len = EC_POINT_point2oct(x->group, point, POINT_CONVERSION_COMPRESSED, NULL, 0, ctx); + if (!buf_len || (buffer = OPENSSL_malloc(buf_len)) == NULL) + { + reason = ERR_R_MALLOC_FAILURE; + goto err; + } + if (!EC_POINT_point2oct(x->group, point, POINT_CONVERSION_COMPRESSED, buffer, buf_len, ctx)) + { + reason = ERR_R_EC_LIB; + goto err; + } + if ((tmp_4 = BN_bin2bn(buffer, buf_len, NULL)) == NULL) + { + reason = ERR_R_BN_LIB; + goto err; + } + + i = BN_num_bits(tmp_1) + 10; + if (i > buf_len && (buffer = OPENSSL_realloc(buffer, i)) == NULL) + { + reason=ERR_R_MALLOC_FAILURE; + goto err; + } + + if (BIO_printf(bp, "ECDSA-Parameters: (%d bit)\n", BN_num_bits(tmp_1)) <= 0) goto err; + if (!print(bp, "Prime p:", tmp_1, buffer, 4)) goto err; + if (!print(bp, "Curve a:", tmp_2, buffer, 4)) goto err; + if (!print(bp, "Curve b:", tmp_3, buffer, 4)) goto err; + if (!print(bp, "Generator ( compressed ) :", tmp_4, buffer, 4)) goto err; + ret=1; +err: + if (tmp_1) BN_free(tmp_1); + if (tmp_2) BN_free(tmp_2); + if (tmp_3) BN_free(tmp_3); + if (tmp_4) BN_free(tmp_4); + if (ctx) BN_CTX_free(ctx); + if (buffer) OPENSSL_free(buffer); + ECDSAerr(ECDSA_F_ECDSAPARAMETERS_PRINT, reason); + return(ret); + } + +#endif diff --git a/crypto/asn1/t_req.c b/crypto/asn1/t_req.c index 848c29a2dd..bfa58cc967 100644 --- a/crypto/asn1/t_req.c +++ b/crypto/asn1/t_req.c @@ -134,6 +134,15 @@ int X509_REQ_print(BIO *bp, X509_REQ *x) } else #endif +#ifndef OPENSSL_NO_ECDSA + if (pkey != NULL && pkey->type == EVP_PKEY_ECDSA) + { + BIO_printf(bp, "%12sECDSA Public Key: \n",""); + ECDSA_print(bp, pkey->pkey.ecdsa, 16); + } + else +#endif + BIO_printf(bp,"%12sUnknown Public Key:\n",""); if (pkey != NULL) diff --git a/crypto/asn1/t_spki.c b/crypto/asn1/t_spki.c index 5abfbc815e..86821119d8 100644 --- a/crypto/asn1/t_spki.c +++ b/crypto/asn1/t_spki.c @@ -93,6 +93,15 @@ int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki) } else #endif +#ifndef OPENSSL_NO_ECDSA + if (pkey->type == EVP_PKEY_ECDSA) + { + BIO_printf(out, " ECDSA Public Key:\n"); + ECDSA_print(out, pkey->pkey.ecdsa,2); + } + else +#endif + BIO_printf(out," Unknown Public Key:\n"); EVP_PKEY_free(pkey); } diff --git a/crypto/asn1/t_x509.c b/crypto/asn1/t_x509.c index 5de4833ed0..ae6d5ce041 100644 --- a/crypto/asn1/t_x509.c +++ b/crypto/asn1/t_x509.c @@ -66,6 +66,9 @@ #ifndef OPENSSL_NO_DSA #include #endif +#ifndef OPENSSL_NO_ECDSA +#include +#endif #include #include #include @@ -228,6 +231,14 @@ int X509_print_ex(BIO *bp, X509 *x, unsigned long nmflags, unsigned long cflag) DSA_print(bp,pkey->pkey.dsa,16); } else +#endif +#ifndef OPENSSL_NO_ECDSA + if (pkey->type == EVP_PKEY_ECDSA) + { + BIO_printf(bp, "%12sECDSA Public Key:\n",""); + ECDSA_print(bp, pkey->pkey.ecdsa, 16); + } + else #endif BIO_printf(bp,"%12sUnknown Public Key:\n",""); diff --git a/crypto/asn1/x_pubkey.c b/crypto/asn1/x_pubkey.c index 55630294b6..227b0ce046 100644 --- a/crypto/asn1/x_pubkey.c +++ b/crypto/asn1/x_pubkey.c @@ -63,13 +63,14 @@ /* Minor tweak to operation: free up EVP_PKEY */ static int pubkey_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it) -{ - if(operation == ASN1_OP_FREE_POST) { + { + if (operation == ASN1_OP_FREE_POST) + { X509_PUBKEY *pubkey = (X509_PUBKEY *)*pval; EVP_PKEY_free(pubkey->pkey); - } + } return 1; -} + } ASN1_SEQUENCE_cb(X509_PUBKEY, pubkey_cb) = { ASN1_SIMPLE(X509_PUBKEY, algor, X509_ALGOR), @@ -108,13 +109,12 @@ int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) a->parameter->type=V_ASN1_NULL; } } - else #ifndef OPENSSL_NO_DSA - if (pkey->type == EVP_PKEY_DSA) + else if (pkey->type == EVP_PKEY_DSA) { unsigned char *pp; DSA *dsa; - + dsa=pkey->pkey.dsa; dsa->write_params=0; ASN1_TYPE_free(a->parameter); @@ -128,8 +128,51 @@ int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey) ASN1_STRING_set(a->parameter->value.sequence,p,i); OPENSSL_free(p); } - else #endif +#ifndef OPENSSL_NO_ECDSA + else if (pkey->type == EVP_PKEY_ECDSA) + { + unsigned char *pp; + ECDSA *ecdsa; + + ecdsa = pkey->pkey.ecdsa; + ecdsa->write_params=0; + ASN1_TYPE_free(a->parameter); + if ((i = i2d_ECDSAParameters(ecdsa, NULL)) == 0) + { + X509err(X509_F_X509_PUBKEY_SET, ERR_R_ECDSA_LIB); + goto err; + } + if ((p = (unsigned char *) OPENSSL_malloc(i)) == NULL) + { + X509err(X509_F_X509_PUBKEY_SET, ERR_R_MALLOC_FAILURE); + goto err; + } + pp = p; + if (!i2d_ECDSAParameters(ecdsa, &pp)) + { + X509err(X509_F_X509_PUBKEY_SET, ERR_R_ECDSA_LIB); + OPENSSL_free(p); + goto err; + } + if ((a->parameter = ASN1_TYPE_new()) == NULL) + { + X509err(X509_F_X509_PUBKEY_SET, ERR_R_ASN1_LIB); + OPENSSL_free(p); + goto err; + } + a->parameter->type = V_ASN1_SEQUENCE; + if ((a->parameter->value.sequence = ASN1_STRING_new()) == NULL) + { + X509err(X509_F_X509_PUBKEY_SET, ERR_R_ASN1_LIB); + OPENSSL_free(p); + goto err; + } + ASN1_STRING_set(a->parameter->value.sequence, p, i); + OPENSSL_free(p); + } +#endif + else if (1) { X509err(X509_F_X509_PUBKEY_SET,X509_R_UNSUPPORTED_ALGORITHM); goto err; @@ -177,40 +220,79 @@ EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key) if (key == NULL) goto err; if (key->pkey != NULL) - { - CRYPTO_add(&key->pkey->references,1,CRYPTO_LOCK_EVP_PKEY); - return(key->pkey); - } + { + CRYPTO_add(&key->pkey->references, 1, CRYPTO_LOCK_EVP_PKEY); + return(key->pkey); + } if (key->public_key == NULL) goto err; type=OBJ_obj2nid(key->algor->algorithm); - p=key->public_key->data; - j=key->public_key->length; - if ((ret=d2i_PublicKey(type,NULL,&p,(long)j)) == NULL) + if ((ret = EVP_PKEY_new()) == NULL) { - X509err(X509_F_X509_PUBKEY_GET,X509_R_ERR_ASN1_LIB); + X509err(X509_F_X509_PUBKEY_GET, ERR_R_MALLOC_FAILURE); goto err; } - ret->save_parameters=0; + ret->type = EVP_PKEY_type(type); -#ifndef OPENSSL_NO_DSA + /* the parameters must be extracted before the public key (ECDSA!) */ + a=key->algor; - if (ret->type == EVP_PKEY_DSA) + + if (0) + ; +#ifndef OPENSSL_NO_DSA + else if (ret->type == EVP_PKEY_DSA) { if (a->parameter && (a->parameter->type == V_ASN1_SEQUENCE)) { + if ((ret->pkey.dsa = DSA_new()) == NULL) + { + X509err(X509_F_X509_PUBKEY_GET, ERR_R_MALLOC_FAILURE); + goto err; + } ret->pkey.dsa->write_params=0; cp=p=a->parameter->value.sequence->data; j=a->parameter->value.sequence->length; - if (!d2i_DSAparams(&ret->pkey.dsa,&cp,(long)j)) + if (!d2i_DSAparams(&ret->pkey.dsa, &cp, (long)j)) goto err; } ret->save_parameters=1; } #endif - key->pkey=ret; - CRYPTO_add(&ret->references,1,CRYPTO_LOCK_EVP_PKEY); +#ifndef OPENSSL_NO_ECDSA + else if (ret->type == EVP_PKEY_ECDSA) + { + if (a->parameter && (a->parameter->type == V_ASN1_SEQUENCE)) + { + if ((ret->pkey.ecdsa= ECDSA_new()) == NULL) + { + X509err(X509_F_X509_PUBKEY_GET, ERR_R_MALLOC_FAILURE); + goto err; + } + ret->pkey.ecdsa->write_params = 0; + cp = p = a->parameter->value.sequence->data; + j = a->parameter->value.sequence->length; + if (!d2i_ECDSAParameters(&ret->pkey.ecdsa, &cp, (long)j)) + { + X509err(X509_F_X509_PUBKEY_GET, ERR_R_ECDSA_LIB); + goto err; + } + } + ret->save_parameters = 1; + } +#endif + + p=key->public_key->data; + j=key->public_key->length; + if ((ret = d2i_PublicKey(type, &ret, &p, (long)j)) == NULL) + { + X509err(X509_F_X509_PUBKEY_GET, X509_R_ERR_ASN1_LIB); + goto err; + } + + key->pkey = ret; + CRYPTO_add(&ret->references, 1, CRYPTO_LOCK_EVP_PKEY); return(ret); err: if (ret != NULL) @@ -224,7 +306,7 @@ err: EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, unsigned char **pp, long length) -{ + { X509_PUBKEY *xpk; EVP_PKEY *pktmp; xpk = d2i_X509_PUBKEY(NULL, pp, length); @@ -232,15 +314,16 @@ EVP_PKEY *d2i_PUBKEY(EVP_PKEY **a, unsigned char **pp, pktmp = X509_PUBKEY_get(xpk); X509_PUBKEY_free(xpk); if(!pktmp) return NULL; - if(a) { + if(a) + { EVP_PKEY_free(*a); *a = pktmp; - } + } return pktmp; -} + } int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp) -{ + { X509_PUBKEY *xpk=NULL; int ret; if(!a) return 0; @@ -248,7 +331,7 @@ int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp) ret = i2d_X509_PUBKEY(xpk, pp); X509_PUBKEY_free(xpk); return ret; -} + } /* The following are equivalents but which return RSA and DSA * keys @@ -256,75 +339,117 @@ int i2d_PUBKEY(EVP_PKEY *a, unsigned char **pp) #ifndef OPENSSL_NO_RSA RSA *d2i_RSA_PUBKEY(RSA **a, unsigned char **pp, long length) -{ + { EVP_PKEY *pkey; RSA *key; unsigned char *q; q = *pp; pkey = d2i_PUBKEY(NULL, &q, length); - if(!pkey) return NULL; + if (!pkey) return NULL; key = EVP_PKEY_get1_RSA(pkey); EVP_PKEY_free(pkey); - if(!key) return NULL; + if (!key) return NULL; *pp = q; - if(a) { + if (a) + { RSA_free(*a); *a = key; - } + } return key; -} + } int i2d_RSA_PUBKEY(RSA *a, unsigned char **pp) -{ + { EVP_PKEY *pktmp; int ret; - if(!a) return 0; + if (!a) return 0; pktmp = EVP_PKEY_new(); - if(!pktmp) { + if (!pktmp) + { ASN1err(ASN1_F_I2D_RSA_PUBKEY, ERR_R_MALLOC_FAILURE); return 0; - } + } EVP_PKEY_set1_RSA(pktmp, a); ret = i2d_PUBKEY(pktmp, pp); EVP_PKEY_free(pktmp); return ret; -} + } #endif #ifndef OPENSSL_NO_DSA DSA *d2i_DSA_PUBKEY(DSA **a, unsigned char **pp, long length) -{ + { EVP_PKEY *pkey; DSA *key; unsigned char *q; q = *pp; pkey = d2i_PUBKEY(NULL, &q, length); - if(!pkey) return NULL; + if (!pkey) return NULL; key = EVP_PKEY_get1_DSA(pkey); EVP_PKEY_free(pkey); - if(!key) return NULL; + if (!key) return NULL; *pp = q; - if(a) { + if (a) + { DSA_free(*a); *a = key; - } + } return key; -} + } int i2d_DSA_PUBKEY(DSA *a, unsigned char **pp) -{ + { EVP_PKEY *pktmp; int ret; if(!a) return 0; pktmp = EVP_PKEY_new(); - if(!pktmp) { + if(!pktmp) + { ASN1err(ASN1_F_I2D_DSA_PUBKEY, ERR_R_MALLOC_FAILURE); return 0; - } + } EVP_PKEY_set1_DSA(pktmp, a); ret = i2d_PUBKEY(pktmp, pp); EVP_PKEY_free(pktmp); return ret; -} + } +#endif + +#ifndef OPENSSL_NO_ECDSA +ECDSA *d2i_ECDSA_PUBKEY(ECDSA **a, unsigned char **pp, long length) + { + EVP_PKEY *pkey; + ECDSA *key; + unsigned char *q; + q = *pp; + pkey = d2i_PUBKEY(NULL, &q, length); + if (!pkey) return(NULL); + key = EVP_PKEY_get1_ECDSA(pkey); + EVP_PKEY_free(pkey); + if (!key) return(NULL); + *pp = q; + if (a) + { + ECDSA_free(*a); + *a = key; + } + return(key); + } + +int i2d_ECDSA_PUBKEY(ECDSA *a, unsigned char **pp) + { + EVP_PKEY *pktmp; + int ret; + if (!a) return(0); + if ((pktmp = EVP_PKEY_new()) == NULL) + { + ASN1err(ASN1_F_I2D_ECDSA_PUBKEY, ERR_R_MALLOC_FAILURE); + return(0); + } + EVP_PKEY_set1_ECDSA(pktmp, a); + ret = i2d_PUBKEY(pktmp, pp); + EVP_PKEY_free(pktmp); + return(ret); + } #endif diff --git a/crypto/conf/Makefile.ssl b/crypto/conf/Makefile.ssl index 554d032007..81cbbc0b5f 100644 --- a/crypto/conf/Makefile.ssl +++ b/crypto/conf/Makefile.ssl @@ -110,14 +110,15 @@ conf_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/safestack.h conf_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h conf_lib.o: conf_lib.c conf_mall.o: ../../e_os.h ../../include/openssl/asn1.h -conf_mall.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -conf_mall.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -conf_mall.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -conf_mall.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h -conf_mall.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -conf_mall.o: ../../include/openssl/err.h ../../include/openssl/evp.h -conf_mall.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -conf_mall.o: ../../include/openssl/objects.h +conf_mall.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +conf_mall.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +conf_mall.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +conf_mall.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +conf_mall.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h +conf_mall.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +conf_mall.o: ../../include/openssl/engine.h ../../include/openssl/err.h +conf_mall.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +conf_mall.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h conf_mall.o: ../../include/openssl/opensslconf.h conf_mall.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h conf_mall.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h @@ -127,14 +128,15 @@ conf_mall.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h conf_mall.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h conf_mall.o: ../cryptlib.h conf_mall.c conf_mod.o: ../../e_os.h ../../include/openssl/asn1.h -conf_mod.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -conf_mod.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -conf_mod.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -conf_mod.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h -conf_mod.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -conf_mod.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -conf_mod.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -conf_mod.o: ../../include/openssl/opensslconf.h +conf_mod.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +conf_mod.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +conf_mod.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +conf_mod.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +conf_mod.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h +conf_mod.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +conf_mod.o: ../../include/openssl/err.h ../../include/openssl/evp.h +conf_mod.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +conf_mod.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h conf_mod.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h conf_mod.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h conf_mod.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h diff --git a/crypto/dh/Makefile.ssl b/crypto/dh/Makefile.ssl index 9dddf8dd61..16a09d7f25 100644 --- a/crypto/dh/Makefile.ssl +++ b/crypto/dh/Makefile.ssl @@ -112,10 +112,12 @@ dh_gen.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h dh_gen.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h dh_gen.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h dh_gen.o: ../cryptlib.h dh_gen.c -dh_key.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +dh_key.o: ../../e_os.h ../../include/openssl/asn1.h +dh_key.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h dh_key.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h dh_key.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h dh_key.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +dh_key.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h dh_key.o: ../../include/openssl/engine.h ../../include/openssl/err.h dh_key.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h dh_key.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h @@ -123,10 +125,12 @@ dh_key.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h dh_key.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h dh_key.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h dh_key.o: ../cryptlib.h dh_key.c -dh_lib.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +dh_lib.o: ../../e_os.h ../../include/openssl/asn1.h +dh_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h dh_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h dh_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h dh_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +dh_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h dh_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h dh_lib.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h dh_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h diff --git a/crypto/dsa/Makefile.ssl b/crypto/dsa/Makefile.ssl index e780ee429b..2680a1069d 100644 --- a/crypto/dsa/Makefile.ssl +++ b/crypto/dsa/Makefile.ssl @@ -121,49 +121,54 @@ dsa_key.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h dsa_key.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h dsa_key.o: ../cryptlib.h dsa_key.c dsa_lib.o: ../../e_os.h ../../include/openssl/asn1.h -dsa_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -dsa_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -dsa_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -dsa_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -dsa_lib.o: ../../include/openssl/err.h ../../include/openssl/lhash.h -dsa_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -dsa_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h -dsa_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -dsa_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -dsa_lib.o: ../../include/openssl/ui.h ../cryptlib.h dsa_lib.c +dsa_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +dsa_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +dsa_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +dsa_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +dsa_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +dsa_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h +dsa_lib.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h +dsa_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +dsa_lib.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h +dsa_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +dsa_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h +dsa_lib.o: ../cryptlib.h dsa_lib.c dsa_ossl.o: ../../e_os.h ../../include/openssl/asn1.h -dsa_ossl.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -dsa_ossl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -dsa_ossl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -dsa_ossl.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -dsa_ossl.o: ../../include/openssl/err.h ../../include/openssl/lhash.h -dsa_ossl.o: ../../include/openssl/opensslconf.h +dsa_ossl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +dsa_ossl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +dsa_ossl.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +dsa_ossl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +dsa_ossl.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +dsa_ossl.o: ../../include/openssl/engine.h ../../include/openssl/err.h +dsa_ossl.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h dsa_ossl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h dsa_ossl.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h dsa_ossl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h dsa_ossl.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h dsa_ossl.o: ../cryptlib.h dsa_ossl.c dsa_sign.o: ../../e_os.h ../../include/openssl/asn1.h -dsa_sign.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -dsa_sign.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -dsa_sign.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -dsa_sign.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -dsa_sign.o: ../../include/openssl/err.h ../../include/openssl/lhash.h -dsa_sign.o: ../../include/openssl/opensslconf.h +dsa_sign.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +dsa_sign.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +dsa_sign.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +dsa_sign.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +dsa_sign.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +dsa_sign.o: ../../include/openssl/engine.h ../../include/openssl/err.h +dsa_sign.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h dsa_sign.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h dsa_sign.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h dsa_sign.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h dsa_sign.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h dsa_sign.o: ../cryptlib.h dsa_sign.c dsa_vrf.o: ../../e_os.h ../../include/openssl/asn1.h -dsa_vrf.o: ../../include/openssl/asn1_mac.h ../../include/openssl/bio.h -dsa_vrf.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h -dsa_vrf.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -dsa_vrf.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -dsa_vrf.o: ../../include/openssl/engine.h ../../include/openssl/err.h -dsa_vrf.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h -dsa_vrf.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -dsa_vrf.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h -dsa_vrf.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h -dsa_vrf.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h -dsa_vrf.o: ../cryptlib.h dsa_vrf.c +dsa_vrf.o: ../../include/openssl/asn1_mac.h ../../include/openssl/asn1t.h +dsa_vrf.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +dsa_vrf.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h +dsa_vrf.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +dsa_vrf.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +dsa_vrf.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h +dsa_vrf.o: ../../include/openssl/err.h ../../include/openssl/lhash.h +dsa_vrf.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +dsa_vrf.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h +dsa_vrf.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +dsa_vrf.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +dsa_vrf.o: ../../include/openssl/ui.h ../cryptlib.h dsa_vrf.c diff --git a/crypto/ec/ec_cvt.c b/crypto/ec/ec_cvt.c index 45b0ec33a0..3daeb19509 100644 --- a/crypto/ec/ec_cvt.c +++ b/crypto/ec/ec_cvt.c @@ -1,6 +1,6 @@ /* crypto/ec/ec_cvt.c */ /* ==================================================================== - * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/crypto/ec/ec_err.c b/crypto/ec/ec_err.c index 9862050887..2199d92539 100644 --- a/crypto/ec/ec_err.c +++ b/crypto/ec/ec_err.c @@ -1,6 +1,6 @@ /* crypto/ec/ec_err.c */ /* ==================================================================== - * Copyright (c) 1999 The OpenSSL Project. All rights reserved. + * Copyright (c) 2001 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/crypto/ec/ec_lib.c b/crypto/ec/ec_lib.c index 5cbc6874d2..2b1e49182e 100644 --- a/crypto/ec/ec_lib.c +++ b/crypto/ec/ec_lib.c @@ -1,6 +1,6 @@ /* crypto/ec/ec_lib.c */ /* ==================================================================== - * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions diff --git a/crypto/ecdsa/.cvsignore b/crypto/ecdsa/.cvsignore new file mode 100644 index 0000000000..c6d03a9dbc --- /dev/null +++ b/crypto/ecdsa/.cvsignore @@ -0,0 +1,2 @@ +lib +Makefile.save diff --git a/crypto/ecdsa/Makefile.ssl b/crypto/ecdsa/Makefile.ssl new file mode 100644 index 0000000000..d0166d02f1 --- /dev/null +++ b/crypto/ecdsa/Makefile.ssl @@ -0,0 +1,174 @@ +# +# crypto/ecdsa/Makefile +# + +DIR= ecdsa +TOP= ../.. +CC= cc +INCLUDES= -I.. -I$(TOP) -I../../include +CFLAG=-g -Wall +INSTALL_PREFIX= +OPENSSLDIR= /usr/local/ssl +INSTALLTOP=/usr/local/ssl +MAKE= make -f Makefile.ssl +MAKEDEPPROG= makedepend +MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG) +MAKEFILE= Makefile.ssl +AR= ar r + +CFLAGS= $(INCLUDES) $(CFLAG) + +GENERAL=Makefile +TEST=ecdsatest.c +APPS= + +LIB=$(TOP)/libcrypto.a +LIBSRC= ecs_lib.c ecs_gen.c ecs_asn1.c ecs_ossl.c ecs_sign.c ecs_vrf.c \ + ecs_key.c ecs_err.c + +LIBOBJ= ecs_lib.o ecs_gen.o ecs_asn1.o ecs_ossl.o ecs_sign.o ecs_vrf.o \ + ecs_key.o ecs_err.o + +SRC= $(LIBSRC) + +EXHEADER= ecdsa.h +HEADER= ecs_locl.h $(EXHEADER) + +ALL= $(GENERAL) $(SRC) $(HEADER) + +top: + (cd ../..; $(MAKE) DIRS=crypto SDIRS=$(DIR) sub_all) + +all: lib + +lib: $(LIBOBJ) + $(AR) $(LIB) $(LIBOBJ) + $(RANLIB) $(LIB) || echo Never mind. + @touch lib + +files: + $(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO + +links: + @$(TOP)/util/point.sh Makefile.ssl Makefile + @$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER) + @$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST) + @$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS) + +install: + @for i in $(EXHEADER) ; \ + do \ + (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ + chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ + done; + +tags: + ctags $(SRC) + +tests: + +lint: + lint -DLINT $(INCLUDES) $(SRC)>fluff + +depend: + $(MAKEDEPEND) $(INCLUDES) $(DEPFLAG) $(PROGS) $(LIBSRC) + +dclean: + $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new + mv -f Makefile.new $(MAKEFILE) + +clean: + rm -f *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff + +# DO NOT DELETE THIS LINE -- make depend depends on it. + +ecs_asn1.o: ../../e_os.h ../../include/openssl/asn1.h +ecs_asn1.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +ecs_asn1.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +ecs_asn1.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h +ecs_asn1.o: ../../include/openssl/ec.h ../../include/openssl/err.h +ecs_asn1.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +ecs_asn1.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +ecs_asn1.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +ecs_asn1.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +ecs_asn1.o: ../../include/openssl/symhacks.h ../cryptlib.h ecdsa.h ecs_asn1.c +ecs_asn1.o: ecs_locl.h +ecs_err.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +ecs_err.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +ecs_err.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h +ecs_err.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +ecs_err.o: ../../include/openssl/err.h ../../include/openssl/lhash.h +ecs_err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +ecs_err.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h +ecs_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +ecs_err.o: ecs_err.c +ecs_gen.o: ../../e_os.h ../../include/openssl/asn1.h +ecs_gen.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +ecs_gen.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +ecs_gen.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h +ecs_gen.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +ecs_gen.o: ../../include/openssl/err.h ../../include/openssl/evp.h +ecs_gen.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +ecs_gen.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +ecs_gen.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +ecs_gen.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h +ecs_gen.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +ecs_gen.o: ../../include/openssl/symhacks.h ../cryptlib.h ecs_gen.c +ecs_key.o: ../../e_os.h ../../include/openssl/asn1.h +ecs_key.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +ecs_key.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +ecs_key.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h +ecs_key.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +ecs_key.o: ../../include/openssl/err.h ../../include/openssl/lhash.h +ecs_key.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +ecs_key.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h +ecs_key.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +ecs_key.o: ../cryptlib.h ecs_key.c +ecs_lib.o: ../../e_os.h ../../include/openssl/asn1.h +ecs_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +ecs_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +ecs_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +ecs_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +ecs_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +ecs_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h +ecs_lib.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h +ecs_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +ecs_lib.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h +ecs_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +ecs_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h +ecs_lib.o: ../cryptlib.h ecdsa.h ecs_lib.c ecs_locl.h +ecs_ossl.o: ../../e_os.h ../../include/openssl/asn1.h +ecs_ossl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +ecs_ossl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +ecs_ossl.o: ../../include/openssl/crypto.h ../../include/openssl/e_os2.h +ecs_ossl.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +ecs_ossl.o: ../../include/openssl/err.h ../../include/openssl/lhash.h +ecs_ossl.o: ../../include/openssl/opensslconf.h +ecs_ossl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +ecs_ossl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +ecs_ossl.o: ../../include/openssl/symhacks.h ../cryptlib.h ecs_ossl.c +ecs_sign.o: ../../e_os.h ../../include/openssl/asn1.h +ecs_sign.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +ecs_sign.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +ecs_sign.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +ecs_sign.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +ecs_sign.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +ecs_sign.o: ../../include/openssl/engine.h ../../include/openssl/err.h +ecs_sign.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h +ecs_sign.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +ecs_sign.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h +ecs_sign.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +ecs_sign.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h +ecs_sign.o: ../cryptlib.h ecs_sign.c +ecs_vrf.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +ecs_vrf.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +ecs_vrf.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +ecs_vrf.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +ecs_vrf.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +ecs_vrf.o: ../../include/openssl/engine.h ../../include/openssl/err.h +ecs_vrf.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h +ecs_vrf.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +ecs_vrf.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h +ecs_vrf.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +ecs_vrf.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h +ecs_vrf.o: ecs_vrf.c diff --git a/crypto/ecdsa/ecdsa.h b/crypto/ecdsa/ecdsa.h new file mode 100644 index 0000000000..ca1ca64aac --- /dev/null +++ b/crypto/ecdsa/ecdsa.h @@ -0,0 +1,266 @@ +/* crypto/ecdsa/ecdsa.h */ +/* ==================================================================== + * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. + * + * 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 above 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 acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED 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 OpenSSL PROJECT OR + * ITS 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. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +#ifndef HEADER_ECDSA_H +#define HEADER_ECDSA_H + +#ifdef OPENSSL_NO_ECDSA +#error ECDSA is disabled. +#endif + +#ifndef OPENSSL_NO_BIO +#include +#endif +#include +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct ecdsa_st ECDSA; + +typedef struct ECDSA_SIG_st +{ + BIGNUM *r; + BIGNUM *s; +} ECDSA_SIG; + +typedef struct ecdsa_method +{ + const char *name; + ECDSA_SIG *(*ecdsa_do_sign)(const unsigned char *dgst, int dgst_len, ECDSA *ecdsa); + int (*ecdsa_sign_setup)(ECDSA *ecdsa, BN_CTX *ctx, BIGNUM **kinv, BIGNUM **r); + int (*ecdsa_do_verify)(const unsigned char *dgst, int dgst_len, ECDSA_SIG *sig, ECDSA *ecdsa); + int (*init)(ECDSA *ecdsa); + int (*finish)(ECDSA *ecdsa); + int flags; + char *app_data; +} ECDSA_METHOD; + +#define ECDSA_FLAG_NAMED_CURVE 1 +#define ECDSA_FLAG_IMPLICITLYCA 2 + +struct ecdsa_st +{ + int version; + int write_params; + + EC_GROUP *group; + + EC_POINT *pub_key; + BIGNUM *priv_key; + + BIGNUM *kinv; /* signing pre-calc */ + BIGNUM *r; /* signing pre-calc */ + + unsigned char *seed; /* seed for curve generation */ + unsigned int seed_len; + + int parameter_flags; + + int references; + int flags; + CRYPTO_EX_DATA ex_data; + const ECDSA_METHOD *meth; + struct engine_st *engine; +}; + +ECDSA_SIG *ECDSA_SIG_new(void); +void ECDSA_SIG_free(ECDSA_SIG *a); +int i2d_ECDSA_SIG(const ECDSA_SIG *a, unsigned char **pp); +ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **v, const unsigned char **pp, long length); + +ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst, const int dgst_len, ECDSA *ecdsa); +int ECDSA_do_verify(const unsigned char *dgst, const int dgst_len, ECDSA_SIG *sig, ECDSA* ecdsa); +int ECDSA_generate_key(ECDSA *ecdsa); +int ECDSA_check_key(ECDSA *ecdsa); + +const ECDSA_METHOD *ECDSA_OpenSSL(void); + +void ECDSA_set_default_method(const ECDSA_METHOD *); +const ECDSA_METHOD *ECDSA_get_default_openssl_method(void); +int ECDSA_set_method(ECDSA *, const ECDSA_METHOD *); + +ECDSA *ECDSA_new(); +ECDSA *ECDSA_new_method(ENGINE *engine); +int ECDSA_size(const ECDSA *); +int ECDSA_sign_setup(ECDSA *ecdsa, BN_CTX *ctx, BIGNUM **kinv, BIGNUM **rp); +int ECDSA_sign(int type, const unsigned char *dgst, int dgst_len, unsigned char *sig, + unsigned int *siglen, ECDSA *ecdsa); +int ECDSA_verify(int type, const unsigned char *dgst, int dgst_len, const unsigned char *sig, + const int sig_len, ECDSA *ecdsa); +int ECDSA_up_ref(ECDSA *ecdsa); +void ECDSA_free(ECDSA *a); +int ECDSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); +int ECDSA_set_ex_data(ECDSA *d, int idx, void *arg); +void *ECDSA_get_ex_data(ECDSA *d, int idx); + +#ifndef OPENSSL_NO_BIO +int ECDSAParameters_print(BIO *bp, const ECDSA *x); +int ECDSA_print(BIO *bp, const ECDSA *x, int off); +#endif +#ifndef OPENSSL_NO_FP_API +int ECDSAParameters_print_fp(FILE *fp, const ECDSA *x); +int ECDSA_print_fp(FILE *fp, const ECDSA *x, int off); +#endif + +void ECDSA_set_parameter_flags(ECDSA *, int); +int ECDSA_get_parameter_flags(const ECDSA*); + +/* the basic de- and encode functions ( see ecs_asn1.c ) */ +ECDSA *d2i_ECDSAParameters(ECDSA **a, const unsigned char **in, long len); +int i2d_ECDSAParameters(ECDSA *a, unsigned char **out); + +ECDSA *d2i_ECDSAPrivateKey(ECDSA **a, const unsigned char **in, long len); +int i2d_ECDSAPrivateKey(ECDSA *a, unsigned char **out); + +ECDSA *d2i_ECDSAPublicKey(ECDSA **a, const unsigned char **in, long len); +int i2d_ECDSAPublicKey(ECDSA *a, unsigned char **out); + + +#define ECDSAParameters_dup(x) (ECDSA *)ASN1_dup((int (*)())i2d_ECDSAParameters, \ + (char *(*)())d2i_ECDSAParameters,(char *)(x)) +#define d2i_ECDSAParameters_fp(fp,x) (ECDSA *)ASN1_d2i_fp((char *(*)())ECDSA_new, \ + (char *(*)())d2i_ECDSAParameters,(fp),(unsigned char **)(x)) +#define i2d_ECDSAParameters_fp(fp,x) ASN1_i2d_fp(i2d_ECDSAParameters,(fp), \ + (unsigned char *)(x)) +#define d2i_ECDSAParameters_bio(bp,x) (ECDSA *)ASN1_d2i_bio((char *(*)())ECDSA_new, \ + (char *(*)())d2i_ECDSAParameters,(bp),(unsigned char **)(x)) +#define i2d_ECDSAParameters_bio(bp,x) ASN1_i2d_bio(i2d_ECDSAParameters,(bp), \ + (unsigned char *)(x)) + +/* BEGIN ERROR CODES */ +/* The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ + +/* Error codes for the ECDSA functions. */ + +/* Function codes. */ +#define ECDSA_F_D2I_ECDSAPARAMETERS 100 +#define ECDSA_F_D2I_ECDSAPRIVATEKEY 101 +#define ECDSA_F_ECDSAPARAMETERS_PRINT 102 +#define ECDSA_F_ECDSAPARAMETERS_PRINT_FP 103 +#define ECDSA_F_ECDSA_DO_SIGN 104 +#define ECDSA_F_ECDSA_DO_VERIFY 105 +#define ECDSA_F_ECDSA_GENERATE_KEY 106 +#define ECDSA_F_ECDSA_GET 107 +#define ECDSA_F_ECDSA_GET_CURVE_NID 120 +#define ECDSA_F_ECDSA_GET_ECDSA 121 +#define ECDSA_F_ECDSA_GET_EC_PARAMETERS 122 +#define ECDSA_F_ECDSA_GET_X9_62_CURVE 108 +#define ECDSA_F_ECDSA_GET_X9_62_EC_PARAMETERS 109 +#define ECDSA_F_ECDSA_GET_X9_62_FIELDID 110 +#define ECDSA_F_ECDSA_NEW 111 +#define ECDSA_F_ECDSA_PRINT 112 +#define ECDSA_F_ECDSA_PRINT_FP 113 +#define ECDSA_F_ECDSA_SET_GROUP_P 114 +#define ECDSA_F_ECDSA_SET_PRIME_GROUP 123 +#define ECDSA_F_ECDSA_SIGN_SETUP 115 +#define ECDSA_F_I2D_ECDSAPARAMETERS 116 +#define ECDSA_F_I2D_ECDSAPRIVATEKEY 117 +#define ECDSA_F_I2D_ECDSAPUBLICKEY 118 +#define ECDSA_F_SIG_CB 119 + +/* Reason codes. */ +#define ECDSA_R_BAD_SIGNATURE 100 +#define ECDSA_R_CAN_NOT_GET_GENERATOR 101 +#define ECDSA_R_D2I_ECDSAPRIVATEKEY_MISSING_PRIVATE_KEY 102 +#define ECDSA_R_D2I_ECDSA_PRIVATEKEY_FAILURE 103 +#define ECDSA_R_D2I_EC_PARAMETERS_FAILURE 133 +#define ECDSA_R_D2I_X9_62_EC_PARAMETERS_FAILURE 104 +#define ECDSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 105 +#define ECDSA_R_ECDSAPRIVATEKEY_NEW_FAILURE 106 +#define ECDSA_R_ECDSA_F_ECDSA_NEW 107 +#define ECDSA_R_ECDSA_GET_EC_PARAMETERS_FAILURE 134 +#define ECDSA_R_ECDSA_GET_FAILURE 108 +#define ECDSA_R_ECDSA_GET_X9_62_CURVE_FAILURE 109 +#define ECDSA_R_ECDSA_GET_X9_62_EC_PARAMETERS_FAILURE 110 +#define ECDSA_R_ECDSA_GET_X9_62_FIELDID_FAILURE 111 +#define ECDSA_R_ECDSA_NEW_FAILURE 112 +#define ECDSA_R_ECDSA_R_D2I_EC_PARAMETERS_FAILURE 135 +#define ECDSA_R_ECDSA_R_D2I_X9_62_EC_PARAMETERS_FAILURE 113 +#define ECDSA_R_ECPARAMETERS2ECDSA_FAILURE 138 +#define ECDSA_R_EC_GROUP_NID2CURVE_FAILURE 136 +#define ECDSA_R_ERR_EC_LIB 114 +#define ECDSA_R_I2D_ECDSA_PRIVATEKEY 115 +#define ECDSA_R_I2D_ECDSA_PUBLICKEY 116 +#define ECDSA_R_MISSING_PARAMETERS 117 +#define ECDSA_R_NOT_SUPPORTED 118 +#define ECDSA_R_NO_CURVE_PARAMETER_A_SPECIFIED 119 +#define ECDSA_R_NO_CURVE_PARAMETER_B_SPECIFIED 120 +#define ECDSA_R_NO_CURVE_SPECIFIED 121 +#define ECDSA_R_NO_FIELD_SPECIFIED 122 +#define ECDSA_R_PRIME_MISSING 123 +#define ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED 124 +#define ECDSA_R_SIGNATURE_MALLOC_FAILED 125 +#define ECDSA_R_UNEXPECTED_ASN1_TYPE 126 +#define ECDSA_R_UNEXPECTED_PARAMETER 127 +#define ECDSA_R_UNEXPECTED_PARAMETER_LENGTH 128 +#define ECDSA_R_UNEXPECTED_VERSION_NUMER 129 +#define ECDSA_R_UNKNOWN_PARAMETERS_TYPE 137 +#define ECDSA_R_WRONG_FIELD_IDENTIFIER 130 +#define ECDSA_R_X9_62_CURVE_NEW_FAILURE 131 +#define ECDSA_R_X9_62_EC_PARAMETERS_NEW_FAILURE 132 + +#ifdef __cplusplus +} +#endif +#endif diff --git a/crypto/ecdsa/ecdsatest.c b/crypto/ecdsa/ecdsatest.c new file mode 100644 index 0000000000..1f2cef0331 --- /dev/null +++ b/crypto/ecdsa/ecdsatest.c @@ -0,0 +1,692 @@ +/* crypto/ecdsa/ecdsatest.c */ +/* ==================================================================== + * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. + * + * 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 above 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 acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED 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 OpenSSL PROJECT OR + * ITS 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. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#ifdef CLOCKS_PER_SEC + /* "To determine the time in seconds, the value returned + * by the clock function should be divided by the value + * of the macro CLOCKS_PER_SEC." + * -- ISO/IEC 9899 */ +# define UNIT "s" +#else + /* "`CLOCKS_PER_SEC' undeclared (first use this function)" + * -- cc on NeXTstep/OpenStep */ +# define UNIT "units" +# define CLOCKS_PER_SEC 1 +#endif + +#ifdef OPENSSL_NO_ECDSA +int main(int argc, char * argv[]) { puts("Elliptic curves are disabled."); return 0; } +#else + +static BIO *bio_err=NULL; +static const char rnd_seed[] = "string to make the random number generator think it has entropy"; + +#define ECDSA_NIST_TESTS 10 +ECDSA_SIG* signatures[ECDSA_NIST_TESTS]; +unsigned char digest[ECDSA_NIST_TESTS][20]; + +void clear_ecdsa(ECDSA *ecdsa) +{ + if (!ecdsa) + return; + if (ecdsa->group) + { + EC_GROUP_free(ecdsa->group); + ecdsa->group = NULL; + } + if (ecdsa->pub_key) + { + EC_POINT_free(ecdsa->pub_key); + ecdsa->pub_key = NULL; + } + if (ecdsa->priv_key) + { + BN_free(ecdsa->priv_key); + ecdsa->priv_key = NULL; + } +} + +int set_p192_param(ECDSA *ecdsa) +{ + BN_CTX *ctx=NULL; + int ret=0; + + if (!ecdsa) + return 0; + if ((ctx = BN_CTX_new()) == NULL) goto err; + clear_ecdsa(ecdsa); + + if ((ecdsa->group = EC_GROUP_get_group_by_name(EC_GROUP_X9_62_PRIME_192V1)) == NULL) + { + BIO_printf(bio_err,"ECDSA_SET_GROUP_P_192_V1() failed \n"); + goto err; + } + if ((ecdsa->pub_key = EC_POINT_new(ecdsa->group)) == NULL) + { + BIO_printf(bio_err,"EC_POINT_new failed \n"); + goto err; + } + + if (!BN_dec2bn(&(ecdsa->priv_key), "651056770906015076056810763456358567190100156695615665659")) goto err; + if (!EC_POINT_mul(ecdsa->group,ecdsa->pub_key,ecdsa->priv_key,NULL,NULL,ctx)) + { + BIO_printf(bio_err,"EC_POINT_mul() failed \n"); + goto err; + } + ret = 1; + +err : if (ctx) BN_CTX_free(ctx); + return ret; +} + +int set_p239_param(ECDSA *ecdsa) +{ + BN_CTX *ctx=NULL; + int ret=0; + + if (!ecdsa) + return 0; + if ((ctx = BN_CTX_new()) == NULL) goto err; + clear_ecdsa(ecdsa); + + if ((ecdsa->group = EC_GROUP_get_group_by_name(EC_GROUP_X9_62_PRIME_239V1)) == NULL) + { + BIO_printf(bio_err,"ECDSA_SET_GROUP_P_239_V1() failed \n"); + goto err; + } + if ((ecdsa->pub_key = EC_POINT_new(ecdsa->group)) == NULL) + { + BIO_printf(bio_err,"EC_POINT_new failed \n"); + goto err; + } + + if (!BN_dec2bn(&(ecdsa->priv_key), "876300101507107567501066130761671078357010671067781776716671676178726717")) goto err; + if (!EC_POINT_mul(ecdsa->group,ecdsa->pub_key,ecdsa->priv_key,NULL,NULL,ctx)) + { + BIO_printf(bio_err,"EC_POINT_mul() failed \n"); + goto err; + } + ret = 1; + +err : if (ctx) BN_CTX_free(ctx); + return ret; +} + +int test_sig_vrf(ECDSA *ecdsa, const unsigned char* dgst) +{ + int ret=0,type=0; + unsigned char *buffer=NULL; + unsigned int buf_len; + clock_t time; + + if (!ecdsa || !ecdsa->group || !ecdsa->pub_key || !ecdsa->priv_key) + return 0; + if ((buf_len = ECDSA_size(ecdsa)) == 0) + { + BIO_printf(bio_err, "ECDSA_size() == 0 \n"); + goto err; + } + if ((buffer = OPENSSL_malloc(buf_len)) == NULL) + goto err; + + time = clock(); + if (!ECDSA_sign(type, dgst , 20, buffer, &buf_len, ecdsa)) + { + BIO_printf(bio_err, "ECDSA_sign() FAILED \n"); + goto err; + } + time = clock() - time; + BIO_printf(bio_err, " [ ECDSA_sign() %.2f"UNIT, (double)time/(CLOCKS_PER_SEC)); + + time = clock(); + ret = ECDSA_verify(type, dgst, 20, buffer, buf_len, ecdsa); + if (ret != 1) + { + BIO_printf(bio_err, "ECDSA_verify() FAILED \n"); + goto err; + } + time = clock() - time; + BIO_printf(bio_err, " and ECDSA_verify() %.2f"UNIT" ] ", (double)time/(CLOCKS_PER_SEC)); + +err: OPENSSL_free(buffer); + return(ret == 1); +} + +int test_x962_sig_vrf(ECDSA *ecdsa, const unsigned char *dgst, + const char *k_in, const char *r_in, const char *s_in) +{ + int ret=0; + ECDSA_SIG *sig=NULL; + EC_POINT *point=NULL; + BIGNUM *r=NULL,*s=NULL,*k=NULL,*x=NULL,*y=NULL,*m=NULL,*ord=NULL; + BN_CTX *ctx=NULL; + char *tmp_char=NULL; + + if (!ecdsa || !ecdsa->group || !ecdsa->pub_key || !ecdsa->priv_key) + return 0; + if ((point = EC_POINT_new(ecdsa->group)) == NULL) goto err; + if ((r = BN_new()) == NULL || (s = BN_new()) == NULL || (k = BN_new()) == NULL || + (x = BN_new()) == NULL || (y = BN_new()) == NULL || (m = BN_new()) == NULL || + (ord = BN_new()) == NULL) goto err; + if ((ctx = BN_CTX_new()) == NULL) goto err; + if (!BN_bin2bn(dgst, 20, m)) goto err; + if (!BN_dec2bn(&k, k_in)) goto err; + if (!EC_POINT_mul(ecdsa->group, point, k, NULL, NULL, ctx)) goto err; + if (!EC_POINT_get_affine_coordinates_GFp(ecdsa->group, point, x, y, ctx)) goto err; + if (!EC_GROUP_get_order(ecdsa->group, ord, ctx)) goto err; + if ((ecdsa->r = BN_dup(x)) == NULL) goto err; + if ((ecdsa->kinv = BN_mod_inverse(NULL, k, ord, ctx)) == NULL) goto err; + + if ((sig = ECDSA_do_sign(dgst, 20, ecdsa)) == NULL) + { + BIO_printf(bio_err,"ECDSA_do_sign() failed \n"); + goto err; + } + + if (!BN_dec2bn(&r, r_in)) goto err; + if (!BN_dec2bn(&s, s_in)) goto err; + if (BN_cmp(sig->r,r) != 0 || BN_cmp(sig->s,s) != 0) + { + tmp_char = OPENSSL_malloc(128); + if (tmp_char == NULL) goto err; + tmp_char = BN_bn2dec(sig->r); + BIO_printf(bio_err,"unexpected signature \n"); + BIO_printf(bio_err,"sig->r = %s\n",tmp_char); + tmp_char = BN_bn2dec(sig->s); + BIO_printf(bio_err,"sig->s = %s\n",tmp_char); + goto err; + } + ret = ECDSA_do_verify(dgst, 20, sig, ecdsa); + if (ret != 1) + { + BIO_printf(bio_err,"ECDSA_do_verify : signature verification failed \n"); + goto err; + } + + ret = 1; +err : if (r) BN_free(r); + if (s) BN_free(s); + if (k) BN_free(k); + if (x) BN_free(x); + if (y) BN_free(y); + if (m) BN_free(m); + if (ord) BN_free(ord); + if (sig) ECDSA_SIG_free(sig); + if (ctx) BN_CTX_free(ctx); + if (point) EC_POINT_free(point); + if (tmp_char) OPENSSL_free(tmp_char); + return(ret == 1); +} + +int ecdsa_cmp(const ECDSA *a, const ECDSA *b) +{ + int ret=1; + BN_CTX *ctx=NULL; + BIGNUM *tmp_a1=NULL, *tmp_a2=NULL, *tmp_a3=NULL; + BIGNUM *tmp_b1=NULL, *tmp_b2=NULL, *tmp_b3=NULL; + + if ((ctx = BN_CTX_new()) == NULL) return 1; + if ((tmp_a1 = BN_new()) == NULL || (tmp_a2 = BN_new()) == NULL || (tmp_a3 = BN_new()) == NULL) goto err; + if ((tmp_b1 = BN_new()) == NULL || (tmp_b2 = BN_new()) == NULL || (tmp_b3 = BN_new()) == NULL) goto err; + + if (a->pub_key && b->pub_key) + if (EC_POINT_cmp(a->group, a->pub_key, b->pub_key, ctx) != 0) goto err; + if (a->priv_key && b->priv_key) + if (BN_cmp(a->priv_key, b->priv_key) != 0) goto err; + if (!EC_GROUP_get_curve_GFp(a->group, tmp_a1, tmp_a2, tmp_a3, ctx)) goto err; + if (!EC_GROUP_get_curve_GFp(a->group, tmp_b1, tmp_b2, tmp_b3, ctx)) goto err; + if (BN_cmp(tmp_a1, tmp_b1) != 0) goto err; + if (BN_cmp(tmp_a2, tmp_b2) != 0) goto err; + if (BN_cmp(tmp_a3, tmp_b3) != 0) goto err; + + ret = 0; +err: if (tmp_a1) BN_free(tmp_a1); + if (tmp_a2) BN_free(tmp_a2); + if (tmp_a3) BN_free(tmp_a3); + if (tmp_b1) BN_free(tmp_b1); + if (tmp_b2) BN_free(tmp_b2); + if (tmp_b3) BN_free(tmp_b3); + if (ctx) BN_CTX_free(ctx); + return(ret); +} + +int main(void) +{ + ECDSA *ecdsa=NULL, *ret_ecdsa=NULL; + BIGNUM *d=NULL; + X509_PUBKEY *x509_pubkey=NULL; + PKCS8_PRIV_KEY_INFO *pkcs8=NULL; + EVP_PKEY *pkey=NULL, *ret_pkey=NULL; + int dgst_len=0; + unsigned char *dgst=NULL; + int ret = 0, i=0; + clock_t time; + unsigned char *buffer=NULL; + unsigned char *pp; + long buf_len=0; + double time_d; + EVP_MD_CTX *md_ctx=NULL; + + + RAND_seed(rnd_seed, sizeof(rnd_seed)); + + if (bio_err == NULL) + bio_err=BIO_new_fp(stderr, BIO_NOCLOSE); + + CRYPTO_malloc_debug_init(); + CRYPTO_dbg_set_options(V_CRYPTO_MDEBUG_ALL); + CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON); + + ERR_load_crypto_strings(); + + if ((ecdsa = ECDSA_new()) == NULL) goto err; + + set_p192_param(ecdsa); + ECDSA_print(bio_err, ecdsa, 0); + + /* en- decode tests */ + + /* i2d_ - d2i_ECDSAParameters() */ + BIO_printf(bio_err, "\nTesting i2d_ - d2i_ECDSAParameters \n"); + buf_len = i2d_ECDSAParameters(ecdsa, NULL); + if (!buf_len || (buffer = OPENSSL_malloc(buf_len)) == NULL) goto err; + pp = buffer; + if (!i2d_ECDSAParameters(ecdsa, &pp)) goto err; + pp = buffer; + if ((ret_ecdsa = d2i_ECDSAParameters(&ret_ecdsa, (const unsigned char **)&pp, + buf_len)) == NULL) goto err; + ECDSAParameters_print(bio_err, ret_ecdsa); + if (ecdsa_cmp(ecdsa, ret_ecdsa)) goto err; + OPENSSL_free(buffer); + buffer = NULL; + ECDSA_free(ret_ecdsa); + ret_ecdsa = NULL; + + /* i2d_ - d2i_ECDSAPrivateKey() */ + BIO_printf(bio_err, "\nTesting i2d_ - d2i_ECDSAPrivateKey \n"); + buf_len = i2d_ECDSAPrivateKey(ecdsa, NULL); + if (!buf_len || (buffer = OPENSSL_malloc(buf_len)) == NULL) goto err; + pp = buffer; + if (!i2d_ECDSAPrivateKey(ecdsa, &pp)) goto err; + pp = buffer; + if ((ret_ecdsa = d2i_ECDSAPrivateKey(&ret_ecdsa, (const unsigned char**)&pp, + buf_len)) == NULL) goto err; + ECDSA_print(bio_err, ret_ecdsa, 0); + if (ecdsa_cmp(ecdsa, ret_ecdsa)) goto err; + ECDSA_free(ret_ecdsa); + ret_ecdsa = NULL; + OPENSSL_free(buffer); + buffer = NULL; + + /* i2d_ - d2i_ECDSAPublicKey() */ + + BIO_printf(bio_err, "\nTesting i2d_ - d2i_ECDSAPublicKey \n"); + buf_len = i2d_ECDSAPublicKey(ecdsa, NULL); + if (!buf_len || (buffer = OPENSSL_malloc(buf_len)) == NULL) goto err; + pp = buffer; + if (!i2d_ECDSAPublicKey(ecdsa, &pp)) goto err; + pp = buffer; + if ((ret_ecdsa = d2i_ECDSAPublicKey(&ret_ecdsa , (const unsigned char**)&pp, + buf_len)) == NULL) goto err; + ECDSA_print(bio_err, ret_ecdsa, 0); + if (ecdsa_cmp(ecdsa, ret_ecdsa)) goto err; + OPENSSL_free(buffer); + buffer = NULL; + ECDSA_free(ret_ecdsa); + ret_ecdsa = NULL; + + /* X509_PUBKEY_set() & X509_PUBKEY_get() */ + + BIO_printf(bio_err, "\nTesting X509_PUBKEY_{get,set} : "); + if ((pkey = EVP_PKEY_new()) == NULL) goto err; + EVP_PKEY_assign_ECDSA(pkey, ecdsa); + if ((x509_pubkey = X509_PUBKEY_new()) == NULL) goto err; + if (!X509_PUBKEY_set(&x509_pubkey, pkey)) goto err; + + if ((ret_pkey = X509_PUBKEY_get(x509_pubkey)) == NULL) goto err; + ret_ecdsa = EVP_PKEY_get1_ECDSA(ret_pkey); + EVP_PKEY_free(ret_pkey); + ret_pkey = NULL; + + if (ecdsa_cmp(ecdsa, ret_ecdsa)) + { + BIO_printf(bio_err, "TEST FAILED \n"); + goto err; + } + else BIO_printf(bio_err, "TEST OK \n"); + X509_PUBKEY_free(x509_pubkey); + x509_pubkey = NULL; + ECDSA_free(ret_ecdsa); + ret_ecdsa = NULL; + + /* Testing PKCS8_PRIV_KEY_INFO <-> EVP_PKEY */ + BIO_printf(bio_err, "Testing PKCS8_PRIV_KEY_INFO <-> EVP_PKEY : \n"); + BIO_printf(bio_err, "PKCS8_OK : "); + if ((pkcs8 = EVP_PKEY2PKCS8_broken(pkey, PKCS8_OK)) == NULL) goto err; + if ((ret_pkey = EVP_PKCS82PKEY(pkcs8)) == NULL) goto err; + ret_ecdsa = EVP_PKEY_get1_ECDSA(ret_pkey); + if (ecdsa_cmp(ecdsa, ret_ecdsa)) + { + BIO_printf(bio_err, "TEST FAILED \n"); + goto err; + } + else BIO_printf(bio_err, "TEST OK \n"); + EVP_PKEY_free(ret_pkey); + ret_pkey = NULL; + ECDSA_free(ret_ecdsa); + ret_ecdsa = NULL; + PKCS8_PRIV_KEY_INFO_free(pkcs8); + BIO_printf(bio_err, "PKCS8_NO_OCTET : "); + if ((pkcs8 = EVP_PKEY2PKCS8_broken(pkey, PKCS8_NO_OCTET)) == NULL) goto err; + if ((ret_pkey = EVP_PKCS82PKEY(pkcs8)) == NULL) goto err; + ret_ecdsa = EVP_PKEY_get1_ECDSA(ret_pkey); + if (ecdsa_cmp(ecdsa, ret_ecdsa)) + { + BIO_printf(bio_err, "TEST FAILED \n"); + goto err; + } + else BIO_printf(bio_err, "TEST OK \n"); + EVP_PKEY_free(ret_pkey); + ret_pkey = NULL; + ECDSA_free(ret_ecdsa); + ret_ecdsa = NULL; + PKCS8_PRIV_KEY_INFO_free(pkcs8); + BIO_printf(bio_err, "PKCS8_EMBEDDED_PARAM : "); + if ((pkcs8 = EVP_PKEY2PKCS8_broken(pkey, PKCS8_EMBEDDED_PARAM)) == NULL) goto err; + if ((ret_pkey = EVP_PKCS82PKEY(pkcs8)) == NULL) goto err; + ret_ecdsa = EVP_PKEY_get1_ECDSA(ret_pkey); + if (ecdsa_cmp(ecdsa, ret_ecdsa)) + { + BIO_printf(bio_err, "TEST FAILED \n"); + goto err; + } + else BIO_printf(bio_err, "TEST OK \n"); + EVP_PKEY_free(ret_pkey); + ret_pkey = NULL; + ECDSA_free(ret_ecdsa); + ret_ecdsa = NULL; + PKCS8_PRIV_KEY_INFO_free(pkcs8); + BIO_printf(bio_err, "PKCS8_NS_DB : "); + if ((pkcs8 = EVP_PKEY2PKCS8_broken(pkey, PKCS8_NS_DB)) == NULL) goto err; + if ((ret_pkey = EVP_PKCS82PKEY(pkcs8)) == NULL) goto err; + ret_ecdsa = EVP_PKEY_get1_ECDSA(ret_pkey); + if (ecdsa_cmp(ecdsa, ret_ecdsa)) + { + BIO_printf(bio_err, "TEST FAILED \n"); + goto err; + } + else BIO_printf(bio_err, "TEST OK \n"); + EVP_PKEY_free(ret_pkey); + ret_pkey = NULL; + ECDSA_free(ret_ecdsa); + ret_ecdsa = NULL; + EVP_PKEY_free(pkey); + pkey = NULL; + ecdsa = NULL; + PKCS8_PRIV_KEY_INFO_free(pkcs8); + pkcs8 = NULL; + + /* sign and verify tests */ + if ((d = BN_new()) == NULL) goto err; + + if (!BN_dec2bn(&d, "968236873715988614170569073515315707566766479517")) goto err; + dgst_len = BN_num_bytes(d); + if ((dgst = OPENSSL_malloc(dgst_len)) == NULL) goto err; + if (!BN_bn2bin(d, dgst)) goto err; + + BIO_printf(bio_err, "Performing tests based on examples H.3.1 and H.3.2 of X9.62 \n"); + + BIO_printf(bio_err, "PRIME_192_V1 : "); + if ((ecdsa = ECDSA_new()) == NULL) goto err; + if (!set_p192_param(ecdsa)) goto err; + if (!test_x962_sig_vrf(ecdsa, dgst, "6140507067065001063065065565667405560006161556565665656654", + "3342403536405981729393488334694600415596881826869351677613", + "5735822328888155254683894997897571951568553642892029982342")) + goto err; + else + BIO_printf(bio_err, "OK\n"); + BIO_printf(bio_err, "PRIME_239_V1 : "); + if (!set_p239_param(ecdsa)) + goto err; + if (!test_x962_sig_vrf(ecdsa, dgst, "700000017569056646655505781757157107570501575775705779575555657156756655", + "308636143175167811492622547300668018854959378758531778147462058306432176", + "323813553209797357708078776831250505931891051755007842781978505179448783")) + goto err; + else + BIO_printf(bio_err, "OK\n"); + + ECDSA_free(ecdsa); + ecdsa = NULL; + OPENSSL_free(dgst); + dgst = NULL; + + + /* NIST PRIME CURVES TESTS */ + /* EC_GROUP_NIST_PRIME_192 */ + for (i=0; igroup = EC_GROUP_get_group_by_name(EC_GROUP_NIST_PRIME_192)) == NULL) goto err; + if (!ECDSA_generate_key(ecdsa)) goto err; + time = clock(); + for (i=0; i average time for ECDSA_do_sign() %.4f"UNIT"\n" + , ECDSA_NIST_TESTS, time_d, time_d / ECDSA_NIST_TESTS); + time = clock(); + for (i=0; i average time for ECDSA_do_verify() %.4f"UNIT"\n" + , ECDSA_NIST_TESTS, time_d, time_d/ECDSA_NIST_TESTS); + for (i=0; igroup = EC_GROUP_get_group_by_name(EC_GROUP_NIST_PRIME_224)) == NULL) goto err; + if (!ECDSA_generate_key(ecdsa)) goto err; + time = clock(); + for (i=0; i average time for ECDSA_do_sign() %.4f"UNIT"\n" + , ECDSA_NIST_TESTS, time_d, time_d / ECDSA_NIST_TESTS); + time = clock(); + for (i=0; i average time for ECDSA_do_verify() %.4f"UNIT"\n" + , ECDSA_NIST_TESTS, time_d, time_d/ECDSA_NIST_TESTS); + for (i=0; igroup = EC_GROUP_get_group_by_name(EC_GROUP_NIST_PRIME_256)) == NULL) goto err; + if (!ECDSA_generate_key(ecdsa)) goto err; + time = clock(); + for (i=0; i average time for ECDSA_do_sign() %.4f"UNIT"\n" + , ECDSA_NIST_TESTS, time_d, time_d / ECDSA_NIST_TESTS); + time = clock(); + for (i=0; i average time for ECDSA_do_verify() %.4f"UNIT"\n" + , ECDSA_NIST_TESTS, time_d, time_d/ECDSA_NIST_TESTS); + for (i=0; igroup = EC_GROUP_get_group_by_name(EC_GROUP_NIST_PRIME_384)) == NULL) goto err; + if (!ECDSA_generate_key(ecdsa)) goto err; + time = clock(); + for (i=0; i average time for ECDSA_do_sign() %.4f"UNIT"\n" + , ECDSA_NIST_TESTS, time_d, time_d / ECDSA_NIST_TESTS); + time = clock(); + for (i=0; i average time for ECDSA_do_verify() %.4f"UNIT"\n" + , ECDSA_NIST_TESTS, time_d, time_d/ECDSA_NIST_TESTS); + for (i=0; igroup = EC_GROUP_get_group_by_name(EC_GROUP_NIST_PRIME_521)) == NULL) goto err; + if (!ECDSA_generate_key(ecdsa)) goto err; + time = clock(); + for (i=0; i average time for ECDSA_do_sign() %.4f"UNIT"\n" + , ECDSA_NIST_TESTS, time_d, time_d / ECDSA_NIST_TESTS); + time = clock(); + for (i=0; i average time for ECDSA_do_verify() %.4f"UNIT"\n" + , ECDSA_NIST_TESTS, time_d, time_d/ECDSA_NIST_TESTS); + ECDSA_free(ecdsa); + ecdsa = NULL; + for (i=0; i +#include +#include + +static point_conversion_form_t POINT_CONVERSION_FORM = POINT_CONVERSION_COMPRESSED; + +/* Override the default new methods */ +static int sig_cb(int operation, ASN1_VALUE **pval, const ASN1_ITEM *it) +{ + if(operation == ASN1_OP_NEW_PRE) { + ECDSA_SIG *sig; + sig = OPENSSL_malloc(sizeof(ECDSA_SIG)); + if (sig == NULL) + { + ECDSAerr(ECDSA_F_SIG_CB, ERR_R_MALLOC_FAILURE); + return 0; + } + sig->r = NULL; + sig->s = NULL; + *pval = (ASN1_VALUE *)sig; + return 2; + } + return 1; +} + +ASN1_SEQUENCE_cb(ECDSA_SIG, sig_cb) = { + ASN1_SIMPLE(ECDSA_SIG, r, CBIGNUM), + ASN1_SIMPLE(ECDSA_SIG, s, CBIGNUM) +} ASN1_SEQUENCE_END_cb(ECDSA_SIG, ECDSA_SIG) + +IMPLEMENT_ASN1_FUNCTIONS_const(ECDSA_SIG) + +ASN1_SEQUENCE(X9_62_FIELDID) = { + ASN1_SIMPLE(X9_62_FIELDID, fieldType, ASN1_OBJECT), + ASN1_SIMPLE(X9_62_FIELDID, parameters, ASN1_ANY) +} ASN1_SEQUENCE_END(X9_62_FIELDID) + +IMPLEMENT_ASN1_FUNCTIONS_const(X9_62_FIELDID) + +ASN1_SEQUENCE(X9_62_CURVE) = { + ASN1_SIMPLE(X9_62_CURVE, a, ASN1_OCTET_STRING), + ASN1_SIMPLE(X9_62_CURVE, b, ASN1_OCTET_STRING), + ASN1_OPT(X9_62_CURVE, seed, ASN1_BIT_STRING) +} ASN1_SEQUENCE_END(X9_62_CURVE) + +IMPLEMENT_ASN1_FUNCTIONS_const(X9_62_CURVE) + +ASN1_SEQUENCE(X9_62_EC_PARAMETERS) = { + ASN1_OPT(X9_62_EC_PARAMETERS, version, ASN1_INTEGER), + ASN1_SIMPLE(X9_62_EC_PARAMETERS, fieldID, X9_62_FIELDID), + ASN1_SIMPLE(X9_62_EC_PARAMETERS, curve, X9_62_CURVE), + ASN1_SIMPLE(X9_62_EC_PARAMETERS, base, ASN1_OCTET_STRING), + ASN1_SIMPLE(X9_62_EC_PARAMETERS, order, ASN1_INTEGER), + ASN1_SIMPLE(X9_62_EC_PARAMETERS, cofactor, ASN1_INTEGER) +} ASN1_SEQUENCE_END(X9_62_EC_PARAMETERS) + +IMPLEMENT_ASN1_FUNCTIONS_const(X9_62_EC_PARAMETERS) + +ASN1_CHOICE(EC_PARAMETERS) = { + ASN1_SIMPLE(EC_PARAMETERS, value.named_curve, ASN1_OBJECT), + ASN1_SIMPLE(EC_PARAMETERS, value.parameters, X9_62_EC_PARAMETERS), + ASN1_SIMPLE(EC_PARAMETERS, value.implicitlyCA, ASN1_NULL) +} ASN1_CHOICE_END(EC_PARAMETERS) + +IMPLEMENT_ASN1_FUNCTIONS_const(EC_PARAMETERS); + +ASN1_SEQUENCE(ECDSAPrivateKey) = { + ASN1_SIMPLE(ECDSAPrivateKey, version, LONG), + ASN1_SIMPLE(ECDSAPrivateKey, parameters, EC_PARAMETERS), + ASN1_SIMPLE(ECDSAPrivateKey, pub_key, ASN1_OCTET_STRING), + ASN1_SIMPLE(ECDSAPrivateKey, priv_key, BIGNUM) +} ASN1_SEQUENCE_END(ECDSAPrivateKey) + +IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(ECDSAPrivateKey, ECDSAPrivateKey, ECDSAPrivateKey) +IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(ECDSAPrivateKey, ECDSAPrivateKey, ecdsaPrivateKey) + +ASN1_SEQUENCE(ecdsa_pub_internal) = { + ASN1_SIMPLE(ECDSAPrivateKey, pub_key, ASN1_OCTET_STRING), + ASN1_SIMPLE(ECDSAPrivateKey, parameters, EC_PARAMETERS), +} ASN1_SEQUENCE_END_name(ECDSAPrivateKey, ecdsa_pub_internal) + +ASN1_CHOICE(ECDSAPublicKey) = { + ASN1_SIMPLE(ECDSAPrivateKey, pub_key, ASN1_OCTET_STRING), + ASN1_EX_COMBINE(0, 0, ecdsa_pub_internal) +} ASN1_CHOICE_END_selector(ECDSAPrivateKey, ECDSAPublicKey, write_params) + +IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(ECDSAPrivateKey, ECDSAPublicKey, ecdsaPublicKey) + + +X9_62_FIELDID *ECDSA_get_X9_62_FIELDID(const ECDSA *ecdsa, X9_62_FIELDID *field) +{ + /* TODO : characteristic two */ + int ok=0, reason=ERR_R_ASN1_LIB; + X9_62_FIELDID *ret=NULL; + BIGNUM *tmp=NULL; + + if (!ecdsa || !ecdsa->group) + OPENSSL_ECDSA_ABORT(ECDSA_R_MISSING_PARAMETERS) + if (field == NULL) + { + if ((ret = X9_62_FIELDID_new()) == NULL) return NULL; + } + else + { + ret = field; + if (ret->fieldType != NULL) ASN1_OBJECT_free(ret->fieldType); + if (ret->parameters != NULL) ASN1_TYPE_free(ret->parameters); + } + if ((tmp = BN_new()) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_BN_LIB) + if ((ret->fieldType = OBJ_nid2obj(NID_X9_62_prime_field)) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_OBJ_LIB) + if ((ret->parameters = ASN1_TYPE_new()) == NULL) goto err; + ret->parameters->type = V_ASN1_INTEGER; + if (!EC_GROUP_get_curve_GFp(ecdsa->group, tmp, NULL, NULL, NULL)) + OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB) + if ((ret->parameters->value.integer = BN_to_ASN1_INTEGER(tmp, NULL)) == NULL) goto err; + ok = 1; +err : if (!ok) + { + if (ret && !field) X9_62_FIELDID_free(ret); + ret = NULL; + ECDSAerr(ECDSA_F_ECDSA_GET_X9_62_FIELDID, reason); + } + if (tmp) BN_free(tmp); + return(ret); +} + +X9_62_CURVE *ECDSA_get_X9_62_CURVE(const ECDSA *ecdsa, X9_62_CURVE *curve) +{ + int ok=0, reason=ERR_R_BN_LIB, len1=0, len2=0; + X9_62_CURVE *ret=NULL; + BIGNUM *tmp1=NULL, *tmp2=NULL; + unsigned char *buffer=NULL; + + if (!ecdsa || !ecdsa->group) + OPENSSL_ECDSA_ABORT(ECDSA_R_MISSING_PARAMETERS) + if ((tmp1 = BN_new()) == NULL || (tmp2 = BN_new()) == NULL) goto err; + if (curve == NULL) + { + if ((ret = X9_62_CURVE_new()) == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_X9_62_CURVE_NEW_FAILURE) + } + else + { + ret = curve; + if (ret->a) ASN1_OCTET_STRING_free(ret->a); + if (ret->b) ASN1_OCTET_STRING_free(ret->b); + if (ret->seed) ASN1_BIT_STRING_free(ret->seed); + } + if (!EC_GROUP_get_curve_GFp(ecdsa->group, NULL, tmp1, tmp2, NULL)) + OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB) + + if ((len1 = BN_num_bytes(tmp1)) == 0) + OPENSSL_ECDSA_ABORT(ECDSA_R_UNEXPECTED_PARAMETER_LENGTH) + if ((buffer = OPENSSL_malloc(len1)) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE) + if ((len1 = BN_bn2bin(tmp1, buffer)) == 0) goto err; + if ((ret->a = M_ASN1_OCTET_STRING_new()) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB) + if (!M_ASN1_OCTET_STRING_set(ret->a, buffer, len1)) + OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB) + + if ((len2 = BN_num_bytes(tmp2)) == 0) + OPENSSL_ECDSA_ABORT(ECDSA_R_UNEXPECTED_PARAMETER_LENGTH) + if (len1 < len2) + { + OPENSSL_free(buffer); + if ((buffer = OPENSSL_malloc(len2)) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE) + } + if ((len2 = BN_bn2bin(tmp2, buffer)) == 0) goto err; + if ((ret->b = M_ASN1_OCTET_STRING_new()) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB) + if (!M_ASN1_OCTET_STRING_set(ret->b, buffer, len2)) + OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB) + + if (ecdsa->seed) + { + if ((ret->seed = ASN1_BIT_STRING_new()) == NULL) goto err; + if (!ASN1_BIT_STRING_set(ret->seed, ecdsa->seed, (int)ecdsa->seed_len)) + OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB) + } + else + ret->seed = NULL; + + ok = 1; +err : if (!ok) + { + if (ret && !curve) X9_62_CURVE_free(ret); + ret = NULL; + ECDSAerr(ECDSA_F_ECDSA_GET_X9_62_CURVE, reason); + } + if (buffer) OPENSSL_free(buffer); + if (tmp1) BN_free(tmp1); + if (tmp2) BN_free(tmp2); + return(ret); +} + +X9_62_EC_PARAMETERS *ECDSA_get_X9_62_EC_PARAMETERS(const ECDSA *ecdsa, X9_62_EC_PARAMETERS *param) +{ + int ok=0, reason=ERR_R_ASN1_LIB; + size_t len=0; + X9_62_EC_PARAMETERS *ret=NULL; + BIGNUM *tmp=NULL; + unsigned char *buffer=NULL; + EC_POINT *point=NULL; + + if (!ecdsa || !ecdsa->group) + OPENSSL_ECDSA_ABORT(ECDSA_R_MISSING_PARAMETERS) + if ((tmp = BN_new()) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_BN_LIB) + if (param == NULL) + { + if ((ret = X9_62_EC_PARAMETERS_new()) == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_X9_62_EC_PARAMETERS_NEW_FAILURE) + } + else + ret = param; + if (ecdsa->version == 1) + ret->version = NULL; + else + { + if (ret->version == NULL && (ret->version = ASN1_INTEGER_new()) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE) + if (!ASN1_INTEGER_set(ret->version, (long)ecdsa->version)) goto err; + } + if ((ret->fieldID = ECDSA_get_X9_62_FIELDID(ecdsa, ret->fieldID)) == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSA_GET_X9_62_FIELDID_FAILURE) + if ((ret->curve = ECDSA_get_X9_62_CURVE(ecdsa, ret->curve)) == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSA_GET_X9_62_CURVE_FAILURE) + if ((point = EC_GROUP_get0_generator(ecdsa->group)) == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_CAN_NOT_GET_GENERATOR) + if (!(len = EC_POINT_point2oct(ecdsa->group, point, POINT_CONVERSION_COMPRESSED, NULL, len, NULL))) + OPENSSL_ECDSA_ABORT(ECDSA_R_UNEXPECTED_PARAMETER_LENGTH) + if ((buffer = OPENSSL_malloc(len)) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE) + if (!EC_POINT_point2oct(ecdsa->group, point, POINT_CONVERSION_COMPRESSED, buffer, len, NULL)) + OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB) + if (ret->base == NULL && (ret->base = ASN1_OCTET_STRING_new()) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE) + if (!ASN1_OCTET_STRING_set(ret->base, buffer, len)) goto err; + if (!EC_GROUP_get_order(ecdsa->group, tmp, NULL)) + OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB) + if ((ret->order = BN_to_ASN1_INTEGER(tmp, ret->order)) == NULL) goto err; + if (!EC_GROUP_get_cofactor(ecdsa->group, tmp, NULL)) + OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB) + if ((ret->cofactor = BN_to_ASN1_INTEGER(tmp, ret->cofactor)) == NULL) goto err; + ok = 1; + +err : if(!ok) + { + ECDSAerr(ECDSA_F_ECDSA_GET_X9_62_EC_PARAMETERS, reason); + if (ret && !param) X9_62_EC_PARAMETERS_free(ret); + ret = NULL; + } + if (tmp) BN_free(tmp); + if (buffer) OPENSSL_free(buffer); + return(ret); +} + +EC_PARAMETERS *ECDSA_get_EC_PARAMETERS(const ECDSA *ecdsa, EC_PARAMETERS *params) +{ + int ok = 1; + int tmp = 0; + EC_PARAMETERS *ret = params; + if (ret == NULL) + if ((ret = EC_PARAMETERS_new()) == NULL) + { + ECDSAerr(ECDSA_F_ECDSA_GET_EC_PARAMETERS, ERR_R_MALLOC_FAILURE); + return NULL; + } + if (ecdsa == NULL) + { /* missing parameter */ + ECDSAerr(ECDSA_F_ECDSA_GET_EC_PARAMETERS, ECDSA_R_MISSING_PARAMETERS); + EC_PARAMETERS_free(params); + return NULL; + } + if (ecdsa->parameter_flags & ECDSA_FLAG_NAMED_CURVE) + { /* use a named curve */ + tmp = EC_GROUP_get_nid(ecdsa->group); + if (tmp) + { + ret->type = 0; + if ((ret->value.named_curve = OBJ_nid2obj(tmp)) == NULL) + ok = 0; + } + else + { + /* use the x9_64 ec_parameters structure */ + ret->type = 1; + if ((ret->value.parameters = ECDSA_get_X9_62_EC_PARAMETERS(ecdsa, NULL)) == NULL) + ok = 0; + } + } + else if (ecdsa->parameter_flags & ECDSA_FLAG_IMPLICITLYCA) + { /* use implicitlyCA */ + ret->type = 2; + if ((ret->value.implicitlyCA = ASN1_NULL_new()) == NULL) + ok = 0; + } + else + { /* use the x9_64 ec_parameters structure */ + ret->type = 1; + if ((ret->value.parameters = ECDSA_get_X9_62_EC_PARAMETERS(ecdsa, NULL)) == NULL) + ok = 0; + } + if (!ok) + { + EC_PARAMETERS_free(ret); + return NULL; + } + return ret; +} + +ECDSA *ECDSA_x9_62parameters2ecdsa(const X9_62_EC_PARAMETERS *params, ECDSA *ecdsa) +{ + int ok=0, reason=ERR_R_EC_LIB, tmp; + ECDSA *ret=NULL; + EC_METHOD *meth=NULL; + BIGNUM *tmp_1=NULL, *tmp_2=NULL, *tmp_3=NULL; + EC_POINT *point=NULL; + + if (!params) + OPENSSL_ECDSA_ABORT(ECDSA_R_MISSING_PARAMETERS) + if (ecdsa == NULL) + { + if ((ret = ECDSA_new()) == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSA_NEW_FAILURE) + } + else + { + if (ecdsa->group) EC_GROUP_free(ecdsa->group); + if (ecdsa->pub_key) EC_POINT_free(ecdsa->pub_key); + ecdsa->pub_key = NULL; + if (ecdsa->priv_key) BN_clear_free(ecdsa->priv_key); + ecdsa->priv_key = NULL; + if (ecdsa->seed) OPENSSL_free(ecdsa->seed); + ecdsa->seed = NULL; + if (ecdsa->kinv) + { + BN_clear_free(ecdsa->kinv); + ecdsa->kinv = NULL; + } + if (ecdsa->r) + { + BN_clear_free(ecdsa->r); + ecdsa->r = NULL; + } + ret = ecdsa; + } + /* TODO : characteristic two */ + if (!params->fieldID || !params->fieldID->fieldType || !params->fieldID->parameters) + OPENSSL_ECDSA_ABORT(ECDSA_R_NO_FIELD_SPECIFIED) + tmp = OBJ_obj2nid(params->fieldID->fieldType); + if (tmp == NID_X9_62_characteristic_two_field) + { + OPENSSL_ECDSA_ABORT(ECDSA_R_NOT_SUPPORTED) + } + else if (tmp == NID_X9_62_prime_field) + { + /* TODO : optimal method for the curve */ + (const EC_METHOD *)meth = EC_GFp_mont_method(); + if ((ret->group = EC_GROUP_new(meth)) == NULL) goto err; + if (params->fieldID->parameters->type != V_ASN1_INTEGER) + OPENSSL_ECDSA_ABORT(ECDSA_R_UNEXPECTED_ASN1_TYPE) + if (!params->fieldID->parameters->value.integer) + OPENSSL_ECDSA_ABORT(ECDSA_R_PRIME_MISSING) + if ((tmp_1 = ASN1_INTEGER_to_BN(params->fieldID->parameters->value.integer, NULL)) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB) + if (!params->curve) + OPENSSL_ECDSA_ABORT(ECDSA_R_NO_CURVE_SPECIFIED) + if (!params->curve->a || !params->curve->a->data) + OPENSSL_ECDSA_ABORT(ECDSA_R_NO_CURVE_PARAMETER_A_SPECIFIED) + if ((tmp_2 = BN_bin2bn(params->curve->a->data, params->curve->a->length, NULL)) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_BN_LIB) + if (!params->curve->b || !params->curve->b->data) + OPENSSL_ECDSA_ABORT(ECDSA_R_NO_CURVE_PARAMETER_B_SPECIFIED) + if ((tmp_3 = BN_bin2bn(params->curve->b->data, params->curve->b->length, NULL)) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_BN_LIB) + if (!EC_GROUP_set_curve_GFp(ret->group, tmp_1, tmp_2, tmp_3, NULL)) goto err; + if ((point = EC_POINT_new(ret->group)) == NULL) goto err; + } + else OPENSSL_ECDSA_ABORT(ECDSA_R_WRONG_FIELD_IDENTIFIER) + if (params->curve->seed != NULL && params->curve->seed->data > 0) + { + if (ret->seed != NULL) + OPENSSL_free(ret->seed); + if ((ret->seed = OPENSSL_malloc(params->curve->seed->length)) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE) + memcpy(ret->seed, params->curve->seed->data, params->curve->seed->length); + ret->seed_len = params->curve->seed->length; + } + if (params->version) + { + if ((ret->version = (int)ASN1_INTEGER_get(params->version)) < 0) + OPENSSL_ECDSA_ABORT(ECDSA_R_UNEXPECTED_VERSION_NUMER) + } + else + ret->version = 1; + if (params->order && params->cofactor && params->base && params->base->data) + { + if ((tmp_1 = ASN1_INTEGER_to_BN(params->order, tmp_1)) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB) + if ((tmp_2 = ASN1_INTEGER_to_BN(params->cofactor, tmp_2)) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB) + if (!EC_POINT_oct2point(ret->group, point, params->base->data, + params->base->length, NULL)) goto err; + if (!EC_GROUP_set_generator(ret->group, point, tmp_1, tmp_2)) goto err; + } + ok = 1; + +err: if (!ok) + { + ECDSAerr(ECDSA_F_ECDSA_GET, reason); + if (ret && !ecdsa) ECDSA_free(ret); + ret = NULL; + } + if (tmp_1) BN_free(tmp_1); + if (tmp_2) BN_free(tmp_2); + if (tmp_3) BN_free(tmp_3); + if (point) EC_POINT_free(point); + return(ret); +} + +ECDSA *ECDSA_ecparameters2ecdsa(const EC_PARAMETERS *params, ECDSA *ecdsa) +{ + ECDSA *ret = ecdsa; + int tmp = 0; + if (ret == NULL) + if ((ret = ECDSA_new()) == NULL) + { + ECDSAerr(ECDSA_F_ECDSA_GET_ECDSA, ERR_R_MALLOC_FAILURE); + return NULL; + } + if (params == NULL) + { + ECDSAerr(ECDSA_F_ECDSA_GET_ECDSA, ECDSA_R_MISSING_PARAMETERS); + ECDSA_free(ret); + return NULL; + } + if (params->type == 0) + { + if (ret->group) + EC_GROUP_free(ret->group); + tmp = OBJ_obj2nid(params->value.named_curve); + ret->parameter_flags |= ECDSA_FLAG_NAMED_CURVE; + if ((ret->group = EC_GROUP_get_group_by_name(tmp)) == NULL) + { + ECDSAerr(ECDSA_F_ECDSA_GET_ECDSA, ECDSA_R_EC_GROUP_NID2CURVE_FAILURE); + ECDSA_free(ret); + return NULL; + } + } + else if (params->type == 1) + { + ret = ECDSA_x9_62parameters2ecdsa(params->value.parameters, ret); + } + else if (params->type == 2) + { + if (ret->group) + EC_GROUP_free(ret->group); + ret->group = NULL; + ret->parameter_flags |= ECDSA_FLAG_IMPLICITLYCA; + } + else + { + ECDSAerr(ECDSA_F_ECDSA_GET_ECDSA, ECDSA_R_UNKNOWN_PARAMETERS_TYPE); + ECDSA_free(ret); + ret = NULL; + } + return ret; +} + +ECDSA *d2i_ECDSAParameters(ECDSA **a, const unsigned char **in, long len) +{ + ECDSA *ecdsa = (a && *a)? *a : NULL; + EC_PARAMETERS *params = NULL; + + if ((params = d2i_EC_PARAMETERS(NULL, in, len)) == NULL) + { + ECDSAerr(ECDSA_F_D2I_ECDSAPARAMETERS, ECDSA_R_D2I_EC_PARAMETERS_FAILURE); + EC_PARAMETERS_free(params); + return NULL; + } + if ((ecdsa = ECDSA_ecparameters2ecdsa(params, ecdsa)) == NULL) + { + ECDSAerr(ECDSA_F_D2I_ECDSAPARAMETERS, ECDSA_R_ECPARAMETERS2ECDSA_FAILURE); + return NULL; + } + EC_PARAMETERS_free(params); + return(ecdsa); +} + +int i2d_ECDSAParameters(ECDSA *a, unsigned char **out) +{ + int ret=0; + EC_PARAMETERS *tmp = ECDSA_get_EC_PARAMETERS(a, NULL); + if (tmp == NULL) + { + ECDSAerr(ECDSA_F_I2D_ECDSAPARAMETERS, ECDSA_R_ECDSA_GET_EC_PARAMETERS_FAILURE); + return 0; + } + if ((ret = i2d_EC_PARAMETERS(tmp, out)) == 0) + { + ECDSAerr(ECDSA_F_I2D_ECDSAPARAMETERS, ECDSA_R_ECDSA_R_D2I_EC_PARAMETERS_FAILURE); + EC_PARAMETERS_free(tmp); + return 0; + } + EC_PARAMETERS_free(tmp); + return(ret); +} + +ECDSA *d2i_ECDSAPrivateKey(ECDSA **a, const unsigned char **in, long len) +{ + int reason=ERR_R_BN_LIB, ok=0; + ECDSA *ret=NULL; + ECDSAPrivateKey *priv_key=NULL; + + if ((priv_key = ECDSAPrivateKey_new()) == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSAPRIVATEKEY_NEW_FAILURE) + if ((priv_key = d2i_ecdsaPrivateKey(&priv_key, in, len)) == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_D2I_ECDSA_PRIVATEKEY_FAILURE) + if ((ret = ECDSA_ecparameters2ecdsa(priv_key->parameters, NULL)) == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSA_GET_FAILURE) + ret->version = priv_key->version; + ret->write_params = priv_key->write_params; + if (priv_key->priv_key) + { + if ((ret->priv_key = BN_dup(priv_key->priv_key)) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_BN_LIB) + } + else + OPENSSL_ECDSA_ABORT(ECDSA_R_D2I_ECDSAPRIVATEKEY_MISSING_PRIVATE_KEY) + if ((ret->pub_key = EC_POINT_new(ret->group)) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB) + if (!EC_POINT_oct2point(ret->group, ret->pub_key, priv_key->pub_key->data, priv_key->pub_key->length, NULL)) + OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB) + ok = 1; +err : if (!ok) + { + if (ret) ECDSA_free(ret); + ret = NULL; + ECDSAerr(ECDSA_F_D2I_ECDSAPRIVATEKEY, reason); + } + if (priv_key) ECDSAPrivateKey_free(priv_key); + return(ret); +} + +int i2d_ECDSAPrivateKey(ECDSA *a, unsigned char **out) +{ + int ret=0, ok=0, reason=ERR_R_EC_LIB; + unsigned char *buffer=NULL; + size_t buf_len=0; + ECDSAPrivateKey *priv_key=NULL; + + if (a == NULL || a->group == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_MISSING_PARAMETERS) + if ((priv_key = ECDSAPrivateKey_new()) == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSAPRIVATEKEY_NEW_FAILURE) + if ((priv_key->parameters = ECDSA_get_EC_PARAMETERS(a, priv_key->parameters)) == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSA_GET_X9_62_EC_PARAMETERS_FAILURE) + priv_key->version = a->version; + if (BN_copy(priv_key->priv_key, a->priv_key) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_BN_LIB) + buf_len = EC_POINT_point2oct(a->group, a->pub_key, POINT_CONVERSION_COMPRESSED, NULL, 0, NULL); + if ((buffer = OPENSSL_malloc(buf_len)) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE) + if (!EC_POINT_point2oct(a->group, a->pub_key, POINT_CONVERSION_COMPRESSED, + buffer, buf_len, NULL)) goto err; + if (!M_ASN1_OCTET_STRING_set(priv_key->pub_key, buffer, buf_len)) + OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB) + if ((ret = i2d_ecdsaPrivateKey(priv_key, out)) == 0) + OPENSSL_ECDSA_ABORT(ECDSA_R_I2D_ECDSA_PRIVATEKEY) + ok=1; + +err: if (!ok) + ECDSAerr(ECDSA_F_I2D_ECDSAPRIVATEKEY, reason); + if (buffer) OPENSSL_free(buffer); + if (priv_key) ECDSAPrivateKey_free(priv_key); + return(ok?ret:0); +} + + +ECDSA *d2i_ECDSAPublicKey(ECDSA **a, const unsigned char **in, long len) +{ + int reason=ERR_R_BN_LIB, ok=0, ecdsa_new=1; + ECDSA *ret=NULL; + ECDSAPrivateKey *priv_key=NULL; + + if (a && *a) + { + ecdsa_new = 0; + ret = *a; + } + else if ((ret = ECDSA_new()) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE); + if ((priv_key = ECDSAPrivateKey_new()) == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSAPRIVATEKEY_NEW_FAILURE) + if ((priv_key = d2i_ecdsaPublicKey(&priv_key, in, len)) == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_D2I_ECDSA_PRIVATEKEY_FAILURE) + if (priv_key->write_params == 0) + { + if (ecdsa_new || !ret->group) + OPENSSL_ECDSA_ABORT(ECDSA_R_MISSING_PARAMETERS) + if (ret->pub_key == NULL && (ret->pub_key = EC_POINT_new(ret->group)) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE) + if (!EC_POINT_oct2point(ret->group, ret->pub_key, priv_key->pub_key->data, + priv_key->pub_key->length, NULL)) + OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB) + } + else if (priv_key->write_params == 1) + { + if ((ret = ECDSA_ecparameters2ecdsa(priv_key->parameters, ret)) == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSA_GET_FAILURE) + if (ret->pub_key == NULL && (ret->pub_key = EC_POINT_new(ret->group)) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB) + if (!EC_POINT_oct2point(ret->group, ret->pub_key, priv_key->pub_key->data, + priv_key->pub_key->length, NULL)) + OPENSSL_ECDSA_ABORT(ERR_R_EC_LIB) + } + else OPENSSL_ECDSA_ABORT(ECDSA_R_UNEXPECTED_PARAMETER) + ret->write_params = 1; + ok = 1; +err : if (!ok) + { + if (ret && ecdsa_new) ECDSA_free(ret); + ret = NULL; + ECDSAerr(ECDSA_F_D2I_ECDSAPRIVATEKEY, reason); + } + if (priv_key) ECDSAPrivateKey_free(priv_key); + return(ret); +} + +int i2d_ECDSAPublicKey(ECDSA *a, unsigned char **out) +{ + int ret=0, reason=ERR_R_EC_LIB, ok=0; + unsigned char *buffer=NULL; + size_t buf_len=0; + ECDSAPrivateKey *priv_key=NULL; + + if (a == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_MISSING_PARAMETERS) + if ((priv_key = ECDSAPrivateKey_new()) == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSAPRIVATEKEY_NEW_FAILURE) + if ((priv_key->parameters = ECDSA_get_EC_PARAMETERS(a, priv_key->parameters)) == NULL) + OPENSSL_ECDSA_ABORT(ECDSA_R_ECDSA_GET_X9_62_EC_PARAMETERS_FAILURE) + priv_key->version = a->version; + priv_key->write_params = a->write_params; + buf_len = EC_POINT_point2oct(a->group, a->pub_key, POINT_CONVERSION_FORM, NULL, 0, NULL); + if (!buf_len || (buffer = OPENSSL_malloc(buf_len)) == NULL) + OPENSSL_ECDSA_ABORT(ERR_R_MALLOC_FAILURE) + if (!EC_POINT_point2oct(a->group, a->pub_key, POINT_CONVERSION_FORM, + buffer, buf_len, NULL)) goto err; + if (!M_ASN1_OCTET_STRING_set(priv_key->pub_key, buffer, buf_len)) + OPENSSL_ECDSA_ABORT(ERR_R_ASN1_LIB) + if ((ret = i2d_ecdsaPublicKey(priv_key, out)) == 0) + OPENSSL_ECDSA_ABORT(ECDSA_R_I2D_ECDSA_PUBLICKEY) + ok = 1; + +err: if (!ok) + ECDSAerr(ECDSA_F_I2D_ECDSAPUBLICKEY, reason); + if (buffer) OPENSSL_free(buffer); + if (priv_key) ECDSAPrivateKey_free(priv_key); + return(ok?ret:0); +} diff --git a/crypto/ecdsa/ecs_err.c b/crypto/ecdsa/ecs_err.c new file mode 100644 index 0000000000..f788dc98c0 --- /dev/null +++ b/crypto/ecdsa/ecs_err.c @@ -0,0 +1,155 @@ +/* crypto/ecdsa/ecs_err.c */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * 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 above 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 acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED 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 OpenSSL PROJECT OR + * ITS 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. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +/* NOTE: this file was auto generated by the mkerr.pl script: any changes + * made to it will be overwritten when the script next updates this file, + * only reason strings will be preserved. + */ + +#include +#include +#include + +/* BEGIN ERROR CODES */ +#ifndef OPENSSL_NO_ERR +static ERR_STRING_DATA ECDSA_str_functs[]= + { +{ERR_PACK(0,ECDSA_F_D2I_ECDSAPARAMETERS,0), "d2i_ECDSAParameters"}, +{ERR_PACK(0,ECDSA_F_D2I_ECDSAPRIVATEKEY,0), "d2i_ECDSAPrivateKey"}, +{ERR_PACK(0,ECDSA_F_ECDSAPARAMETERS_PRINT,0), "ECDSAParameters_print"}, +{ERR_PACK(0,ECDSA_F_ECDSAPARAMETERS_PRINT_FP,0), "ECDSAParameters_print_fp"}, +{ERR_PACK(0,ECDSA_F_ECDSA_DO_SIGN,0), "ECDSA_do_sign"}, +{ERR_PACK(0,ECDSA_F_ECDSA_DO_VERIFY,0), "ECDSA_do_verify"}, +{ERR_PACK(0,ECDSA_F_ECDSA_GENERATE_KEY,0), "ECDSA_generate_key"}, +{ERR_PACK(0,ECDSA_F_ECDSA_GET,0), "ECDSA_GET"}, +{ERR_PACK(0,ECDSA_F_ECDSA_GET_CURVE_NID,0), "ECDSA_GET_CURVE_NID"}, +{ERR_PACK(0,ECDSA_F_ECDSA_GET_ECDSA,0), "ECDSA_GET_ECDSA"}, +{ERR_PACK(0,ECDSA_F_ECDSA_GET_EC_PARAMETERS,0), "ECDSA_get_EC_PARAMETERS"}, +{ERR_PACK(0,ECDSA_F_ECDSA_GET_X9_62_CURVE,0), "ECDSA_get_X9_62_CURVE"}, +{ERR_PACK(0,ECDSA_F_ECDSA_GET_X9_62_EC_PARAMETERS,0), "ECDSA_get_X9_62_EC_PARAMETERS"}, +{ERR_PACK(0,ECDSA_F_ECDSA_GET_X9_62_FIELDID,0), "ECDSA_get_X9_62_FIELDID"}, +{ERR_PACK(0,ECDSA_F_ECDSA_NEW,0), "ECDSA_NEW"}, +{ERR_PACK(0,ECDSA_F_ECDSA_PRINT,0), "ECDSA_print"}, +{ERR_PACK(0,ECDSA_F_ECDSA_PRINT_FP,0), "ECDSA_print_fp"}, +{ERR_PACK(0,ECDSA_F_ECDSA_SET_GROUP_P,0), "ECDSA_set_group_p"}, +{ERR_PACK(0,ECDSA_F_ECDSA_SET_PRIME_GROUP,0), "ECDSA_SET_PRIME_GROUP"}, +{ERR_PACK(0,ECDSA_F_ECDSA_SIGN_SETUP,0), "ECDSA_sign_setup"}, +{ERR_PACK(0,ECDSA_F_I2D_ECDSAPARAMETERS,0), "i2d_ECDSAParameters"}, +{ERR_PACK(0,ECDSA_F_I2D_ECDSAPRIVATEKEY,0), "i2d_ECDSAPrivateKey"}, +{ERR_PACK(0,ECDSA_F_I2D_ECDSAPUBLICKEY,0), "i2d_ECDSAPublicKey"}, +{ERR_PACK(0,ECDSA_F_SIG_CB,0), "SIG_CB"}, +{0,NULL} + }; + +static ERR_STRING_DATA ECDSA_str_reasons[]= + { +{ECDSA_R_BAD_SIGNATURE ,"bad signature"}, +{ECDSA_R_CAN_NOT_GET_GENERATOR ,"can not get generator"}, +{ECDSA_R_D2I_ECDSAPRIVATEKEY_MISSING_PRIVATE_KEY,"d2i ecdsaprivatekey missing private key"}, +{ECDSA_R_D2I_ECDSA_PRIVATEKEY_FAILURE ,"d2i ecdsa privatekey failure"}, +{ECDSA_R_D2I_EC_PARAMETERS_FAILURE ,"d2i ec parameters failure"}, +{ECDSA_R_D2I_X9_62_EC_PARAMETERS_FAILURE ,"d2i x9 62 ec parameters failure"}, +{ECDSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE ,"data too large for key size"}, +{ECDSA_R_ECDSAPRIVATEKEY_NEW_FAILURE ,"ecdsaprivatekey new failure"}, +{ECDSA_R_ECDSA_F_ECDSA_NEW ,"ecdsa f ecdsa new"}, +{ECDSA_R_ECDSA_GET_EC_PARAMETERS_FAILURE ,"ecdsa get ec parameters failure"}, +{ECDSA_R_ECDSA_GET_FAILURE ,"ecdsa get failure"}, +{ECDSA_R_ECDSA_GET_X9_62_CURVE_FAILURE ,"ecdsa get x9 62 curve failure"}, +{ECDSA_R_ECDSA_GET_X9_62_EC_PARAMETERS_FAILURE,"ecdsa get x9 62 ec parameters failure"}, +{ECDSA_R_ECDSA_GET_X9_62_FIELDID_FAILURE ,"ecdsa get x9 62 fieldid failure"}, +{ECDSA_R_ECDSA_NEW_FAILURE ,"ecdsa new failure"}, +{ECDSA_R_ECDSA_R_D2I_EC_PARAMETERS_FAILURE,"ecdsa r d2i ec parameters failure"}, +{ECDSA_R_ECDSA_R_D2I_X9_62_EC_PARAMETERS_FAILURE,"ecdsa r d2i x9 62 ec parameters failure"}, +{ECDSA_R_ECPARAMETERS2ECDSA_FAILURE ,"ecparameters2ecdsa failure"}, +{ECDSA_R_EC_GROUP_NID2CURVE_FAILURE ,"ec group nid2curve failure"}, +{ECDSA_R_ERR_EC_LIB ,"err ec lib"}, +{ECDSA_R_I2D_ECDSA_PRIVATEKEY ,"i2d ecdsa privatekey"}, +{ECDSA_R_I2D_ECDSA_PUBLICKEY ,"i2d ecdsa publickey"}, +{ECDSA_R_MISSING_PARAMETERS ,"missing parameters"}, +{ECDSA_R_NOT_SUPPORTED ,"not supported"}, +{ECDSA_R_NO_CURVE_PARAMETER_A_SPECIFIED ,"no curve parameter a specified"}, +{ECDSA_R_NO_CURVE_PARAMETER_B_SPECIFIED ,"no curve parameter b specified"}, +{ECDSA_R_NO_CURVE_SPECIFIED ,"no curve specified"}, +{ECDSA_R_NO_FIELD_SPECIFIED ,"no field specified"}, +{ECDSA_R_PRIME_MISSING ,"prime missing"}, +{ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED ,"random number generation failed"}, +{ECDSA_R_SIGNATURE_MALLOC_FAILED ,"signature malloc failed"}, +{ECDSA_R_UNEXPECTED_ASN1_TYPE ,"unexpected asn1 type"}, +{ECDSA_R_UNEXPECTED_PARAMETER ,"unexpected parameter"}, +{ECDSA_R_UNEXPECTED_PARAMETER_LENGTH ,"unexpected parameter length"}, +{ECDSA_R_UNEXPECTED_VERSION_NUMER ,"unexpected version numer"}, +{ECDSA_R_UNKNOWN_PARAMETERS_TYPE ,"unknown parameters type"}, +{ECDSA_R_WRONG_FIELD_IDENTIFIER ,"wrong field identifier"}, +{ECDSA_R_X9_62_CURVE_NEW_FAILURE ,"x9 62 curve new failure"}, +{ECDSA_R_X9_62_EC_PARAMETERS_NEW_FAILURE ,"x9 62 ec parameters new failure"}, +{0,NULL} + }; + +#endif + +void ERR_load_ECDSA_strings(void) + { + static int init=1; + + if (init) + { + init=0; +#ifndef OPENSSL_NO_ERR + ERR_load_strings(ERR_LIB_ECDSA,ECDSA_str_functs); + ERR_load_strings(ERR_LIB_ECDSA,ECDSA_str_reasons); +#endif + + } + } diff --git a/crypto/ecdsa/ecs_gen.c b/crypto/ecdsa/ecs_gen.c new file mode 100644 index 0000000000..0e2ade7694 --- /dev/null +++ b/crypto/ecdsa/ecs_gen.c @@ -0,0 +1,133 @@ +/* crypto/ecdsa/ecs_gen.c */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * 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 above 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 acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED 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 OpenSSL PROJECT OR + * ITS 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. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* 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.] + */ +#include +#include +#include "cryptlib.h" +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif +ECDSA *ECDSA_generate_parameters(int bits, + unsigned char *seed_in, int seed_len, + int *counter_ret, unsigned long *h_ret, + void (*callback)(int, int, void *), + void *cb_arg) + { + return NULL; + } +#ifdef __cplusplus +} +#endif diff --git a/crypto/ecdsa/ecs_key.c b/crypto/ecdsa/ecs_key.c new file mode 100644 index 0000000000..44a3f2bec5 --- /dev/null +++ b/crypto/ecdsa/ecs_key.c @@ -0,0 +1,143 @@ +/* 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.] + */ +#include "cryptlib.h" +#include + +int ECDSA_generate_key(ECDSA *ecdsa) +{ + int ok=0; + BN_CTX *ctx=NULL; + BIGNUM *priv_key=NULL,*order=NULL; + EC_POINT *pub_key=NULL; + + if (!ecdsa || !ecdsa->group) + { + ECDSAerr(ECDSA_F_ECDSA_GENERATE_KEY,ECDSA_R_MISSING_PARAMETERS); + return 0; + } + + if ((order = BN_new()) == NULL) goto err; + if ((ctx = BN_CTX_new()) == NULL) goto err; + + if (ecdsa->priv_key == NULL) + { + if ((priv_key = BN_new()) == NULL) goto err; + } + else + priv_key = ecdsa->priv_key; + + if (!EC_GROUP_get_order(ecdsa->group, order, ctx)) goto err; + do + if (!BN_rand_range(priv_key, order)) goto err; + while (BN_is_zero(priv_key)); + + if (ecdsa->pub_key == NULL) + { + if ((pub_key = EC_POINT_new(ecdsa->group)) == NULL) goto err; + } + else + pub_key = ecdsa->pub_key; + + if (!EC_POINT_copy(pub_key, EC_GROUP_get0_generator(ecdsa->group))) goto err; + if (!EC_POINT_mul(ecdsa->group, pub_key, priv_key, NULL, NULL, ctx)) goto err; + + ecdsa->priv_key = priv_key; + ecdsa->pub_key = pub_key; + ok=1; +err: if (order) BN_free(order); + if ((pub_key != NULL) && (ecdsa->pub_key == NULL)) EC_POINT_free(pub_key); + if ((priv_key != NULL) && (ecdsa->priv_key == NULL)) BN_free(priv_key); + if (ctx != NULL) BN_CTX_free(ctx); + return(ok); +} + +int ECDSA_check_key(ECDSA *ecdsa) +{ + int ok=0; + BN_CTX *ctx=NULL; + BIGNUM *order=NULL; + EC_POINT *point=NULL; + + if (!ecdsa || !ecdsa->group || !ecdsa->pub_key) + return 0; + + if ((ctx = BN_CTX_new()) == NULL) goto err; + if ((order = BN_new()) == NULL) goto err; + if ((point = EC_POINT_new(ecdsa->group)) == NULL) goto err; + + /* testing whether pub_key is a valid point on the elliptic curve */ + if (!EC_POINT_is_on_curve(ecdsa->group,ecdsa->pub_key,ctx)) goto err; + /* testing whether pub_key * order is the point at infinity */ + if (!EC_GROUP_get_order(ecdsa->group,order,ctx)) goto err; + if (!EC_POINT_copy(point,ecdsa->pub_key)) goto err; + if (!EC_POINT_mul(ecdsa->group,point,order,NULL,NULL,ctx)) goto err; + if (!EC_POINT_is_at_infinity(ecdsa->group,point)) goto err; + /* in case the priv_key is present : check if generator * priv_key == pub_key */ + if (ecdsa->priv_key) + { + if (BN_cmp(ecdsa->priv_key,order) >= 0) goto err; + if (!EC_POINT_copy(point,EC_GROUP_get0_generator(ecdsa->group))) goto err; + if (!EC_POINT_mul(ecdsa->group,point,ecdsa->priv_key,NULL,NULL,ctx)) goto err; + if (EC_POINT_cmp(ecdsa->group,point,ecdsa->pub_key,ctx) != 0) goto err; + } + ok = 1; +err: + if (ctx != NULL) BN_CTX_free(ctx); + if (order != NULL) BN_free(order); + if (point != NULL) EC_POINT_free(point); + return(ok); +} diff --git a/crypto/ecdsa/ecs_lib.c b/crypto/ecdsa/ecs_lib.c new file mode 100644 index 0000000000..b161b6c2d2 --- /dev/null +++ b/crypto/ecdsa/ecs_lib.c @@ -0,0 +1,312 @@ +/* crypto/ecdsa/ecs_lib.c */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * 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 above 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 acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED 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 OpenSSL PROJECT OR + * ITS 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. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* 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.] + */ + +#include "cryptlib.h" +#include "ecs_locl.h" +#include + +const char *ECDSA_version="ECDSA" OPENSSL_VERSION_PTEXT; + +static const ECDSA_METHOD *default_ECDSA_method = NULL; + +void ECDSA_set_default_method(const ECDSA_METHOD *meth) +{ + default_ECDSA_method = meth; +} + +const ECDSA_METHOD *ECDSA_get_default_method(void) +{ + if(!default_ECDSA_method) + default_ECDSA_method = ECDSA_OpenSSL(); + return default_ECDSA_method; +} + +ECDSA *ECDSA_new(void) +{ + return ECDSA_new_method(NULL); +} + +int ECDSA_set_method(ECDSA *ecdsa, const ECDSA_METHOD *meth) +{ + const ECDSA_METHOD *mtmp; + mtmp = ecdsa->meth; + if (mtmp->finish) mtmp->finish(ecdsa); + if (ecdsa->engine) + { + ENGINE_finish(ecdsa->engine); + ecdsa->engine = NULL; + } + ecdsa->meth = meth; + if (meth->init) meth->init(ecdsa); + return 1; +} + +ECDSA *ECDSA_new_method(ENGINE *engine) +{ + ECDSA *ret; + + ret=(ECDSA *)OPENSSL_malloc(sizeof(ECDSA)); + if (ret == NULL) + { + ECDSAerr(ECDSA_F_ECDSA_NEW,ERR_R_MALLOC_FAILURE); + return(NULL); + } + + ret->meth = ECDSA_get_default_method(); + ret->engine = engine; + if (!ret->engine) + ret->engine = ENGINE_get_default_ECDSA(); + if (ret->engine) + { + ret->meth = ENGINE_get_ECDSA(ret->engine); + if (!ret->meth) + { + ECDSAerr(ECDSA_R_ECDSA_F_ECDSA_NEW, ERR_R_ENGINE_LIB); + ENGINE_finish(ret->engine); + OPENSSL_free(ret); + return NULL; + } + } + + ret->version = 1; + ret->write_params=1; + ret->group = NULL; + + ret->pub_key = NULL; + ret->priv_key = NULL; + + ret->kinv = NULL; + ret->r = NULL; + + ret->seed = NULL; + ret->seed_len = 0; + + ret->parameter_flags = 0; + + ret->references = 1; + ret->flags = ret->meth->flags; + CRYPTO_new_ex_data(CRYPTO_EX_INDEX_ECDSA, ret, &ret->ex_data); + if ((ret->meth->init != NULL) && !ret->meth->init(ret)) + { + CRYPTO_free_ex_data(CRYPTO_EX_INDEX_ECDSA, ret, &ret->ex_data); + OPENSSL_free(ret); + ret=NULL; + } + + return(ret); +} + +void ECDSA_free(ECDSA *r) +{ + int i; + + if (r == NULL) return; + + i=CRYPTO_add(&r->references,-1,CRYPTO_LOCK_ECDSA); +#ifdef REF_PRINT + REF_PRINT("ECDSA",r); +#endif + if (i > 0) return; +#ifdef REF_CHECK + if (i < 0) + { + fprintf(stderr,"ECDSA_free, bad reference count\n"); + abort(); + } +#endif + + if (r->meth->finish) + r->meth->finish(r); + if (r->engine) + ENGINE_finish(r->engine); + + CRYPTO_free_ex_data(CRYPTO_EX_INDEX_ECDSA, r, &r->ex_data); + + if (r->group != NULL) EC_GROUP_free(r->group); + if (r->pub_key != NULL) EC_POINT_free(r->pub_key); + if (r->priv_key != NULL) BN_clear_free(r->priv_key); + if (r->kinv != NULL) BN_clear_free(r->kinv); + if (r->r != NULL) BN_clear_free(r->r); + if (r->seed != NULL) OPENSSL_free(r->seed); + OPENSSL_free(r); +} + +int ECDSA_size(const ECDSA *r) +{ + int ret,i; + ASN1_INTEGER bs; + BIGNUM *order=NULL; + unsigned char buf[4]; + + if (r == NULL || r->group == NULL) + return 0; + if ((order = BN_new()) == NULL) return 0; + if (!EC_GROUP_get_order(r->group,order,NULL)) + { + BN_clear_free(order); + return 0; + } + i=BN_num_bits(order); + bs.length=(i+7)/8; + bs.data=buf; + bs.type=V_ASN1_INTEGER; + /* If the top bit is set the asn1 encoding is 1 larger. */ + buf[0]=0xff; + + i=i2d_ASN1_INTEGER(&bs,NULL); + i+=i; /* r and s */ + ret=ASN1_object_size(1,i,V_ASN1_SEQUENCE); + BN_clear_free(order); + return(ret); +} + +int ECDSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, + CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func) +{ + return CRYPTO_get_ex_new_index(CRYPTO_EX_INDEX_ECDSA, argl, argp, + new_func, dup_func, free_func); +} + +int ECDSA_set_ex_data(ECDSA *d, int idx, void *arg) +{ + return(CRYPTO_set_ex_data(&d->ex_data,idx,arg)); +} + +void *ECDSA_get_ex_data(ECDSA *d, int idx) +{ + return(CRYPTO_get_ex_data(&d->ex_data,idx)); +} + +int ECDSA_up_ref(ECDSA *ecdsa) +{ + int i = CRYPTO_add(&ecdsa->references, 1, CRYPTO_LOCK_ECDSA); +#ifdef REF_PRINT + REF_PRINT("ECDSA",r); +#endif +#ifdef REF_CHECK + if (i < 2) + { + fprintf(stderr, "ECDSA_up_ref, bad reference count\n"); + abort(); + } +#endif + return ((i > 1) ? 1 : 0); +} + +void ECDSA_set_parameter_flags(ECDSA *ecdsa, int flag) +{ + ecdsa->parameter_flags = flag; +} + +int ECDSA_get_parameter_flags(const ECDSA *ecdsa) +{ + return ecdsa->parameter_flags; +} diff --git a/crypto/ecdsa/ecs_locl.h b/crypto/ecdsa/ecs_locl.h new file mode 100644 index 0000000000..61b63668ca --- /dev/null +++ b/crypto/ecdsa/ecs_locl.h @@ -0,0 +1,118 @@ +/* crypto/ecdsa/ecs_locl.h */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * 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 above 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 acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED 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 OpenSSL PROJECT OR + * ITS 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. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#include "ecdsa.h" + +#ifndef HEADER_ECS_LOCL_H +#define HEADER_ECS_LOCL_H + +#ifdef __cplusplus +extern "C" { +#endif + +#define OPENSSL_ECDSA_ABORT(r) { reason = (r); goto err; } + +/* some structures needed for the asn1 encoding */ +typedef struct x9_62_fieldid_st { + ASN1_OBJECT *fieldType; + ASN1_TYPE *parameters; + } X9_62_FIELDID; + +typedef struct x9_62_curve_st { + ASN1_OCTET_STRING *a; + ASN1_OCTET_STRING *b; + ASN1_BIT_STRING *seed; + } X9_62_CURVE; + +typedef struct x9_62_ec_parameters { + ASN1_INTEGER *version; + X9_62_FIELDID *fieldID; + X9_62_CURVE *curve; + ASN1_OCTET_STRING *base; + ASN1_INTEGER *order; + ASN1_INTEGER *cofactor; + } X9_62_EC_PARAMETERS; + +typedef struct ec_parameters { + int type; + union { + ASN1_OBJECT *named_curve; + X9_62_EC_PARAMETERS *parameters; + ASN1_NULL *implicitlyCA; + } value; + } EC_PARAMETERS; + +typedef struct ecdsa_priv_key_st { + int version; + int write_params; + EC_PARAMETERS *parameters; + ASN1_OBJECT *named_curve; + ASN1_OCTET_STRING *pub_key; + BIGNUM *priv_key; + } ECDSAPrivateKey; + + +X9_62_FIELDID *ECDSA_get_X9_62_FIELDID(const ECDSA *ecdsa, X9_62_FIELDID *field); +X9_62_CURVE *ECDSA_get_X9_62_CURVE(const ECDSA *ecdsa, X9_62_CURVE *curve); +X9_62_EC_PARAMETERS *ECDSA_get_X9_62_EC_PARAMETERS(const ECDSA *ecdsa, X9_62_EC_PARAMETERS *params); +EC_PARAMETERS *ECDSA_get_EC_PARAMETERS(const ECDSA *ecdsa, EC_PARAMETERS *params); + +ECDSA *ECDSA_x9_62parameters2ecdsa(const X9_62_EC_PARAMETERS *params, ECDSA *ecdsa); +ECDSA *ECDSA_ecparameters2ecdsa(const EC_PARAMETERS *params, ECDSA *ecdsa); + +#ifdef __cplusplus +} +#endif +#endif diff --git a/crypto/ecdsa/ecs_ossl.c b/crypto/ecdsa/ecs_ossl.c new file mode 100644 index 0000000000..5a36707cfb --- /dev/null +++ b/crypto/ecdsa/ecs_ossl.c @@ -0,0 +1,381 @@ +/* crypto/ecdsa/ecs_ossl.c */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * 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 above 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 acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED 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 OpenSSL PROJECT OR + * ITS 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. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* 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.] + */ +#include "cryptlib.h" +#include + +/* TODO : general case */ +#define EC_POINT_get_affine_coordinates EC_POINT_get_affine_coordinates_GFp + +static ECDSA_SIG *ecdsa_do_sign(const unsigned char *dgst, int dlen, ECDSA *ecdsa); +static int ecdsa_sign_setup(ECDSA *ecdsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp); +static int ecdsa_do_verify(const unsigned char *dgst, int dgst_len, ECDSA_SIG *sig, + ECDSA *ecdsa); + +static ECDSA_METHOD openssl_ecdsa_meth = { +"OpenSSL ECDSA method", +ecdsa_do_sign, +ecdsa_sign_setup, +ecdsa_do_verify, +0, +NULL +}; + +const ECDSA_METHOD *ECDSA_OpenSSL(void) +{ + return &openssl_ecdsa_meth; +} + +static int ecdsa_sign_setup(ECDSA *ecdsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp) +{ + BN_CTX *ctx = NULL; + BIGNUM k,*kinv=NULL,*r=NULL,*order=NULL,*X=NULL; + EC_POINT *tmp_point=NULL; + int ret = 0,reason = ERR_R_BN_LIB; + if (!ecdsa || !ecdsa->group || !ecdsa->pub_key || !ecdsa->priv_key) + { + reason = ECDSA_R_MISSING_PARAMETERS; + return 0; + } + if (ctx_in == NULL) + { + if ((ctx=BN_CTX_new()) == NULL) goto err; + } + else + ctx=ctx_in; + + if ((r = BN_new()) == NULL) goto err; + if ((order = BN_new()) == NULL) goto err; + if ((X = BN_new()) == NULL) goto err; + if ((tmp_point = EC_POINT_new(ecdsa->group)) == NULL) + { + reason = ERR_R_EC_LIB; + goto err; + } + if (!EC_POINT_copy(tmp_point,EC_GROUP_get0_generator(ecdsa->group))) + { + reason = ERR_R_EC_LIB; + goto err; + } + if (!EC_GROUP_get_order(ecdsa->group,order,ctx)) + { + reason = ERR_R_EC_LIB; + goto err; + } + + do + { + /* get random k */ + BN_init(&k); + do + if (!BN_rand_range(&k,order)) + { + reason = ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED; + goto err; + } + while (BN_is_zero(&k)); + + /* compute r the x-coordinate of generator * k */ + if (!EC_POINT_mul(ecdsa->group,tmp_point,&k,NULL,NULL,ctx) + || !EC_POINT_get_affine_coordinates(ecdsa->group,tmp_point,X,NULL,ctx)) + { + reason = ERR_R_EC_LIB; + goto err; + } + if (!BN_nnmod(r,X,order,ctx)) goto err; + } + while (BN_is_zero(r)); + + /* compute the inverse of k */ + if ((kinv = BN_mod_inverse(NULL,&k,order,ctx)) == NULL) goto err; + + if (*rp == NULL) + BN_clear_free(*rp); + *rp = r; + if (*kinvp == NULL) + BN_clear_free(*kinvp); + *kinvp = kinv; + kinv = NULL; + ret = 1; +err: + if (!ret) + { + ECDSAerr(ECDSA_F_ECDSA_SIGN_SETUP,reason); + if (kinv != NULL) BN_clear_free(kinv); + if (r != NULL) BN_clear_free(r); + } + if (ctx_in == NULL) + BN_CTX_free(ctx); + if (kinv != NULL) + BN_clear_free(kinv); + if (order != NULL) + BN_clear_free(order); + if (tmp_point != NULL) + EC_POINT_free(tmp_point); + if (X) BN_clear_free(X); + BN_clear_free(&k); + return(ret); +} + + +static ECDSA_SIG *ecdsa_do_sign(const unsigned char *dgst, int dgst_len, ECDSA *ecdsa) +{ + BIGNUM *kinv=NULL,*r=NULL,*s=NULL,*m=NULL,*tmp=NULL,*order=NULL; + BIGNUM xr; + BN_CTX *ctx=NULL; + int reason=ERR_R_BN_LIB; + ECDSA_SIG *ret=NULL; + + if (!ecdsa || !ecdsa->group || !ecdsa->pub_key || !ecdsa->priv_key) + { + reason = ECDSA_R_MISSING_PARAMETERS; + goto err; + } + BN_init(&xr); + + if ((ctx = BN_CTX_new()) == NULL) goto err; + if ((order = BN_new()) == NULL) goto err; + if ((tmp = BN_new()) == NULL) goto err; + if ((m = BN_new()) == NULL) goto err; + if ((s = BN_new()) == NULL) goto err; + + if (!EC_GROUP_get_order(ecdsa->group,order,ctx)) + { + reason = ECDSA_R_ERR_EC_LIB; + goto err; + } + if (dgst_len > BN_num_bytes(order)) + { + reason = ECDSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE; + goto err; + } + + if (BN_bin2bn(dgst,dgst_len,m) == NULL) goto err; + do + { + if ((ecdsa->kinv == NULL) || (ecdsa->r == NULL)) + { + if (!ECDSA_sign_setup(ecdsa,ctx,&kinv,&r)) goto err; + } + else + { + kinv = ecdsa->kinv; + ecdsa->kinv = NULL; + r = ecdsa->r; + ecdsa->r = NULL; + } + + if (!BN_mod_mul(tmp,ecdsa->priv_key,r,order,ctx)) goto err; + if (!BN_add(s,tmp,m)) goto err; + if (BN_cmp(s,order) > 0) + BN_sub(s,s,order); + if (!BN_mod_mul(s,s,kinv,order,ctx)) goto err; + } + while (BN_is_zero(s)); + + if ((ret = ECDSA_SIG_new()) == NULL) + { + reason = ECDSA_R_SIGNATURE_MALLOC_FAILED; + goto err; + } + ret->r = r; + ret->s = s; + +err: + if (!ret) + { + ECDSAerr(ECDSA_F_ECDSA_DO_SIGN,reason); + BN_free(r); + BN_free(s); + } + if (ctx != NULL) BN_CTX_free(ctx); + if (m != NULL) BN_clear_free(m); + if (tmp != NULL) BN_clear_free(tmp); + if (order != NULL) BN_clear_free(order); + if (kinv != NULL) BN_clear_free(kinv); + return(ret); +} + +static int ecdsa_do_verify(const unsigned char *dgst, int dgst_len, ECDSA_SIG *sig, + ECDSA *ecdsa) +{ + BN_CTX *ctx; + BIGNUM *order=NULL,*u1=NULL,*u2=NULL,*m=NULL,*X=NULL; + EC_POINT *point=NULL; + int ret = -1,reason = ERR_R_BN_LIB; + if (!ecdsa || !ecdsa->group || !ecdsa->pub_key || !sig) + { + reason = ECDSA_R_MISSING_PARAMETERS; + return -1; + } + + if ((ctx = BN_CTX_new()) == NULL) goto err; + if ((order = BN_new()) == NULL) goto err; + if ((u1 = BN_new()) == NULL) goto err; + if ((u2 = BN_new()) == NULL) goto err; + if ((m = BN_new()) == NULL) goto err; + if ((X = BN_new()) == NULL) goto err; + if (!EC_GROUP_get_order(ecdsa->group,order,ctx)) goto err; + + if (BN_is_zero(sig->r) || sig->r->neg || BN_ucmp(sig->r, order) >= 0) + { + reason = ECDSA_R_BAD_SIGNATURE; + ret = 0; + goto err; + } + if (BN_is_zero(sig->s) || sig->s->neg || BN_ucmp(sig->s, order) >= 0) + { + reason = ECDSA_R_BAD_SIGNATURE; + ret = 0; + goto err; + } + + /* calculate tmp1 = inv(S) mod order */ + if ((BN_mod_inverse(u2,sig->s,order,ctx)) == NULL) goto err; + /* digest -> m */ + if (BN_bin2bn(dgst,dgst_len,m) == NULL) goto err; + /* u1 = m * tmp mod order */ + if (!BN_mod_mul(u1,m,u2,order,ctx)) goto err; + /* u2 = r * w mod q */ + if (!BN_mod_mul(u2,sig->r,u2,order,ctx)) goto err; + + if ((point = EC_POINT_new(ecdsa->group)) == NULL) + { + reason = ERR_R_EC_LIB; + goto err; + } + if (!EC_POINT_copy(point,EC_GROUP_get0_generator(ecdsa->group))) + { + reason = ERR_R_EC_LIB; + goto err; + } + if (!EC_POINT_mul(ecdsa->group,point,u1,ecdsa->pub_key,u2,ctx) + || !EC_POINT_get_affine_coordinates(ecdsa->group,point,X,NULL,ctx)) + { + reason = ERR_R_EC_LIB; + goto err; + } + if (!BN_nnmod(u1,X,order,ctx)) goto err; + + /* is now in u1. If the signature is correct, it will be + * equal to R. */ + ret = (BN_ucmp(u1,sig->r) == 0); + + err: + if (ret != 1) ECDSAerr(ECDSA_F_ECDSA_DO_VERIFY,reason); + if (ctx != NULL) BN_CTX_free(ctx); + if (u1 != NULL) BN_clear_free(u1); + if (u2 != NULL) BN_clear_free(u2); + if (m != NULL) BN_clear_free(m); + if (X != NULL) BN_clear_free(X); + if (order != NULL) BN_clear_free(order); + if (point != NULL) EC_POINT_free(point); + return(ret); +} diff --git a/crypto/ecdsa/ecs_sign.c b/crypto/ecdsa/ecs_sign.c new file mode 100644 index 0000000000..eb18685e37 --- /dev/null +++ b/crypto/ecdsa/ecs_sign.c @@ -0,0 +1,138 @@ +/* crypto/ecdsa/ecdsa_sign.c */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * 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 above 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 acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED 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 OpenSSL PROJECT OR + * ITS 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. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* 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.] + */ +#include "cryptlib.h" +#include +#include + +ECDSA_SIG * ECDSA_do_sign(const unsigned char *dgst, int dlen, ECDSA *ecdsa) +{ + return ecdsa->meth->ecdsa_do_sign(dgst, dlen, ecdsa); +} + +int ECDSA_sign(int type, const unsigned char *dgst, int dlen, unsigned char *sig, + unsigned int *siglen, ECDSA *ecdsa) +{ + ECDSA_SIG *s; + s=ECDSA_do_sign(dgst,dlen,ecdsa); + if (s == NULL) + { + *siglen=0; + return(0); + } + *siglen=i2d_ECDSA_SIG(s,&sig); + ECDSA_SIG_free(s); + return(1); +} + +int ECDSA_sign_setup(ECDSA *ecdsa, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp) +{ + return ecdsa->meth->ecdsa_sign_setup(ecdsa, ctx_in, kinvp, rp); +} diff --git a/crypto/ecdsa/ecs_vrf.c b/crypto/ecdsa/ecs_vrf.c new file mode 100644 index 0000000000..dddbcfc60c --- /dev/null +++ b/crypto/ecdsa/ecs_vrf.c @@ -0,0 +1,141 @@ +/* crypto/ecdsa/ecdsa_vrf.c */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * 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 above 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 acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED 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 OpenSSL PROJECT OR + * ITS 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. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ +/* 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.] + */ +#include +#include + +/* returns + * 1: correct signature + * 0: incorrect signature + * -1: error + */ +int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, ECDSA_SIG *sig, ECDSA *ecdsa) + { + return ecdsa->meth->ecdsa_do_verify(dgst, dgst_len, sig, ecdsa); + } + +/* returns + * 1: correct signature + * 0: incorrect signature + * -1: error + */ +int ECDSA_verify(int type, const unsigned char *dgst, int dgst_len, const unsigned char *sigbuf, int sig_len, ECDSA *ecdsa) + { + ECDSA_SIG *s; + int ret=-1; + + s = ECDSA_SIG_new(); + if (s == NULL) return(ret); + if (d2i_ECDSA_SIG(&s,&sigbuf,sig_len) == NULL) goto err; + ret=ECDSA_do_verify(dgst,dgst_len,s,ecdsa); +err: + ECDSA_SIG_free(s); + return(ret); + } diff --git a/crypto/engine/Makefile.ssl b/crypto/engine/Makefile.ssl index 7b480d00e3..674b38495c 100644 --- a/crypto/engine/Makefile.ssl +++ b/crypto/engine/Makefile.ssl @@ -25,13 +25,13 @@ APPS= LIB=$(TOP)/libcrypto.a LIBSRC= eng_err.c eng_lib.c eng_list.c eng_init.c eng_ctrl.c \ eng_table.c eng_pkey.c eng_fat.c eng_all.c \ - tb_rsa.c tb_dsa.c tb_dh.c tb_rand.c tb_cipher.c tb_digest.c \ + tb_rsa.c tb_dsa.c tb_ecdsa.c tb_dh.c tb_rand.c tb_cipher.c tb_digest.c \ eng_openssl.c eng_dyn.c eng_cnf.c \ hw_atalla.c hw_cswift.c hw_ncipher.c hw_nuron.c hw_ubsec.c \ hw_openbsd_dev_crypto.c hw_aep.c hw_sureware.c LIBOBJ= eng_err.o eng_lib.o eng_list.o eng_init.o eng_ctrl.o \ eng_table.o eng_pkey.o eng_fat.o eng_all.o \ - tb_rsa.o tb_dsa.o tb_dh.o tb_rand.o tb_cipher.o tb_digest.o \ + tb_rsa.o tb_dsa.o tb_ecdsa.o tb_dh.o tb_rand.o tb_cipher.o tb_digest.o \ eng_openssl.o eng_dyn.o eng_cnf.o \ hw_atalla.o hw_cswift.o hw_ncipher.o hw_nuron.o hw_ubsec.o \ hw_openbsd_dev_crypto.o hw_aep.o hw_sureware.o @@ -93,117 +93,131 @@ clean: # DO NOT DELETE THIS LINE -- make depend depends on it. -eng_all.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -eng_all.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h -eng_all.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -eng_all.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -eng_all.o: ../../include/openssl/err.h ../../include/openssl/lhash.h -eng_all.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -eng_all.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h -eng_all.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -eng_all.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -eng_all.o: ../../include/openssl/ui.h eng_all.c eng_int.h +eng_all.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +eng_all.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +eng_all.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +eng_all.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +eng_all.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +eng_all.o: ../../include/openssl/engine.h ../../include/openssl/err.h +eng_all.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h +eng_all.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +eng_all.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h +eng_all.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +eng_all.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h +eng_all.o: eng_all.c eng_int.h eng_cnf.o: ../../e_os.h ../../include/openssl/asn1.h -eng_cnf.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -eng_cnf.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -eng_cnf.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -eng_cnf.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -eng_cnf.o: ../../include/openssl/engine.h ../../include/openssl/err.h -eng_cnf.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h -eng_cnf.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -eng_cnf.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h -eng_cnf.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h -eng_cnf.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h -eng_cnf.o: ../cryptlib.h eng_cnf.c +eng_cnf.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +eng_cnf.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +eng_cnf.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +eng_cnf.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +eng_cnf.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +eng_cnf.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h +eng_cnf.o: ../../include/openssl/err.h ../../include/openssl/lhash.h +eng_cnf.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +eng_cnf.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h +eng_cnf.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +eng_cnf.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +eng_cnf.o: ../../include/openssl/ui.h ../cryptlib.h eng_cnf.c eng_ctrl.o: ../../e_os.h ../../include/openssl/asn1.h -eng_ctrl.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -eng_ctrl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -eng_ctrl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -eng_ctrl.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -eng_ctrl.o: ../../include/openssl/err.h ../../include/openssl/lhash.h -eng_ctrl.o: ../../include/openssl/opensslconf.h +eng_ctrl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +eng_ctrl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +eng_ctrl.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +eng_ctrl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +eng_ctrl.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +eng_ctrl.o: ../../include/openssl/engine.h ../../include/openssl/err.h +eng_ctrl.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h eng_ctrl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h eng_ctrl.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h eng_ctrl.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h eng_ctrl.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h eng_ctrl.o: ../cryptlib.h eng_ctrl.c eng_int.h eng_dyn.o: ../../e_os.h ../../include/openssl/asn1.h -eng_dyn.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -eng_dyn.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -eng_dyn.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -eng_dyn.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h -eng_dyn.o: ../../include/openssl/engine.h ../../include/openssl/err.h -eng_dyn.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h -eng_dyn.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -eng_dyn.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h -eng_dyn.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h -eng_dyn.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h -eng_dyn.o: ../cryptlib.h eng_dyn.c eng_int.h -eng_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -eng_err.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h -eng_err.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -eng_err.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -eng_err.o: ../../include/openssl/err.h ../../include/openssl/lhash.h -eng_err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -eng_err.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h -eng_err.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -eng_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -eng_err.o: ../../include/openssl/ui.h eng_err.c +eng_dyn.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +eng_dyn.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +eng_dyn.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +eng_dyn.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h +eng_dyn.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +eng_dyn.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h +eng_dyn.o: ../../include/openssl/err.h ../../include/openssl/lhash.h +eng_dyn.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +eng_dyn.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h +eng_dyn.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +eng_dyn.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +eng_dyn.o: ../../include/openssl/ui.h ../cryptlib.h eng_dyn.c eng_int.h +eng_err.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +eng_err.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +eng_err.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +eng_err.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +eng_err.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +eng_err.o: ../../include/openssl/engine.h ../../include/openssl/err.h +eng_err.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h +eng_err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +eng_err.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h +eng_err.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +eng_err.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h +eng_err.o: eng_err.c eng_fat.o: ../../e_os.h ../../include/openssl/asn1.h -eng_fat.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -eng_fat.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -eng_fat.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -eng_fat.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -eng_fat.o: ../../include/openssl/engine.h ../../include/openssl/err.h -eng_fat.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h -eng_fat.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -eng_fat.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h -eng_fat.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h -eng_fat.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h -eng_fat.o: ../cryptlib.h eng_fat.c eng_int.h +eng_fat.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +eng_fat.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +eng_fat.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +eng_fat.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +eng_fat.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +eng_fat.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h +eng_fat.o: ../../include/openssl/err.h ../../include/openssl/lhash.h +eng_fat.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +eng_fat.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h +eng_fat.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +eng_fat.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +eng_fat.o: ../../include/openssl/ui.h ../cryptlib.h eng_fat.c eng_int.h eng_init.o: ../../e_os.h ../../include/openssl/asn1.h -eng_init.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -eng_init.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -eng_init.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -eng_init.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -eng_init.o: ../../include/openssl/err.h ../../include/openssl/lhash.h -eng_init.o: ../../include/openssl/opensslconf.h +eng_init.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +eng_init.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +eng_init.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +eng_init.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +eng_init.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +eng_init.o: ../../include/openssl/engine.h ../../include/openssl/err.h +eng_init.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h eng_init.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h eng_init.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h eng_init.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h eng_init.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h eng_init.o: ../cryptlib.h eng_init.c eng_int.h eng_lib.o: ../../e_os.h ../../include/openssl/asn1.h -eng_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -eng_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -eng_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -eng_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -eng_lib.o: ../../include/openssl/err.h ../../include/openssl/lhash.h -eng_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -eng_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h -eng_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -eng_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -eng_lib.o: ../../include/openssl/ui.h ../cryptlib.h eng_int.h eng_lib.c +eng_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +eng_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +eng_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +eng_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +eng_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +eng_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h +eng_lib.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h +eng_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +eng_lib.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h +eng_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +eng_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h +eng_lib.o: ../cryptlib.h eng_int.h eng_lib.c eng_list.o: ../../e_os.h ../../include/openssl/asn1.h -eng_list.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -eng_list.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -eng_list.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -eng_list.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -eng_list.o: ../../include/openssl/err.h ../../include/openssl/lhash.h -eng_list.o: ../../include/openssl/opensslconf.h +eng_list.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +eng_list.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +eng_list.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +eng_list.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +eng_list.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +eng_list.o: ../../include/openssl/engine.h ../../include/openssl/err.h +eng_list.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h eng_list.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h eng_list.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h eng_list.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h eng_list.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h eng_list.o: ../cryptlib.h eng_int.h eng_list.c eng_openssl.o: ../../e_os.h ../../include/openssl/asn1.h -eng_openssl.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -eng_openssl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -eng_openssl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -eng_openssl.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h -eng_openssl.o: ../../include/openssl/engine.h ../../include/openssl/err.h -eng_openssl.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -eng_openssl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +eng_openssl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +eng_openssl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +eng_openssl.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +eng_openssl.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h +eng_openssl.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +eng_openssl.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h +eng_openssl.o: ../../include/openssl/err.h ../../include/openssl/evp.h +eng_openssl.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +eng_openssl.o: ../../include/openssl/objects.h eng_openssl.o: ../../include/openssl/opensslconf.h eng_openssl.o: ../../include/openssl/opensslv.h eng_openssl.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h @@ -212,48 +226,54 @@ eng_openssl.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h eng_openssl.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h eng_openssl.o: ../../include/openssl/ui.h ../cryptlib.h eng_openssl.c eng_pkey.o: ../../e_os.h ../../include/openssl/asn1.h -eng_pkey.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -eng_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -eng_pkey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -eng_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -eng_pkey.o: ../../include/openssl/err.h ../../include/openssl/lhash.h -eng_pkey.o: ../../include/openssl/opensslconf.h +eng_pkey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +eng_pkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +eng_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +eng_pkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +eng_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +eng_pkey.o: ../../include/openssl/engine.h ../../include/openssl/err.h +eng_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h eng_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h eng_pkey.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h eng_pkey.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h eng_pkey.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h eng_pkey.o: ../cryptlib.h eng_int.h eng_pkey.c -eng_table.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -eng_table.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h -eng_table.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -eng_table.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -eng_table.o: ../../include/openssl/err.h ../../include/openssl/evp.h -eng_table.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -eng_table.o: ../../include/openssl/objects.h +eng_table.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +eng_table.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +eng_table.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +eng_table.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +eng_table.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +eng_table.o: ../../include/openssl/engine.h ../../include/openssl/err.h +eng_table.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +eng_table.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h eng_table.o: ../../include/openssl/opensslconf.h eng_table.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h eng_table.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h eng_table.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h eng_table.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h eng_table.o: eng_int.h eng_table.c -hw_aep.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -hw_aep.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h -hw_aep.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -hw_aep.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h -hw_aep.o: ../../include/openssl/engine.h ../../include/openssl/err.h -hw_aep.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h -hw_aep.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -hw_aep.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h -hw_aep.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h -hw_aep.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h hw_aep.c -hw_aep.o: hw_aep_err.c hw_aep_err.h vendor_defns/aep.h +hw_aep.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +hw_aep.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +hw_aep.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +hw_aep.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h +hw_aep.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +hw_aep.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h +hw_aep.o: ../../include/openssl/err.h ../../include/openssl/lhash.h +hw_aep.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +hw_aep.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h +hw_aep.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +hw_aep.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +hw_aep.o: ../../include/openssl/ui.h hw_aep.c hw_aep_err.c hw_aep_err.h +hw_aep.o: vendor_defns/aep.h hw_atalla.o: ../../e_os.h ../../include/openssl/asn1.h -hw_atalla.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -hw_atalla.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -hw_atalla.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -hw_atalla.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h -hw_atalla.o: ../../include/openssl/engine.h ../../include/openssl/err.h -hw_atalla.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h +hw_atalla.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +hw_atalla.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +hw_atalla.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +hw_atalla.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h +hw_atalla.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +hw_atalla.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h +hw_atalla.o: ../../include/openssl/err.h ../../include/openssl/lhash.h +hw_atalla.o: ../../include/openssl/opensslconf.h hw_atalla.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h hw_atalla.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h hw_atalla.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h @@ -261,12 +281,14 @@ hw_atalla.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h hw_atalla.o: ../cryptlib.h hw_atalla.c hw_atalla_err.c hw_atalla_err.h hw_atalla.o: vendor_defns/atalla.h hw_cswift.o: ../../e_os.h ../../include/openssl/asn1.h -hw_cswift.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -hw_cswift.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -hw_cswift.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -hw_cswift.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h -hw_cswift.o: ../../include/openssl/engine.h ../../include/openssl/err.h -hw_cswift.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h +hw_cswift.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +hw_cswift.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +hw_cswift.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +hw_cswift.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h +hw_cswift.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +hw_cswift.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h +hw_cswift.o: ../../include/openssl/err.h ../../include/openssl/lhash.h +hw_cswift.o: ../../include/openssl/opensslconf.h hw_cswift.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h hw_cswift.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h hw_cswift.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h @@ -274,13 +296,15 @@ hw_cswift.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h hw_cswift.o: ../cryptlib.h hw_cswift.c hw_cswift_err.c hw_cswift_err.h hw_cswift.o: vendor_defns/cswift.h hw_ncipher.o: ../../e_os.h ../../include/openssl/asn1.h -hw_ncipher.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -hw_ncipher.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -hw_ncipher.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -hw_ncipher.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h -hw_ncipher.o: ../../include/openssl/engine.h ../../include/openssl/err.h -hw_ncipher.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -hw_ncipher.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +hw_ncipher.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +hw_ncipher.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +hw_ncipher.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +hw_ncipher.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h +hw_ncipher.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +hw_ncipher.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h +hw_ncipher.o: ../../include/openssl/err.h ../../include/openssl/evp.h +hw_ncipher.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +hw_ncipher.o: ../../include/openssl/objects.h hw_ncipher.o: ../../include/openssl/opensslconf.h hw_ncipher.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h hw_ncipher.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h @@ -292,23 +316,28 @@ hw_ncipher.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h hw_ncipher.o: ../cryptlib.h hw_ncipher.c hw_ncipher_err.c hw_ncipher_err.h hw_ncipher.o: vendor_defns/hwcryptohook.h hw_nuron.o: ../../e_os.h ../../include/openssl/asn1.h -hw_nuron.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -hw_nuron.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -hw_nuron.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -hw_nuron.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h -hw_nuron.o: ../../include/openssl/engine.h ../../include/openssl/err.h -hw_nuron.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h +hw_nuron.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +hw_nuron.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +hw_nuron.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +hw_nuron.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h +hw_nuron.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +hw_nuron.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h +hw_nuron.o: ../../include/openssl/err.h ../../include/openssl/lhash.h +hw_nuron.o: ../../include/openssl/opensslconf.h hw_nuron.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h hw_nuron.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h hw_nuron.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h hw_nuron.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h hw_nuron.o: ../cryptlib.h hw_nuron.c hw_nuron_err.c hw_nuron_err.h hw_openbsd_dev_crypto.o: ../../include/openssl/asn1.h +hw_openbsd_dev_crypto.o: ../../include/openssl/asn1t.h hw_openbsd_dev_crypto.o: ../../include/openssl/bio.h ../../include/openssl/bn.h hw_openbsd_dev_crypto.o: ../../include/openssl/conf.h hw_openbsd_dev_crypto.o: ../../include/openssl/crypto.h hw_openbsd_dev_crypto.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h hw_openbsd_dev_crypto.o: ../../include/openssl/e_os2.h +hw_openbsd_dev_crypto.o: ../../include/openssl/ec.h +hw_openbsd_dev_crypto.o: ../../include/openssl/ecdsa.h hw_openbsd_dev_crypto.o: ../../include/openssl/engine.h hw_openbsd_dev_crypto.o: ../../include/openssl/err.h hw_openbsd_dev_crypto.o: ../../include/openssl/evp.h @@ -326,13 +355,15 @@ hw_openbsd_dev_crypto.o: ../../include/openssl/symhacks.h hw_openbsd_dev_crypto.o: ../../include/openssl/ui.h ../evp/evp_locl.h eng_int.h hw_openbsd_dev_crypto.o: hw_openbsd_dev_crypto.c hw_sureware.o: ../../e_os.h ../../include/openssl/asn1.h -hw_sureware.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -hw_sureware.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -hw_sureware.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -hw_sureware.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h -hw_sureware.o: ../../include/openssl/engine.h ../../include/openssl/err.h -hw_sureware.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -hw_sureware.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +hw_sureware.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +hw_sureware.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +hw_sureware.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +hw_sureware.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h +hw_sureware.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +hw_sureware.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h +hw_sureware.o: ../../include/openssl/err.h ../../include/openssl/evp.h +hw_sureware.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +hw_sureware.o: ../../include/openssl/objects.h hw_sureware.o: ../../include/openssl/opensslconf.h hw_sureware.o: ../../include/openssl/opensslv.h hw_sureware.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h @@ -345,89 +376,111 @@ hw_sureware.o: ../../include/openssl/x509_vfy.h ../cryptlib.h eng_int.h hw_sureware.o: engine.h hw_sureware.c hw_sureware_err.c hw_sureware_err.h hw_sureware.o: vendor_defns/sureware.h hw_ubsec.o: ../../e_os.h ../../include/openssl/asn1.h -hw_ubsec.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -hw_ubsec.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -hw_ubsec.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -hw_ubsec.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h -hw_ubsec.o: ../../include/openssl/engine.h ../../include/openssl/err.h -hw_ubsec.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h +hw_ubsec.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +hw_ubsec.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +hw_ubsec.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +hw_ubsec.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h +hw_ubsec.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +hw_ubsec.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h +hw_ubsec.o: ../../include/openssl/err.h ../../include/openssl/lhash.h +hw_ubsec.o: ../../include/openssl/opensslconf.h hw_ubsec.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h hw_ubsec.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h hw_ubsec.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h hw_ubsec.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h hw_ubsec.o: ../cryptlib.h hw_ubsec.c hw_ubsec_err.c hw_ubsec_err.h hw_ubsec.o: vendor_defns/hw_ubsec.h -tb_cipher.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -tb_cipher.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h -tb_cipher.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -tb_cipher.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -tb_cipher.o: ../../include/openssl/err.h ../../include/openssl/evp.h -tb_cipher.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -tb_cipher.o: ../../include/openssl/objects.h +tb_cipher.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +tb_cipher.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +tb_cipher.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +tb_cipher.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +tb_cipher.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +tb_cipher.o: ../../include/openssl/engine.h ../../include/openssl/err.h +tb_cipher.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +tb_cipher.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h tb_cipher.o: ../../include/openssl/opensslconf.h tb_cipher.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h tb_cipher.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h tb_cipher.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h tb_cipher.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h tb_cipher.o: eng_int.h tb_cipher.c -tb_dh.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -tb_dh.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h -tb_dh.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -tb_dh.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -tb_dh.o: ../../include/openssl/err.h ../../include/openssl/evp.h -tb_dh.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -tb_dh.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h -tb_dh.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -tb_dh.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h -tb_dh.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h -tb_dh.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h eng_int.h -tb_dh.o: tb_dh.c -tb_digest.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -tb_digest.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h -tb_digest.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -tb_digest.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -tb_digest.o: ../../include/openssl/err.h ../../include/openssl/evp.h -tb_digest.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -tb_digest.o: ../../include/openssl/objects.h +tb_dh.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +tb_dh.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +tb_dh.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +tb_dh.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +tb_dh.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +tb_dh.o: ../../include/openssl/engine.h ../../include/openssl/err.h +tb_dh.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +tb_dh.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +tb_dh.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +tb_dh.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h +tb_dh.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +tb_dh.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +tb_dh.o: ../../include/openssl/ui.h eng_int.h tb_dh.c +tb_digest.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +tb_digest.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +tb_digest.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +tb_digest.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +tb_digest.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +tb_digest.o: ../../include/openssl/engine.h ../../include/openssl/err.h +tb_digest.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +tb_digest.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h tb_digest.o: ../../include/openssl/opensslconf.h tb_digest.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h tb_digest.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h tb_digest.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h tb_digest.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h tb_digest.o: eng_int.h tb_digest.c -tb_dsa.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -tb_dsa.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h -tb_dsa.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -tb_dsa.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -tb_dsa.o: ../../include/openssl/err.h ../../include/openssl/evp.h -tb_dsa.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -tb_dsa.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h -tb_dsa.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -tb_dsa.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h -tb_dsa.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h -tb_dsa.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h eng_int.h -tb_dsa.o: tb_dsa.c -tb_rand.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -tb_rand.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h -tb_rand.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -tb_rand.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -tb_rand.o: ../../include/openssl/err.h ../../include/openssl/evp.h -tb_rand.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -tb_rand.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h -tb_rand.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -tb_rand.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h -tb_rand.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h -tb_rand.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h -tb_rand.o: eng_int.h tb_rand.c -tb_rsa.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -tb_rsa.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h -tb_rsa.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -tb_rsa.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -tb_rsa.o: ../../include/openssl/err.h ../../include/openssl/evp.h -tb_rsa.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -tb_rsa.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h -tb_rsa.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -tb_rsa.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h -tb_rsa.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h -tb_rsa.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h eng_int.h -tb_rsa.o: tb_rsa.c +tb_dsa.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +tb_dsa.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +tb_dsa.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +tb_dsa.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +tb_dsa.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +tb_dsa.o: ../../include/openssl/engine.h ../../include/openssl/err.h +tb_dsa.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +tb_dsa.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +tb_dsa.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +tb_dsa.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h +tb_dsa.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +tb_dsa.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +tb_dsa.o: ../../include/openssl/ui.h eng_int.h tb_dsa.c +tb_ecdsa.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +tb_ecdsa.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +tb_ecdsa.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +tb_ecdsa.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +tb_ecdsa.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +tb_ecdsa.o: ../../include/openssl/engine.h ../../include/openssl/err.h +tb_ecdsa.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +tb_ecdsa.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +tb_ecdsa.o: ../../include/openssl/opensslconf.h +tb_ecdsa.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +tb_ecdsa.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h +tb_ecdsa.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +tb_ecdsa.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h +tb_ecdsa.o: eng_int.h tb_ecdsa.c +tb_rand.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +tb_rand.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +tb_rand.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +tb_rand.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +tb_rand.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +tb_rand.o: ../../include/openssl/engine.h ../../include/openssl/err.h +tb_rand.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +tb_rand.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +tb_rand.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +tb_rand.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h +tb_rand.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +tb_rand.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +tb_rand.o: ../../include/openssl/ui.h eng_int.h tb_rand.c +tb_rsa.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +tb_rsa.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +tb_rsa.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +tb_rsa.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +tb_rsa.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +tb_rsa.o: ../../include/openssl/engine.h ../../include/openssl/err.h +tb_rsa.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +tb_rsa.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +tb_rsa.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +tb_rsa.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h +tb_rsa.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +tb_rsa.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +tb_rsa.o: ../../include/openssl/ui.h eng_int.h tb_rsa.c diff --git a/crypto/engine/eng_int.h b/crypto/engine/eng_int.h index 38335f99cd..0407de9e1a 100644 --- a/crypto/engine/eng_int.h +++ b/crypto/engine/eng_int.h @@ -146,6 +146,7 @@ struct engine_st const RSA_METHOD *rsa_meth; const DSA_METHOD *dsa_meth; const DH_METHOD *dh_meth; + const ECDSA_METHOD *ecdsa_meth; const RAND_METHOD *rand_meth; /* Cipher handling is via this callback */ ENGINE_CIPHERS_PTR ciphers; diff --git a/crypto/engine/eng_list.c b/crypto/engine/eng_list.c index 0c220558e7..da53c1c655 100644 --- a/crypto/engine/eng_list.c +++ b/crypto/engine/eng_list.c @@ -323,6 +323,9 @@ static void engine_cpy(ENGINE *dest, const ENGINE *src) #endif #ifndef OPENSSL_NO_DH dest->dh_meth = src->dh_meth; +#endif +#ifndef OPENSSL_NO_ECDSA + dest->ecdsa_meth = src->ecdsa_meth; #endif dest->rand_meth = src->rand_meth; dest->ciphers = src->ciphers; diff --git a/crypto/engine/engine.h b/crypto/engine/engine.h index c8adcdb012..38db508c3d 100644 --- a/crypto/engine/engine.h +++ b/crypto/engine/engine.h @@ -70,6 +70,9 @@ #ifndef OPENSSL_NO_DH #include #endif +#ifndef OPENSSL_NO_ECDSA +#include +#endif #include #include #include @@ -89,6 +92,9 @@ typedef void DSA_METHOD; #ifdef OPENSSL_NO_DH typedef void DH_METHOD; #endif +#ifdef OPENSS_NO_ECDSA +typedef void ECDSA_METHOD; +#endif /* These flags are used to control combinations of algorithm (methods) * by bitwise "OR"ing. */ @@ -96,6 +102,7 @@ typedef void DH_METHOD; #define ENGINE_METHOD_DSA (unsigned int)0x0002 #define ENGINE_METHOD_DH (unsigned int)0x0004 #define ENGINE_METHOD_RAND (unsigned int)0x0008 +#define ENGINE_METHOD_ECDSA (unsigned int)0x000F #define ENGINE_METHOD_CIPHERS (unsigned int)0x0040 #define ENGINE_METHOD_DIGESTS (unsigned int)0x0080 /* Obvious all-or-nothing cases. */ @@ -330,6 +337,10 @@ int ENGINE_register_DSA(ENGINE *e); void ENGINE_unregister_DSA(ENGINE *e); void ENGINE_register_all_DSA(void); +int ENGINE_register_ECDSA(ENGINE *e); +void ENGINE_unregister_ECDSA(ENGINE *e); +void ENGINE_register_all_ECDSA(void); + int ENGINE_register_DH(ENGINE *e); void ENGINE_unregister_DH(ENGINE *e); void ENGINE_register_all_DH(void); @@ -409,6 +420,7 @@ int ENGINE_set_id(ENGINE *e, const char *id); int ENGINE_set_name(ENGINE *e, const char *name); int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth); int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth); +int ENGINE_set_ECDSA(ENGINE *e, const ECDSA_METHOD *ecdsa_meth); int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth); int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth); int ENGINE_set_destroy_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR destroy_f); @@ -441,6 +453,7 @@ const char *ENGINE_get_id(const ENGINE *e); const char *ENGINE_get_name(const ENGINE *e); const RSA_METHOD *ENGINE_get_RSA(const ENGINE *e); const DSA_METHOD *ENGINE_get_DSA(const ENGINE *e); +const ECDSA_METHOD *ENGINE_get_ECDSA(const ENGINE *e); const DH_METHOD *ENGINE_get_DH(const ENGINE *e); const RAND_METHOD *ENGINE_get_RAND(const ENGINE *e); ENGINE_GEN_INT_FUNC_PTR ENGINE_get_destroy_function(const ENGINE *e); @@ -493,6 +506,7 @@ EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id, ENGINE *ENGINE_get_default_RSA(void); /* Same for the other "methods" */ ENGINE *ENGINE_get_default_DSA(void); +ENGINE *ENGINE_get_default_ECDSA(void); ENGINE *ENGINE_get_default_DH(void); ENGINE *ENGINE_get_default_RAND(void); /* These functions can be used to get a functional reference to perform @@ -508,6 +522,7 @@ int ENGINE_set_default_RSA(ENGINE *e); int ENGINE_set_default_string(ENGINE *e, const char *list); /* Same for the other "methods" */ int ENGINE_set_default_DSA(ENGINE *e); +int ENGINE_set_default_ECDSA(ENGINE *e); int ENGINE_set_default_DH(ENGINE *e); int ENGINE_set_default_RAND(ENGINE *e); int ENGINE_set_default_ciphers(ENGINE *e); diff --git a/crypto/engine/tb_ecdsa.c b/crypto/engine/tb_ecdsa.c new file mode 100644 index 0000000000..682ca15312 --- /dev/null +++ b/crypto/engine/tb_ecdsa.c @@ -0,0 +1,120 @@ +/* ==================================================================== + * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. + * + * 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 above 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 acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * licensing@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED 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 OpenSSL PROJECT OR + * ITS 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. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +#include +#include +#include "eng_int.h" + +/* If this symbol is defined then ENGINE_get_default_ECDSA(), the function that is + * used by ECDSA to hook in implementation code and cache defaults (etc), will + * display brief debugging summaries to stderr with the 'nid'. */ +/* #define ENGINE_ECDSA_DEBUG */ + +static ENGINE_TABLE *ecdsa_table = NULL; +static const int dummy_nid = 1; + +void ENGINE_unregister_ECDSA(ENGINE *e) + { + engine_table_unregister(&ecdsa_table, e); + } + +static void engine_unregister_all_ECDSA() + { + engine_table_cleanup(&ecdsa_table); + } + +int ENGINE_register_ECDSA(ENGINE *e) + { + if(e->ecdsa_meth) + return engine_table_register(&ecdsa_table, + &engine_unregister_all_ECDSA, e, &dummy_nid, 1, 0); + return 1; + } + +void ENGINE_register_all_ECDSA() + { + ENGINE *e; + + for(e=ENGINE_get_first() ; e ; e=ENGINE_get_next(e)) + ENGINE_register_ECDSA(e); + } + +int ENGINE_set_default_ECDSA(ENGINE *e) + { + if(e->ecdsa_meth) + return engine_table_register(&ecdsa_table, + &engine_unregister_all_ECDSA, e, &dummy_nid, 1, 0); + return 1; + } + +/* Exposed API function to get a functional reference from the implementation + * table (ie. try to get a functional reference from the tabled structural + * references). */ +ENGINE *ENGINE_get_default_ECDSA(void) + { + return engine_table_select(&ecdsa_table, dummy_nid); + } + +/* Obtains an ECDSA implementation from an ENGINE functional reference */ +const ECDSA_METHOD *ENGINE_get_ECDSA(const ENGINE *e) + { + return e->ecdsa_meth; + } + +/* Sets an ECDSA implementation in an ENGINE structure */ +int ENGINE_set_ECDSA(ENGINE *e, const ECDSA_METHOD *ecdsa_meth) + { + e->ecdsa_meth = ecdsa_meth; + return 1; + } diff --git a/crypto/err/Makefile.ssl b/crypto/err/Makefile.ssl index 2946c00ead..39ce6374c4 100644 --- a/crypto/err/Makefile.ssl +++ b/crypto/err/Makefile.ssl @@ -85,12 +85,13 @@ err.o: ../../include/openssl/err.h ../../include/openssl/lhash.h err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h err.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h err.o: ../../include/openssl/symhacks.h ../cryptlib.h err.c -err_all.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -err_all.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h -err_all.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h -err_all.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -err_all.o: ../../include/openssl/dso.h ../../include/openssl/e_os2.h -err_all.o: ../../include/openssl/ec.h ../../include/openssl/engine.h +err_all.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +err_all.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +err_all.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h +err_all.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +err_all.o: ../../include/openssl/dsa.h ../../include/openssl/dso.h +err_all.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +err_all.o: ../../include/openssl/ecdsa.h ../../include/openssl/engine.h err_all.o: ../../include/openssl/err.h ../../include/openssl/evp.h err_all.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h err_all.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h diff --git a/crypto/err/err.h b/crypto/err/err.h index 8ce066bf99..bf1d09dc8e 100644 --- a/crypto/err/err.h +++ b/crypto/err/err.h @@ -131,6 +131,7 @@ typedef struct err_state_st #define ERR_LIB_OCSP 39 #define ERR_LIB_UI 40 #define ERR_LIB_COMP 41 +#define ERR_LIB_ECDSA 42 #define ERR_LIB_USER 128 @@ -159,6 +160,7 @@ typedef struct err_state_st #define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),__FILE__,__LINE__) #define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),__FILE__,__LINE__) #define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),ERR_file_name,__LINE__) +#define ECDSAerr(f,r) ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),__FILE__,__LINE__) /* Borland C seems too stupid to be able to shift and do longs in * the pre-processor :-( */ @@ -210,6 +212,7 @@ typedef struct err_state_st #define ERR_R_OCSP_LIB ERR_LIB_OCSP /* 39 */ #define ERR_R_UI_LIB ERR_LIB_UI /* 40 */ #define ERR_R_COMP_LIB ERR_LIB_COMP /* 41 */ +#define ERR_R_ECDSA_LIB ERR_LIB_ECDSA /* 42 */ #define ERR_R_NESTED_ASN1_ERROR 58 #define ERR_R_BAD_ASN1_OBJECT_HEADER 59 diff --git a/crypto/err/openssl.ec b/crypto/err/openssl.ec index 29a69dfdd4..11bb1f9c42 100644 --- a/crypto/err/openssl.ec +++ b/crypto/err/openssl.ec @@ -27,10 +27,12 @@ L DSO crypto/dso/dso.h crypto/dso/dso_err.c L ENGINE crypto/engine/engine.h crypto/engine/eng_err.c L OCSP crypto/ocsp/ocsp.h crypto/ocsp/ocsp_err.c L UI crypto/ui/ui.h crypto/ui/ui_err.c +L ECDSA crypto/ecdsa/ecdsa.h crypto/ecdsa/ecs_err.c # additional header files to be scanned for function names L NONE crypto/x509/x509_vfy.h NONE L NONE crypto/ec/ec_lcl.h NONE +L NONE crypto/ecdsa/ecs_locl.h NONE F RSAREF_F_RSA_BN2BIN diff --git a/crypto/evp/Makefile.ssl b/crypto/evp/Makefile.ssl index 9b5de1f590..e5ee36d3ef 100644 --- a/crypto/evp/Makefile.ssl +++ b/crypto/evp/Makefile.ssl @@ -29,7 +29,7 @@ LIBSRC= encode.c digest.c evp_enc.c evp_key.c \ e_rc4.c e_aes.c names.c \ e_xcbc_d.c e_rc2.c e_cast.c e_rc5.c \ m_null.c m_md2.c m_md4.c m_md5.c m_sha.c m_sha1.c \ - m_dss.c m_dss1.c m_mdc2.c m_ripemd.c \ + m_dss.c m_dss1.c m_mdc2.c m_ripemd.c m_ecdsa.c\ p_open.c p_seal.c p_sign.c p_verify.c p_lib.c p_enc.c p_dec.c \ bio_md.c bio_b64.c bio_enc.c evp_err.c e_null.c \ c_all.c c_allc.c c_alld.c evp_lib.c bio_ok.c \ @@ -40,7 +40,7 @@ LIBOBJ= encode.o digest.o evp_enc.o evp_key.o \ e_rc4.o e_aes.o names.o \ e_xcbc_d.o e_rc2.o e_cast.o e_rc5.o \ m_null.o m_md2.o m_md4.o m_md5.o m_sha.o m_sha1.o \ - m_dss.o m_dss1.o m_mdc2.o m_ripemd.o \ + m_dss.o m_dss1.o m_mdc2.o m_ripemd.o m_ecdsa.o\ p_open.o p_seal.o p_sign.o p_verify.o p_lib.o p_enc.o p_dec.o \ bio_md.o bio_b64.o bio_enc.o evp_err.o e_null.o \ c_all.o c_allc.o c_alld.o evp_lib.o bio_ok.o \ @@ -148,10 +148,12 @@ c_all.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h c_all.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h c_all.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h c_all.o: ../../include/openssl/symhacks.h ../cryptlib.h c_all.c -c_allc.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +c_allc.o: ../../e_os.h ../../include/openssl/asn1.h +c_allc.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h c_allc.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h c_allc.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h c_allc.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +c_allc.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h c_allc.o: ../../include/openssl/err.h ../../include/openssl/evp.h c_allc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h c_allc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -161,10 +163,12 @@ c_allc.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h c_allc.o: ../../include/openssl/sha.h ../../include/openssl/stack.h c_allc.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h c_allc.o: ../../include/openssl/x509_vfy.h ../cryptlib.h c_allc.c -c_alld.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +c_alld.o: ../../e_os.h ../../include/openssl/asn1.h +c_alld.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h c_alld.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h c_alld.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h c_alld.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +c_alld.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h c_alld.o: ../../include/openssl/err.h ../../include/openssl/evp.h c_alld.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h c_alld.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -174,10 +178,12 @@ c_alld.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h c_alld.o: ../../include/openssl/sha.h ../../include/openssl/stack.h c_alld.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h c_alld.o: ../../include/openssl/x509_vfy.h ../cryptlib.h c_alld.c -digest.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +digest.o: ../../e_os.h ../../include/openssl/asn1.h +digest.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h digest.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h digest.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h digest.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +digest.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h digest.o: ../../include/openssl/engine.h ../../include/openssl/err.h digest.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h digest.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h @@ -308,18 +314,19 @@ encode.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h encode.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h encode.o: ../../include/openssl/symhacks.h ../cryptlib.h encode.c evp_enc.o: ../../e_os.h ../../include/openssl/asn1.h -evp_enc.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -evp_enc.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -evp_enc.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -evp_enc.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -evp_enc.o: ../../include/openssl/err.h ../../include/openssl/evp.h -evp_enc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -evp_enc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h -evp_enc.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -evp_enc.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h -evp_enc.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h -evp_enc.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h -evp_enc.o: ../cryptlib.h evp_enc.c evp_locl.h +evp_enc.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +evp_enc.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +evp_enc.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +evp_enc.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +evp_enc.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +evp_enc.o: ../../include/openssl/engine.h ../../include/openssl/err.h +evp_enc.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +evp_enc.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +evp_enc.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +evp_enc.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h +evp_enc.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +evp_enc.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +evp_enc.o: ../../include/openssl/ui.h ../cryptlib.h evp_enc.c evp_locl.h evp_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h evp_err.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h evp_err.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h @@ -330,19 +337,20 @@ evp_err.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h evp_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h evp_err.o: evp_err.c evp_key.o: ../../e_os.h ../../include/openssl/asn1.h -evp_key.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -evp_key.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -evp_key.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -evp_key.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -evp_key.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -evp_key.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -evp_key.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -evp_key.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h -evp_key.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -evp_key.o: ../../include/openssl/sha.h ../../include/openssl/stack.h -evp_key.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h -evp_key.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -evp_key.o: ../cryptlib.h evp_key.c +evp_key.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +evp_key.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +evp_key.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +evp_key.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +evp_key.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +evp_key.o: ../../include/openssl/err.h ../../include/openssl/evp.h +evp_key.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +evp_key.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +evp_key.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +evp_key.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h +evp_key.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +evp_key.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +evp_key.o: ../../include/openssl/ui.h ../../include/openssl/x509.h +evp_key.o: ../../include/openssl/x509_vfy.h ../cryptlib.h evp_key.c evp_lib.o: ../../e_os.h ../../include/openssl/asn1.h evp_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h evp_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h @@ -354,36 +362,41 @@ evp_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/safestack.h evp_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h evp_lib.o: ../cryptlib.h evp_lib.c evp_pbe.o: ../../e_os.h ../../include/openssl/asn1.h -evp_pbe.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -evp_pbe.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -evp_pbe.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -evp_pbe.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -evp_pbe.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -evp_pbe.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -evp_pbe.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -evp_pbe.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h -evp_pbe.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -evp_pbe.o: ../../include/openssl/sha.h ../../include/openssl/stack.h -evp_pbe.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h -evp_pbe.o: ../../include/openssl/x509_vfy.h ../cryptlib.h evp_pbe.c +evp_pbe.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +evp_pbe.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +evp_pbe.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +evp_pbe.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +evp_pbe.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +evp_pbe.o: ../../include/openssl/err.h ../../include/openssl/evp.h +evp_pbe.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +evp_pbe.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +evp_pbe.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +evp_pbe.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h +evp_pbe.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +evp_pbe.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +evp_pbe.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h +evp_pbe.o: ../cryptlib.h evp_pbe.c evp_pkey.o: ../../e_os.h ../../include/openssl/asn1.h -evp_pkey.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -evp_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -evp_pkey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -evp_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -evp_pkey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -evp_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -evp_pkey.o: ../../include/openssl/opensslconf.h +evp_pkey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +evp_pkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +evp_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +evp_pkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +evp_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +evp_pkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h +evp_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +evp_pkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h evp_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h evp_pkey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h evp_pkey.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h evp_pkey.o: ../../include/openssl/sha.h ../../include/openssl/stack.h evp_pkey.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h evp_pkey.o: ../../include/openssl/x509_vfy.h ../cryptlib.h evp_pkey.c -m_dss.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +m_dss.o: ../../e_os.h ../../include/openssl/asn1.h +m_dss.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h m_dss.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h m_dss.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h m_dss.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +m_dss.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h m_dss.o: ../../include/openssl/err.h ../../include/openssl/evp.h m_dss.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h m_dss.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -393,10 +406,12 @@ m_dss.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h m_dss.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h m_dss.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h m_dss.o: ../cryptlib.h m_dss.c -m_dss1.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +m_dss1.o: ../../e_os.h ../../include/openssl/asn1.h +m_dss1.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h m_dss1.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h m_dss1.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h m_dss1.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +m_dss1.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h m_dss1.o: ../../include/openssl/err.h ../../include/openssl/evp.h m_dss1.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h m_dss1.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -406,10 +421,27 @@ m_dss1.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h m_dss1.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h m_dss1.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h m_dss1.o: ../cryptlib.h m_dss1.c -m_md2.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +m_ecdsa.o: ../../e_os.h ../../include/openssl/asn1.h +m_ecdsa.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +m_ecdsa.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +m_ecdsa.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +m_ecdsa.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +m_ecdsa.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +m_ecdsa.o: ../../include/openssl/err.h ../../include/openssl/evp.h +m_ecdsa.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +m_ecdsa.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +m_ecdsa.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +m_ecdsa.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h +m_ecdsa.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +m_ecdsa.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +m_ecdsa.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h +m_ecdsa.o: ../cryptlib.h m_ecdsa.c +m_md2.o: ../../e_os.h ../../include/openssl/asn1.h +m_md2.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h m_md2.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h m_md2.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h m_md2.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +m_md2.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h m_md2.o: ../../include/openssl/err.h ../../include/openssl/evp.h m_md2.o: ../../include/openssl/lhash.h ../../include/openssl/md2.h m_md2.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h @@ -419,10 +451,12 @@ m_md2.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h m_md2.o: ../../include/openssl/sha.h ../../include/openssl/stack.h m_md2.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h m_md2.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_md2.c -m_md4.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +m_md4.o: ../../e_os.h ../../include/openssl/asn1.h +m_md4.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h m_md4.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h m_md4.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h m_md4.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +m_md4.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h m_md4.o: ../../include/openssl/err.h ../../include/openssl/evp.h m_md4.o: ../../include/openssl/lhash.h ../../include/openssl/md4.h m_md4.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h @@ -432,10 +466,12 @@ m_md4.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h m_md4.o: ../../include/openssl/sha.h ../../include/openssl/stack.h m_md4.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h m_md4.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_md4.c -m_md5.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +m_md5.o: ../../e_os.h ../../include/openssl/asn1.h +m_md5.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h m_md5.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h m_md5.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h m_md5.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +m_md5.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h m_md5.o: ../../include/openssl/err.h ../../include/openssl/evp.h m_md5.o: ../../include/openssl/lhash.h ../../include/openssl/md5.h m_md5.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h @@ -445,11 +481,13 @@ m_md5.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h m_md5.o: ../../include/openssl/sha.h ../../include/openssl/stack.h m_md5.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h m_md5.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_md5.c -m_mdc2.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +m_mdc2.o: ../../e_os.h ../../include/openssl/asn1.h +m_mdc2.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h m_mdc2.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h m_mdc2.o: ../../include/openssl/crypto.h ../../include/openssl/des.h m_mdc2.o: ../../include/openssl/des_old.h ../../include/openssl/dh.h m_mdc2.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +m_mdc2.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h m_mdc2.o: ../../include/openssl/err.h ../../include/openssl/evp.h m_mdc2.o: ../../include/openssl/lhash.h ../../include/openssl/mdc2.h m_mdc2.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h @@ -460,10 +498,12 @@ m_mdc2.o: ../../include/openssl/sha.h ../../include/openssl/stack.h m_mdc2.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h m_mdc2.o: ../../include/openssl/ui_compat.h ../../include/openssl/x509.h m_mdc2.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_mdc2.c -m_null.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +m_null.o: ../../e_os.h ../../include/openssl/asn1.h +m_null.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h m_null.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h m_null.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h m_null.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +m_null.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h m_null.o: ../../include/openssl/err.h ../../include/openssl/evp.h m_null.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h m_null.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -474,23 +514,26 @@ m_null.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h m_null.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h m_null.o: ../cryptlib.h m_null.c m_ripemd.o: ../../e_os.h ../../include/openssl/asn1.h -m_ripemd.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -m_ripemd.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -m_ripemd.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -m_ripemd.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -m_ripemd.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -m_ripemd.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -m_ripemd.o: ../../include/openssl/opensslconf.h +m_ripemd.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +m_ripemd.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +m_ripemd.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +m_ripemd.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +m_ripemd.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +m_ripemd.o: ../../include/openssl/err.h ../../include/openssl/evp.h +m_ripemd.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +m_ripemd.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h m_ripemd.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h m_ripemd.o: ../../include/openssl/pkcs7.h ../../include/openssl/ripemd.h m_ripemd.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h m_ripemd.o: ../../include/openssl/sha.h ../../include/openssl/stack.h m_ripemd.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h m_ripemd.o: ../../include/openssl/x509_vfy.h ../cryptlib.h m_ripemd.c -m_sha.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +m_sha.o: ../../e_os.h ../../include/openssl/asn1.h +m_sha.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h m_sha.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h m_sha.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h m_sha.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +m_sha.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h m_sha.o: ../../include/openssl/err.h ../../include/openssl/evp.h m_sha.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h m_sha.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -500,10 +543,12 @@ m_sha.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h m_sha.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h m_sha.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h m_sha.o: ../cryptlib.h m_sha.c -m_sha1.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +m_sha1.o: ../../e_os.h ../../include/openssl/asn1.h +m_sha1.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h m_sha1.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h m_sha1.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h m_sha1.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +m_sha1.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h m_sha1.o: ../../include/openssl/err.h ../../include/openssl/evp.h m_sha1.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h m_sha1.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -513,10 +558,12 @@ m_sha1.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h m_sha1.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h m_sha1.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h m_sha1.o: ../cryptlib.h m_sha1.c -names.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +names.o: ../../e_os.h ../../include/openssl/asn1.h +names.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h names.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h names.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h names.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +names.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h names.o: ../../include/openssl/err.h ../../include/openssl/evp.h names.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h names.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -527,36 +574,42 @@ names.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h names.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h names.o: ../cryptlib.h names.c p5_crpt.o: ../../e_os.h ../../include/openssl/asn1.h -p5_crpt.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -p5_crpt.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -p5_crpt.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -p5_crpt.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -p5_crpt.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -p5_crpt.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -p5_crpt.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -p5_crpt.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h -p5_crpt.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -p5_crpt.o: ../../include/openssl/sha.h ../../include/openssl/stack.h -p5_crpt.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h -p5_crpt.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p5_crpt.c +p5_crpt.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +p5_crpt.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +p5_crpt.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +p5_crpt.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p5_crpt.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +p5_crpt.o: ../../include/openssl/err.h ../../include/openssl/evp.h +p5_crpt.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +p5_crpt.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +p5_crpt.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +p5_crpt.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h +p5_crpt.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +p5_crpt.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +p5_crpt.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h +p5_crpt.o: ../cryptlib.h p5_crpt.c p5_crpt2.o: ../../e_os.h ../../include/openssl/asn1.h -p5_crpt2.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -p5_crpt2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -p5_crpt2.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -p5_crpt2.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -p5_crpt2.o: ../../include/openssl/evp.h ../../include/openssl/hmac.h -p5_crpt2.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -p5_crpt2.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +p5_crpt2.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +p5_crpt2.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +p5_crpt2.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +p5_crpt2.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p5_crpt2.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +p5_crpt2.o: ../../include/openssl/err.h ../../include/openssl/evp.h +p5_crpt2.o: ../../include/openssl/hmac.h ../../include/openssl/lhash.h +p5_crpt2.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +p5_crpt2.o: ../../include/openssl/opensslconf.h p5_crpt2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h p5_crpt2.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h p5_crpt2.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h p5_crpt2.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h p5_crpt2.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h p5_crpt2.o: ../cryptlib.h p5_crpt2.c -p_dec.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +p_dec.o: ../../e_os.h ../../include/openssl/asn1.h +p_dec.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h p_dec.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h p_dec.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h p_dec.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p_dec.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h p_dec.o: ../../include/openssl/err.h ../../include/openssl/evp.h p_dec.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h p_dec.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -566,10 +619,12 @@ p_dec.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h p_dec.o: ../../include/openssl/sha.h ../../include/openssl/stack.h p_dec.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h p_dec.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_dec.c -p_enc.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +p_enc.o: ../../e_os.h ../../include/openssl/asn1.h +p_enc.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h p_enc.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h p_enc.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h p_enc.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p_enc.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h p_enc.o: ../../include/openssl/err.h ../../include/openssl/evp.h p_enc.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h p_enc.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -580,23 +635,26 @@ p_enc.o: ../../include/openssl/sha.h ../../include/openssl/stack.h p_enc.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h p_enc.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_enc.c p_lib.o: ../../e_os.h ../../include/openssl/asn1.h -p_lib.o: ../../include/openssl/asn1_mac.h ../../include/openssl/bio.h -p_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h -p_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -p_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -p_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h -p_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -p_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h -p_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -p_lib.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -p_lib.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -p_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -p_lib.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -p_lib.o: ../cryptlib.h p_lib.c -p_open.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +p_lib.o: ../../include/openssl/asn1_mac.h ../../include/openssl/asn1t.h +p_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +p_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h +p_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +p_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +p_lib.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +p_lib.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +p_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +p_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +p_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h +p_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +p_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +p_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +p_lib.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_lib.c +p_open.o: ../../e_os.h ../../include/openssl/asn1.h +p_open.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h p_open.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h p_open.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h p_open.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p_open.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h p_open.o: ../../include/openssl/err.h ../../include/openssl/evp.h p_open.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h p_open.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -606,10 +664,12 @@ p_open.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h p_open.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h p_open.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h p_open.o: ../cryptlib.h p_open.c -p_seal.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +p_seal.o: ../../e_os.h ../../include/openssl/asn1.h +p_seal.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h p_seal.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h p_seal.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h p_seal.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p_seal.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h p_seal.o: ../../include/openssl/err.h ../../include/openssl/evp.h p_seal.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h p_seal.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -619,10 +679,12 @@ p_seal.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h p_seal.o: ../../include/openssl/sha.h ../../include/openssl/stack.h p_seal.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h p_seal.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p_seal.c -p_sign.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +p_sign.o: ../../e_os.h ../../include/openssl/asn1.h +p_sign.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h p_sign.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h p_sign.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h p_sign.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p_sign.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h p_sign.o: ../../include/openssl/err.h ../../include/openssl/evp.h p_sign.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h p_sign.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -633,13 +695,14 @@ p_sign.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h p_sign.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h p_sign.o: ../cryptlib.h p_sign.c p_verify.o: ../../e_os.h ../../include/openssl/asn1.h -p_verify.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -p_verify.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -p_verify.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -p_verify.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -p_verify.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -p_verify.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -p_verify.o: ../../include/openssl/opensslconf.h +p_verify.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +p_verify.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +p_verify.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +p_verify.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p_verify.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +p_verify.o: ../../include/openssl/err.h ../../include/openssl/evp.h +p_verify.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +p_verify.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h p_verify.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h p_verify.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h p_verify.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h diff --git a/crypto/evp/c_alld.c b/crypto/evp/c_alld.c index be91cdb037..2334a28a5e 100644 --- a/crypto/evp/c_alld.c +++ b/crypto/evp/c_alld.c @@ -91,6 +91,9 @@ void OpenSSL_add_all_digests(void) EVP_add_digest_alias(SN_dsaWithSHA1,"DSS1"); EVP_add_digest_alias(SN_dsaWithSHA1,"dss1"); #endif +#ifndef OPENSSL_NO_ECDSA + EVP_add_digest(EVP_ecdsa()); +#endif #endif #if !defined(OPENSSL_NO_MDC2) && !defined(OPENSSL_NO_DES) EVP_add_digest(EVP_mdc2()); diff --git a/crypto/evp/evp.h b/crypto/evp/evp.h index beb2c9eb44..cc521feb63 100644 --- a/crypto/evp/evp.h +++ b/crypto/evp/evp.h @@ -94,11 +94,13 @@ #define EVP_PK_RSA 0x0001 #define EVP_PK_DSA 0x0002 #define EVP_PK_DH 0x0004 +#define EVP_PK_ECDSA 0x0008 #define EVP_PKT_SIGN 0x0010 #define EVP_PKT_ENC 0x0020 #define EVP_PKT_EXCH 0x0040 #define EVP_PKS_RSA 0x0100 #define EVP_PKS_DSA 0x0200 +#define EVP_PKS_ECDSA 0x0400 #define EVP_PKT_EXP 0x1000 /* <= 512 bit key */ #define EVP_PKEY_NONE NID_undef @@ -110,6 +112,7 @@ #define EVP_PKEY_DSA3 NID_dsaWithSHA1 #define EVP_PKEY_DSA4 NID_dsaWithSHA1_2 #define EVP_PKEY_DH NID_dhKeyAgreement +#define EVP_PKEY_ECDSA NID_X9_62_id_ecPublicKey #ifdef __cplusplus extern "C" { @@ -133,6 +136,9 @@ struct evp_pkey_st #endif #ifndef OPENSSL_NO_DH struct dh_st *dh; /* DH */ +#endif +#ifndef OPENSSL_NO_ECDSA + struct ecdsa_st *ecdsa; /* ECDSA */ #endif } pkey; int save_parameters; @@ -245,6 +251,13 @@ struct env_md_st #define EVP_PKEY_DSA_method EVP_PKEY_NULL_method #endif +#ifndef OPENSSL_NO_ECDSA +#define EVP_PKEY_ECDSA_method ECDSA_sign,ECDSA_verify, \ + {EVP_PKEY_ECDSA,0,0,0} +#else +#define EVP_PKEY_ECDSA_method EVP_PKEY_NULL_method +#endif + #ifndef OPENSSL_NO_RSA #define EVP_PKEY_RSA_method RSA_sign,RSA_verify, \ {EVP_PKEY_RSA,EVP_PKEY_RSA2,0,0} @@ -385,6 +398,11 @@ typedef int (EVP_PBE_KEYGEN)(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, (char *)(dh)) #endif +#ifndef OPENSSL_NO_ECDSA +#define EVP_PKEY_assign_ECDSA(pkey,ecdsa) EVP_PKEY_assign((pkey),EVP_PKEY_ECDSA,\ + (char *)(ecdsa)) +#endif + /* Add some extra combinations */ #define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a)) #define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a)) @@ -568,6 +586,7 @@ const EVP_MD *EVP_sha(void); const EVP_MD *EVP_sha1(void); const EVP_MD *EVP_dss(void); const EVP_MD *EVP_dss1(void); +const EVP_MD *EVP_ecdsa(void); #endif #ifndef OPENSSL_NO_MDC2 const EVP_MD *EVP_mdc2(void); @@ -683,7 +702,11 @@ struct dh_st; int EVP_PKEY_set1_DH(EVP_PKEY *pkey,struct dh_st *key); struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey); #endif - +#ifndef OPENSSL_NO_ECDSA +struct ecdsa_st; +int EVP_PKEY_set1_ECDSA(EVP_PKEY *pkey,struct ecdsa_st *key); +struct ecdsa_st *EVP_PKEY_get1_ECDSA(EVP_PKEY *pkey); +#endif EVP_PKEY * EVP_PKEY_new(void); void EVP_PKEY_free(EVP_PKEY *pkey); @@ -741,6 +764,7 @@ void ERR_load_EVP_strings(void); /* Function codes. */ #define EVP_F_D2I_PKEY 100 +#define EVP_F_ECDSA_PKEY2PKCS8 129 #define EVP_F_EVP_CIPHERINIT 123 #define EVP_F_EVP_CIPHER_CTX_CTRL 124 #define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122 @@ -759,6 +783,7 @@ void ERR_load_EVP_strings(void); #define EVP_F_EVP_PKEY_ENCRYPT 105 #define EVP_F_EVP_PKEY_GET1_DH 119 #define EVP_F_EVP_PKEY_GET1_DSA 120 +#define EVP_F_EVP_PKEY_GET1_ECDSA 130 #define EVP_F_EVP_PKEY_GET1_RSA 121 #define EVP_F_EVP_PKEY_NEW 106 #define EVP_F_EVP_RIJNDAEL 126 @@ -770,6 +795,7 @@ void ERR_load_EVP_strings(void); #define EVP_F_RC5_CTRL 125 /* Reason codes. */ +#define EVP_R_ASN1_LIB 140 #define EVP_R_BAD_BLOCK_LENGTH 136 #define EVP_R_BAD_DECRYPT 100 #define EVP_R_BAD_KEY_LENGTH 137 @@ -786,6 +812,7 @@ void ERR_load_EVP_strings(void); #define EVP_R_EXPECTING_AN_RSA_KEY 127 #define EVP_R_EXPECTING_A_DH_KEY 128 #define EVP_R_EXPECTING_A_DSA_KEY 129 +#define EVP_R_EXPECTING_A_ECDSA_KEY 141 #define EVP_R_INITIALIZATION_ERROR 134 #define EVP_R_INPUT_NOT_INITIALIZED 111 #define EVP_R_INVALID_KEY_LENGTH 130 diff --git a/crypto/evp/evp_err.c b/crypto/evp/evp_err.c index 3a23d21c21..e6c71d4e01 100644 --- a/crypto/evp/evp_err.c +++ b/crypto/evp/evp_err.c @@ -67,6 +67,7 @@ static ERR_STRING_DATA EVP_str_functs[]= { {ERR_PACK(0,EVP_F_D2I_PKEY,0), "D2I_PKEY"}, +{ERR_PACK(0,EVP_F_ECDSA_PKEY2PKCS8,0), "ECDSA_PKEY2PKCS8"}, {ERR_PACK(0,EVP_F_EVP_CIPHERINIT,0), "EVP_CipherInit"}, {ERR_PACK(0,EVP_F_EVP_CIPHER_CTX_CTRL,0), "EVP_CIPHER_CTX_ctrl"}, {ERR_PACK(0,EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH,0), "EVP_CIPHER_CTX_set_key_length"}, @@ -85,6 +86,7 @@ static ERR_STRING_DATA EVP_str_functs[]= {ERR_PACK(0,EVP_F_EVP_PKEY_ENCRYPT,0), "EVP_PKEY_encrypt"}, {ERR_PACK(0,EVP_F_EVP_PKEY_GET1_DH,0), "EVP_PKEY_get1_DH"}, {ERR_PACK(0,EVP_F_EVP_PKEY_GET1_DSA,0), "EVP_PKEY_get1_DSA"}, +{ERR_PACK(0,EVP_F_EVP_PKEY_GET1_ECDSA,0), "EVP_PKEY_get1_ECDSA"}, {ERR_PACK(0,EVP_F_EVP_PKEY_GET1_RSA,0), "EVP_PKEY_get1_RSA"}, {ERR_PACK(0,EVP_F_EVP_PKEY_NEW,0), "EVP_PKEY_new"}, {ERR_PACK(0,EVP_F_EVP_RIJNDAEL,0), "EVP_RIJNDAEL"}, @@ -99,6 +101,7 @@ static ERR_STRING_DATA EVP_str_functs[]= static ERR_STRING_DATA EVP_str_reasons[]= { +{EVP_R_ASN1_LIB ,"asn1 lib"}, {EVP_R_BAD_BLOCK_LENGTH ,"bad block length"}, {EVP_R_BAD_DECRYPT ,"bad decrypt"}, {EVP_R_BAD_KEY_LENGTH ,"bad key length"}, @@ -115,6 +118,7 @@ static ERR_STRING_DATA EVP_str_reasons[]= {EVP_R_EXPECTING_AN_RSA_KEY ,"expecting an rsa key"}, {EVP_R_EXPECTING_A_DH_KEY ,"expecting a dh key"}, {EVP_R_EXPECTING_A_DSA_KEY ,"expecting a dsa key"}, +{EVP_R_EXPECTING_A_ECDSA_KEY ,"expecting a ecdsa key"}, {EVP_R_INITIALIZATION_ERROR ,"initialization error"}, {EVP_R_INPUT_NOT_INITIALIZED ,"input not initialized"}, {EVP_R_INVALID_KEY_LENGTH ,"invalid key length"}, diff --git a/crypto/evp/evp_pkey.c b/crypto/evp/evp_pkey.c index a7c4e9fa7a..15d4d66721 100644 --- a/crypto/evp/evp_pkey.c +++ b/crypto/evp/evp_pkey.c @@ -3,7 +3,7 @@ * project 1999. */ /* ==================================================================== - * Copyright (c) 1999 The OpenSSL Project. All rights reserved. + * Copyright (c) 1999-2002 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -65,6 +65,9 @@ #ifndef OPENSSL_NO_DSA static int dsa_pkey2pkcs8(PKCS8_PRIV_KEY_INFO *p8inf, EVP_PKEY *pkey); #endif +#ifndef OPENSSL_NO_ECDSA +static int ecdsa_pkey2pkcs8(PKCS8_PRIV_KEY_INFO *p8inf, EVP_PKEY *pkey); +#endif /* Extract a private key from a PKCS8 structure */ @@ -76,9 +79,14 @@ EVP_PKEY *EVP_PKCS82PKEY (PKCS8_PRIV_KEY_INFO *p8) #endif #ifndef OPENSSL_NO_DSA DSA *dsa = NULL; +#endif +#ifndef OPENSSL_NO_ECDSA + ECDSA *ecdsa = NULL; +#endif +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_ECDSA) ASN1_INTEGER *privkey; - ASN1_TYPE *t1, *t2, *param = NULL; - STACK_OF(ASN1_TYPE) *ndsa = NULL; + ASN1_TYPE *t1, *t2, *param = NULL; + STACK_OF(ASN1_TYPE) *n_stack = NULL; BN_CTX *ctx = NULL; int plen; #endif @@ -88,6 +96,7 @@ EVP_PKEY *EVP_PKCS82PKEY (PKCS8_PRIV_KEY_INFO *p8) const unsigned char *cp; #endif int pkeylen; + int nid; char obj_tmp[80]; if(p8->pkey->type == V_ASN1_OCTET_STRING) { @@ -104,7 +113,8 @@ EVP_PKEY *EVP_PKCS82PKEY (PKCS8_PRIV_KEY_INFO *p8) return NULL; } a = p8->pkeyalg; - switch (OBJ_obj2nid(a->algorithm)) + nid = OBJ_obj2nid(a->algorithm); + switch(nid) { #ifndef OPENSSL_NO_RSA case NID_rsaEncryption: @@ -116,97 +126,162 @@ EVP_PKEY *EVP_PKCS82PKEY (PKCS8_PRIV_KEY_INFO *p8) EVP_PKEY_assign_RSA (pkey, rsa); break; #endif -#ifndef OPENSSL_NO_DSA +#if !defined(OPENSSL_NO_DSA) && !defined(OPENSSL_NO_ECDSA) + case NID_ecdsa_with_SHA1: case NID_dsa: - /* PKCS#8 DSA is weird: you just get a private key integer + /* PKCS#8 DSA/ECDSA is weird: you just get a private key integer * and parameters in the AlgorithmIdentifier the pubkey must * be recalculated. */ - /* Check for broken DSA PKCS#8, UGH! */ - if(*p == (V_ASN1_SEQUENCE|V_ASN1_CONSTRUCTED)) { - if(!(ndsa = ASN1_seq_unpack_ASN1_TYPE(p, pkeylen, + /* Check for broken DSA/ECDSA PKCS#8, UGH! */ + if(*p == (V_ASN1_SEQUENCE|V_ASN1_CONSTRUCTED)) + { + if(!(n_stack = ASN1_seq_unpack_ASN1_TYPE(p, pkeylen, d2i_ASN1_TYPE, - ASN1_TYPE_free))) { - EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR); - goto dsaerr; - } - if(sk_ASN1_TYPE_num(ndsa) != 2 ) { - EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR); - goto dsaerr; - } + ASN1_TYPE_free))) + { + EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR); + goto err; + } + if(sk_ASN1_TYPE_num(n_stack) != 2 ) + { + EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR); + goto err; + } /* Handle Two broken types: * SEQUENCE {parameters, priv_key} * SEQUENCE {pub_key, priv_key} */ - t1 = sk_ASN1_TYPE_value(ndsa, 0); - t2 = sk_ASN1_TYPE_value(ndsa, 1); - if(t1->type == V_ASN1_SEQUENCE) { + t1 = sk_ASN1_TYPE_value(n_stack, 0); + t2 = sk_ASN1_TYPE_value(n_stack, 1); + if(t1->type == V_ASN1_SEQUENCE) + { p8->broken = PKCS8_EMBEDDED_PARAM; param = t1; - } else if(a->parameter->type == V_ASN1_SEQUENCE) { + } + else if(a->parameter->type == V_ASN1_SEQUENCE) + { p8->broken = PKCS8_NS_DB; param = a->parameter; - } else { + } + else + { EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR); - goto dsaerr; + goto err; } if(t2->type != V_ASN1_INTEGER) { EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR); - goto dsaerr; + goto err; } privkey = t2->value.integer; - } else { - if (!(privkey=d2i_ASN1_INTEGER (NULL, &p, pkeylen))) { + } + else + { + if (!(privkey=d2i_ASN1_INTEGER (NULL, &p, pkeylen))) + { EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR); - goto dsaerr; + goto err; } param = p8->pkeyalg->parameter; } - if (!param || (param->type != V_ASN1_SEQUENCE)) { + if (!param || (param->type != V_ASN1_SEQUENCE)) + { EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR); - goto dsaerr; + goto err; } cp = p = param->value.sequence->data; plen = param->value.sequence->length; - if (!(dsa = d2i_DSAparams (NULL, &cp, plen))) { - EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR); - goto dsaerr; - } - /* We have parameters now set private key */ - if (!(dsa->priv_key = ASN1_INTEGER_to_BN(privkey, NULL))) { - EVPerr(EVP_F_EVP_PKCS82PKEY,EVP_R_BN_DECODE_ERROR); - goto dsaerr; - } - /* Calculate public key (ouch!) */ - if (!(dsa->pub_key = BN_new())) { + if (!(ctx = BN_CTX_new())) + { EVPerr(EVP_F_EVP_PKCS82PKEY,ERR_R_MALLOC_FAILURE); - goto dsaerr; + goto err; } - if (!(ctx = BN_CTX_new())) { - EVPerr(EVP_F_EVP_PKCS82PKEY,ERR_R_MALLOC_FAILURE); - goto dsaerr; - } - - if (!BN_mod_exp(dsa->pub_key, dsa->g, - dsa->priv_key, dsa->p, ctx)) { + if (nid == NID_dsa) + { +#ifndef OPENSSL_NO_DSA + if (!(dsa = d2i_DSAparams (NULL, &cp, plen))) + { + EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR); + goto err; + } + /* We have parameters now set private key */ + if (!(dsa->priv_key = ASN1_INTEGER_to_BN(privkey, NULL))) + { + EVPerr(EVP_F_EVP_PKCS82PKEY,EVP_R_BN_DECODE_ERROR); + goto err; + } + /* Calculate public key (ouch!) */ + if (!(dsa->pub_key = BN_new())) + { + EVPerr(EVP_F_EVP_PKCS82PKEY,ERR_R_MALLOC_FAILURE); + goto err; + } + if (!BN_mod_exp(dsa->pub_key, dsa->g, + dsa->priv_key, dsa->p, ctx)) + { + EVPerr(EVP_F_EVP_PKCS82PKEY,EVP_R_BN_PUBKEY_ERROR); + goto err; + } + + EVP_PKEY_assign_DSA(pkey, dsa); + BN_CTX_free(ctx); + if(n_stack) sk_ASN1_TYPE_pop_free(n_stack, ASN1_TYPE_free); + else ASN1_INTEGER_free(privkey); +#else + EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM); + goto err; +#endif + } + else /* nid == NID_ecdsa_with_SHA1 */ + { +#ifndef OPENSSL_NO_ECDSA + if ((ecdsa = d2i_ECDSAParameters(NULL, &cp, plen)) == NULL) + { + EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR); + goto err; + } + if ((ecdsa->priv_key = ASN1_INTEGER_to_BN(privkey, NULL)) == NULL) + { + EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_DECODE_ERROR); + goto err; + } + if ((ecdsa->pub_key = EC_POINT_new(ecdsa->group)) == NULL) + { + EVPerr(EVP_F_EVP_PKCS82PKEY, ERR_R_EC_LIB); + goto err; + } + if (!EC_POINT_copy(ecdsa->pub_key, EC_GROUP_get0_generator(ecdsa->group))) + { + EVPerr(EVP_F_EVP_PKCS82PKEY, ERR_R_EC_LIB); + goto err; + } + if (!EC_POINT_mul(ecdsa->group, ecdsa->pub_key, ecdsa->priv_key, + NULL, NULL, ctx)) + { + EVPerr(EVP_F_EVP_PKCS82PKEY, ERR_R_EC_LIB); + goto err; + } - EVPerr(EVP_F_EVP_PKCS82PKEY,EVP_R_BN_PUBKEY_ERROR); - goto dsaerr; + EVP_PKEY_assign_ECDSA(pkey, ecdsa); + BN_CTX_free(ctx); + if (n_stack) sk_ASN1_TYPE_pop_free(n_stack, ASN1_TYPE_free); + else + ASN1_INTEGER_free(privkey); +#else + EVPerr(EVP_F_EVP_PKCS82PKEY, EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM); + goto err; +#endif } - - EVP_PKEY_assign_DSA(pkey, dsa); - BN_CTX_free (ctx); - if(ndsa) sk_ASN1_TYPE_pop_free(ndsa, ASN1_TYPE_free); - else ASN1_INTEGER_free(privkey); break; - dsaerr: - BN_CTX_free (ctx); - sk_ASN1_TYPE_pop_free(ndsa, ASN1_TYPE_free); - DSA_free(dsa); - EVP_PKEY_free(pkey); +err: + if (ctx) BN_CTX_free(ctx); + sk_ASN1_TYPE_pop_free(n_stack, ASN1_TYPE_free); + if (dsa) DSA_free(dsa); + if (ecdsa) ECDSA_free(ecdsa); + if (pkey) EVP_PKEY_free(pkey); return NULL; break; #endif @@ -269,6 +344,15 @@ PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8_broken(EVP_PKEY *pkey, int broken) break; #endif +#ifndef OPENSSL_NO_ECDSA + case EVP_PKEY_ECDSA: + if (!ecdsa_pkey2pkcs8(p8, pkey)) + { + PKCS8_PRIV_KEY_INFO_free(p8); + return(NULL); + } + break; +#endif default: EVPerr(EVP_F_EVP_PKEY2PKCS8, EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM); PKCS8_PRIV_KEY_INFO_free (p8); @@ -412,3 +496,210 @@ static int dsa_pkey2pkcs8(PKCS8_PRIV_KEY_INFO *p8, EVP_PKEY *pkey) return 1; } #endif + +#ifndef OPENSSL_NO_ECDSA +static int ecdsa_pkey2pkcs8(PKCS8_PRIV_KEY_INFO *p8, EVP_PKEY *pkey) +{ + ASN1_STRING *params=NULL; + ASN1_INTEGER *prkey=NULL; + ASN1_TYPE *ttmp=NULL; + STACK_OF(ASN1_TYPE) *necdsa=NULL; + unsigned char *p=NULL, *q=NULL; + int len=0; + EC_POINT *point=NULL; + + if (pkey->pkey.ecdsa == NULL || pkey->pkey.ecdsa->group == NULL) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, EVP_R_MISSING_PARAMETERS); + return 0; + } + p8->pkeyalg->algorithm = OBJ_nid2obj(NID_ecdsa_with_SHA1); + len = i2d_ECDSAParameters(pkey->pkey.ecdsa, NULL); + if ((p = OPENSSL_malloc(len)) == NULL) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE); + return 0; + } + q = p; + if (!i2d_ECDSAParameters(pkey->pkey.ecdsa, &q)) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_ECDSA_LIB); + OPENSSL_free(p); + return 0; + } + if ((params = ASN1_STRING_new()) == NULL) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE); + OPENSSL_free(p); + return 0; + + } + if (!ASN1_STRING_set(params, p, len)) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_ASN1_LIB); + OPENSSL_free(p); + return 0; + } + OPENSSL_free(p); + if ((prkey = BN_to_ASN1_INTEGER(pkey->pkey.ecdsa->priv_key, NULL)) == NULL) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_ASN1_LIB); + return 0; + } + + switch(p8->broken) { + + case PKCS8_OK: + case PKCS8_NO_OCTET: + + if (!ASN1_pack_string((char *)prkey, i2d_ASN1_INTEGER, + &p8->pkey->value.octet_string)) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE); + M_ASN1_INTEGER_free(prkey); + return 0; + } + + ASN1_INTEGER_free(prkey); + p8->pkeyalg->parameter->value.sequence = params; + p8->pkeyalg->parameter->type = V_ASN1_SEQUENCE; + + break; + + case PKCS8_NS_DB: + + p8->pkeyalg->parameter->value.sequence = params; + p8->pkeyalg->parameter->type = V_ASN1_SEQUENCE; + necdsa = sk_ASN1_TYPE_new_null(); + if (necdsa == NULL || (ttmp = ASN1_TYPE_new()) == NULL) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE); + sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free); + return 0; + } + + if ((point = EC_GROUP_get0_generator(pkey->pkey.ecdsa->group)) == NULL) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_EC_LIB); + return 0; + } + len = EC_POINT_point2oct(pkey->pkey.ecdsa->group, point, POINT_CONVERSION_COMPRESSED, + NULL, 0, NULL); + p = OPENSSL_malloc(len); + if (!len || !p || !EC_POINT_point2oct(pkey->pkey.ecdsa->group, point, + POINT_CONVERSION_COMPRESSED, p, len, NULL)) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_EC_LIB); + OPENSSL_free(p); + return 0; + } + if ((ttmp->value.octet_string = ASN1_OCTET_STRING_new()) == NULL) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE); + return 0; + } + if (!ASN1_OCTET_STRING_set(ttmp->value.octet_string, p, len)) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, EVP_R_ASN1_LIB); + return 0; + } + OPENSSL_free(p); + + ttmp->type = V_ASN1_OCTET_STRING; + if (!sk_ASN1_TYPE_push(necdsa, ttmp)) + { + sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free); + ASN1_INTEGER_free(prkey); + return 0; + } + + if ((ttmp = ASN1_TYPE_new()) == NULL) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE); + return 0; + } + ttmp->value.integer = prkey; + ttmp->type = V_ASN1_INTEGER; + if (!sk_ASN1_TYPE_push(necdsa, ttmp)) + { + sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free); + ASN1_INTEGER_free(prkey); + return 0; + } + + if ((p8->pkey->value.octet_string = ASN1_OCTET_STRING_new()) == NULL) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE); + sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free); + return 0; + } + + if (!ASN1_seq_pack_ASN1_TYPE(necdsa, i2d_ASN1_TYPE, + &p8->pkey->value.octet_string->data, + &p8->pkey->value.octet_string->length)) + { + + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE); + sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free); + return 0; + } + sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free); + break; + + case PKCS8_EMBEDDED_PARAM: + + p8->pkeyalg->parameter->type = V_ASN1_NULL; + necdsa = sk_ASN1_TYPE_new_null(); + if ((ttmp = ASN1_TYPE_new()) == NULL) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE); + sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free); + ASN1_INTEGER_free(prkey); + return 0; + } + ttmp->value.sequence = params; + ttmp->type = V_ASN1_SEQUENCE; + if (!sk_ASN1_TYPE_push(necdsa, ttmp)) + { + sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free); + ASN1_INTEGER_free(prkey); + return 0; + } + + if ((ttmp = ASN1_TYPE_new()) == NULL) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE); + sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free); + ASN1_INTEGER_free(prkey); + return 0; + } + ttmp->value.integer = prkey; + ttmp->type = V_ASN1_INTEGER; + if (!sk_ASN1_TYPE_push(necdsa, ttmp)) + { + sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free); + ASN1_INTEGER_free(prkey); + return 0; + } + + if ((p8->pkey->value.octet_string = ASN1_OCTET_STRING_new()) == NULL) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE); + sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free); + return 0; + } + + if (!ASN1_seq_pack_ASN1_TYPE(necdsa, i2d_ASN1_TYPE, + &p8->pkey->value.octet_string->data, + &p8->pkey->value.octet_string->length)) + { + EVPerr(EVP_F_ECDSA_PKEY2PKCS8, ERR_R_MALLOC_FAILURE); + sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free); + return 0; + } + sk_ASN1_TYPE_pop_free(necdsa, ASN1_TYPE_free); + break; + } + return 1; +} +#endif diff --git a/crypto/evp/m_ecdsa.c b/crypto/evp/m_ecdsa.c new file mode 100644 index 0000000000..4e8b010709 --- /dev/null +++ b/crypto/evp/m_ecdsa.c @@ -0,0 +1,95 @@ +/* crypto/evp/m_ecdsa.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.] + */ + +#include +#include "cryptlib.h" +#include +#include +#include + +#ifndef OPENSSL_NO_SHA +static int init(EVP_MD_CTX *ctx) + { return SHA1_Init(ctx->md_data); } + +static int update(EVP_MD_CTX *ctx,const void *data,unsigned long count) + { return SHA1_Update(ctx->md_data,data,count); } + +static int final(EVP_MD_CTX *ctx,unsigned char *md) + { return SHA1_Final(md,ctx->md_data); } + +static const EVP_MD ecdsa_md= + { + NID_ecdsa_with_SHA1, + NID_ecdsa_with_SHA1, + SHA_DIGEST_LENGTH, + 0, + init, + update, + final, + NULL, + NULL, + EVP_PKEY_ECDSA_method, + SHA_CBLOCK, + sizeof(EVP_MD *)+sizeof(SHA_CTX), + }; + +const EVP_MD *EVP_ecdsa(void) + { + return(&ecdsa_md); + } +#endif diff --git a/crypto/evp/p_lib.c b/crypto/evp/p_lib.c index 215b94292a..fcb5711753 100644 --- a/crypto/evp/p_lib.c +++ b/crypto/evp/p_lib.c @@ -58,6 +58,8 @@ #include #include "cryptlib.h" +#include +#include #include #include #include @@ -67,14 +69,37 @@ static void EVP_PKEY_free_it(EVP_PKEY *x); int EVP_PKEY_bits(EVP_PKEY *pkey) { + if (0) + return 0; #ifndef OPENSSL_NO_RSA - if (pkey->type == EVP_PKEY_RSA) + else if (pkey->type == EVP_PKEY_RSA) return(BN_num_bits(pkey->pkey.rsa->n)); - else #endif #ifndef OPENSSL_NO_DSA - if (pkey->type == EVP_PKEY_DSA) + else if (pkey->type == EVP_PKEY_DSA) return(BN_num_bits(pkey->pkey.dsa->p)); +#endif +#ifndef OPENSSL_NO_ECDSA + else if (pkey->type == EVP_PKEY_ECDSA) + { + BIGNUM *order = BN_new(); + int ret; + + if (!order) + { + ERR_clear_error(); + return 0; + } + if (!EC_GROUP_get_order(pkey->pkey.ecdsa->group, order, NULL)) + { + ERR_clear_error(); + return 0; + } + + ret = BN_num_bits(order); + BN_free(order); + return ret; + } #endif return(0); } @@ -92,6 +117,11 @@ int EVP_PKEY_size(EVP_PKEY *pkey) if (pkey->type == EVP_PKEY_DSA) return(DSA_size(pkey->pkey.dsa)); #endif +#ifndef OPENSSL_NO_ECDSA + if (pkey->type == EVP_PKEY_ECDSA) + return(ECDSA_size(pkey->pkey.ecdsa)); +#endif + return(0); } @@ -106,6 +136,16 @@ int EVP_PKEY_save_parameters(EVP_PKEY *pkey, int mode) pkey->save_parameters=mode; return(ret); } +#endif +#ifndef OPENSSL_NO_ECDSA + if (pkey->type == EVP_PKEY_ECDSA) + { + int ret = pkey->save_parameters; + + if (mode >= 0) + pkey->save_parameters = mode; + return(ret); + } #endif return(0); } @@ -140,6 +180,15 @@ int EVP_PKEY_copy_parameters(EVP_PKEY *to, EVP_PKEY *from) if (to->pkey.dsa->g != NULL) BN_free(to->pkey.dsa->g); to->pkey.dsa->g=a; } +#endif +#ifndef OPENSSL_NO_ECDSA + if (to->type == EVP_PKEY_ECDSA) + { + if (to->pkey.ecdsa->group != NULL) + EC_GROUP_free(to->pkey.ecdsa->group); + if ((to->pkey.ecdsa->group = EC_GROUP_new(EC_GROUP_method_of(from->pkey.ecdsa->group))) == NULL) goto err; + if (!EC_GROUP_copy(to->pkey.ecdsa->group,from->pkey.ecdsa->group)) goto err; + } #endif return(1); err: @@ -158,6 +207,14 @@ int EVP_PKEY_missing_parameters(EVP_PKEY *pkey) return(1); } #endif +#ifndef OPENSSL_NO_ECDSA + if (pkey->type == EVP_PKEY_ECDSA) + { + if (pkey->pkey.ecdsa->group == NULL) + return(1); + } +#endif + return(0); } @@ -246,6 +303,28 @@ DSA *EVP_PKEY_get1_DSA(EVP_PKEY *pkey) } #endif +#ifndef OPENSSL_NO_ECDSA + +int EVP_PKEY_set1_ECDSA(EVP_PKEY *pkey, ECDSA *key) +{ + int ret = EVP_PKEY_assign_ECDSA(pkey,key); + if (ret) CRYPTO_add(&key->references, 1,CRYPTO_LOCK_ECDSA); + return ret; +} + +ECDSA *EVP_PKEY_get1_ECDSA(EVP_PKEY *pkey) +{ + if (pkey->type != EVP_PKEY_ECDSA) + { + EVPerr(EVP_F_EVP_PKEY_GET1_ECDSA, EVP_R_EXPECTING_A_ECDSA_KEY); + return NULL; + } + CRYPTO_add(&pkey->pkey.ecdsa->references, 1, CRYPTO_LOCK_ECDSA); + return pkey->pkey.ecdsa; +} +#endif + + #ifndef OPENSSL_NO_DH int EVP_PKEY_set1_DH(EVP_PKEY *pkey, DH *key) @@ -282,6 +361,8 @@ int EVP_PKEY_type(int type) return(EVP_PKEY_DSA); case EVP_PKEY_DH: return(EVP_PKEY_DH); + case EVP_PKEY_ECDSA: + return(EVP_PKEY_ECDSA); default: return(NID_undef); } @@ -327,6 +408,11 @@ static void EVP_PKEY_free_it(EVP_PKEY *x) DSA_free(x->pkey.dsa); break; #endif +#ifndef OPENSSL_NO_ECDSA + case EVP_PKEY_ECDSA: + ECDSA_free(x->pkey.ecdsa); + break; +#endif #ifndef OPENSSL_NO_DH case EVP_PKEY_DH: DH_free(x->pkey.dh); diff --git a/crypto/ocsp/Makefile.ssl b/crypto/ocsp/Makefile.ssl index b69abdc1c7..3fc9d1149c 100644 --- a/crypto/ocsp/Makefile.ssl +++ b/crypto/ocsp/Makefile.ssl @@ -87,6 +87,7 @@ ocsp_asn.o: ../../include/openssl/bio.h ../../include/openssl/bn.h ocsp_asn.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h ocsp_asn.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h ocsp_asn.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +ocsp_asn.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h ocsp_asn.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h ocsp_asn.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h ocsp_asn.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h @@ -97,29 +98,33 @@ ocsp_asn.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h ocsp_asn.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h ocsp_asn.o: ../../include/openssl/x509v3.h ocsp_asn.c ocsp_cl.o: ../../e_os.h ../../include/openssl/asn1.h -ocsp_cl.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -ocsp_cl.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -ocsp_cl.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -ocsp_cl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -ocsp_cl.o: ../../include/openssl/err.h ../../include/openssl/evp.h -ocsp_cl.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -ocsp_cl.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h -ocsp_cl.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -ocsp_cl.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h -ocsp_cl.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs7.h -ocsp_cl.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h -ocsp_cl.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -ocsp_cl.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -ocsp_cl.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -ocsp_cl.o: ../../include/openssl/x509v3.h ../cryptlib.h ocsp_cl.c -ocsp_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -ocsp_err.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h -ocsp_err.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h -ocsp_err.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -ocsp_err.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -ocsp_err.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -ocsp_err.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -ocsp_err.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h +ocsp_cl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +ocsp_cl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +ocsp_cl.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +ocsp_cl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +ocsp_cl.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +ocsp_cl.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +ocsp_cl.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +ocsp_cl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +ocsp_cl.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h +ocsp_cl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +ocsp_cl.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h +ocsp_cl.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h +ocsp_cl.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +ocsp_cl.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +ocsp_cl.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +ocsp_cl.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h +ocsp_cl.o: ../cryptlib.h ocsp_cl.c +ocsp_err.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +ocsp_err.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +ocsp_err.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h +ocsp_err.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +ocsp_err.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +ocsp_err.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +ocsp_err.o: ../../include/openssl/err.h ../../include/openssl/evp.h +ocsp_err.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +ocsp_err.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h +ocsp_err.o: ../../include/openssl/opensslconf.h ocsp_err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h ocsp_err.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h ocsp_err.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -127,14 +132,15 @@ ocsp_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h ocsp_err.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h ocsp_err.o: ../../include/openssl/x509v3.h ocsp_err.c ocsp_ext.o: ../../e_os.h ../../include/openssl/asn1.h -ocsp_ext.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -ocsp_ext.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -ocsp_ext.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -ocsp_ext.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -ocsp_ext.o: ../../include/openssl/err.h ../../include/openssl/evp.h -ocsp_ext.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -ocsp_ext.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h -ocsp_ext.o: ../../include/openssl/opensslconf.h +ocsp_ext.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +ocsp_ext.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +ocsp_ext.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +ocsp_ext.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +ocsp_ext.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +ocsp_ext.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +ocsp_ext.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +ocsp_ext.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +ocsp_ext.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h ocsp_ext.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h ocsp_ext.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h ocsp_ext.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h @@ -142,29 +148,32 @@ ocsp_ext.o: ../../include/openssl/sha.h ../../include/openssl/stack.h ocsp_ext.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h ocsp_ext.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h ocsp_ext.o: ../cryptlib.h ocsp_ext.c -ocsp_ht.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -ocsp_ht.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h -ocsp_ht.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h -ocsp_ht.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -ocsp_ht.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -ocsp_ht.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -ocsp_ht.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -ocsp_ht.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h -ocsp_ht.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -ocsp_ht.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -ocsp_ht.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -ocsp_ht.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -ocsp_ht.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -ocsp_ht.o: ../../include/openssl/x509v3.h ocsp_ht.c +ocsp_ht.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +ocsp_ht.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +ocsp_ht.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h +ocsp_ht.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +ocsp_ht.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +ocsp_ht.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +ocsp_ht.o: ../../include/openssl/err.h ../../include/openssl/evp.h +ocsp_ht.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +ocsp_ht.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h +ocsp_ht.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +ocsp_ht.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h +ocsp_ht.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +ocsp_ht.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +ocsp_ht.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +ocsp_ht.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h +ocsp_ht.o: ocsp_ht.c ocsp_lib.o: ../../e_os.h ../../include/openssl/asn1.h -ocsp_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -ocsp_lib.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -ocsp_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -ocsp_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -ocsp_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h -ocsp_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -ocsp_lib.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h -ocsp_lib.o: ../../include/openssl/opensslconf.h +ocsp_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +ocsp_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +ocsp_lib.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +ocsp_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +ocsp_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +ocsp_lib.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +ocsp_lib.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +ocsp_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +ocsp_lib.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h ocsp_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h ocsp_lib.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h ocsp_lib.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h @@ -173,14 +182,16 @@ ocsp_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h ocsp_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h ocsp_lib.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h ocsp_lib.o: ../cryptlib.h ocsp_lib.c -ocsp_prn.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -ocsp_prn.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h -ocsp_prn.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h -ocsp_prn.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -ocsp_prn.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -ocsp_prn.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -ocsp_prn.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -ocsp_prn.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h +ocsp_prn.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +ocsp_prn.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +ocsp_prn.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h +ocsp_prn.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +ocsp_prn.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +ocsp_prn.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +ocsp_prn.o: ../../include/openssl/err.h ../../include/openssl/evp.h +ocsp_prn.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +ocsp_prn.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h +ocsp_prn.o: ../../include/openssl/opensslconf.h ocsp_prn.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h ocsp_prn.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h ocsp_prn.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h @@ -189,14 +200,15 @@ ocsp_prn.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h ocsp_prn.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h ocsp_prn.o: ../../include/openssl/x509v3.h ocsp_prn.c ocsp_srv.o: ../../e_os.h ../../include/openssl/asn1.h -ocsp_srv.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -ocsp_srv.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -ocsp_srv.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -ocsp_srv.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -ocsp_srv.o: ../../include/openssl/err.h ../../include/openssl/evp.h -ocsp_srv.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -ocsp_srv.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h -ocsp_srv.o: ../../include/openssl/opensslconf.h +ocsp_srv.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +ocsp_srv.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +ocsp_srv.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +ocsp_srv.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +ocsp_srv.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +ocsp_srv.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +ocsp_srv.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +ocsp_srv.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +ocsp_srv.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h ocsp_srv.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h ocsp_srv.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h ocsp_srv.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h @@ -205,14 +217,16 @@ ocsp_srv.o: ../../include/openssl/sha.h ../../include/openssl/stack.h ocsp_srv.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h ocsp_srv.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h ocsp_srv.o: ../cryptlib.h ocsp_srv.c -ocsp_vfy.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -ocsp_vfy.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h -ocsp_vfy.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h -ocsp_vfy.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -ocsp_vfy.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -ocsp_vfy.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -ocsp_vfy.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -ocsp_vfy.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h +ocsp_vfy.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +ocsp_vfy.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +ocsp_vfy.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h +ocsp_vfy.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +ocsp_vfy.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +ocsp_vfy.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +ocsp_vfy.o: ../../include/openssl/err.h ../../include/openssl/evp.h +ocsp_vfy.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +ocsp_vfy.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h +ocsp_vfy.o: ../../include/openssl/opensslconf.h ocsp_vfy.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h ocsp_vfy.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h ocsp_vfy.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h diff --git a/crypto/pem/Makefile.ssl b/crypto/pem/Makefile.ssl index a051b6fecc..c02be5b091 100644 --- a/crypto/pem/Makefile.ssl +++ b/crypto/pem/Makefile.ssl @@ -83,41 +83,45 @@ clean: # DO NOT DELETE THIS LINE -- make depend depends on it. pem_all.o: ../../e_os.h ../../include/openssl/asn1.h -pem_all.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -pem_all.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -pem_all.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -pem_all.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -pem_all.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -pem_all.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -pem_all.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -pem_all.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h -pem_all.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs7.h -pem_all.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -pem_all.o: ../../include/openssl/sha.h ../../include/openssl/stack.h -pem_all.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h -pem_all.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pem_all.c -pem_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -pem_err.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h -pem_err.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -pem_err.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -pem_err.o: ../../include/openssl/err.h ../../include/openssl/evp.h -pem_err.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -pem_err.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h -pem_err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -pem_err.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h -pem_err.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -pem_err.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -pem_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -pem_err.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -pem_err.o: pem_err.c +pem_all.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +pem_all.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +pem_all.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +pem_all.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +pem_all.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +pem_all.o: ../../include/openssl/err.h ../../include/openssl/evp.h +pem_all.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +pem_all.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +pem_all.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +pem_all.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h +pem_all.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h +pem_all.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +pem_all.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +pem_all.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h +pem_all.o: ../cryptlib.h pem_all.c +pem_err.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +pem_err.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +pem_err.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h +pem_err.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +pem_err.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +pem_err.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +pem_err.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +pem_err.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +pem_err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +pem_err.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h +pem_err.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs7.h +pem_err.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +pem_err.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +pem_err.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +pem_err.o: ../../include/openssl/x509_vfy.h pem_err.c pem_info.o: ../../e_os.h ../../include/openssl/asn1.h -pem_info.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -pem_info.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -pem_info.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -pem_info.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -pem_info.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -pem_info.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -pem_info.o: ../../include/openssl/opensslconf.h +pem_info.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +pem_info.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +pem_info.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +pem_info.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +pem_info.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +pem_info.o: ../../include/openssl/err.h ../../include/openssl/evp.h +pem_info.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +pem_info.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h pem_info.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h pem_info.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h pem_info.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h @@ -126,60 +130,66 @@ pem_info.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h pem_info.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h pem_info.o: ../cryptlib.h pem_info.c pem_lib.o: ../../e_os.h ../../include/openssl/asn1.h -pem_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -pem_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -pem_lib.o: ../../include/openssl/des.h ../../include/openssl/des_old.h -pem_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -pem_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -pem_lib.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -pem_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -pem_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -pem_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h -pem_lib.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs12.h -pem_lib.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h -pem_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -pem_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h -pem_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h -pem_lib.o: ../../include/openssl/ui_compat.h ../../include/openssl/x509.h -pem_lib.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pem_lib.c +pem_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +pem_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +pem_lib.o: ../../include/openssl/crypto.h ../../include/openssl/des.h +pem_lib.o: ../../include/openssl/des_old.h ../../include/openssl/dh.h +pem_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +pem_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +pem_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h +pem_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +pem_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +pem_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +pem_lib.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h +pem_lib.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h +pem_lib.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h +pem_lib.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +pem_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +pem_lib.o: ../../include/openssl/ui.h ../../include/openssl/ui_compat.h +pem_lib.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h +pem_lib.o: ../cryptlib.h pem_lib.c pem_oth.o: ../../e_os.h ../../include/openssl/asn1.h -pem_oth.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -pem_oth.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -pem_oth.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -pem_oth.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -pem_oth.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -pem_oth.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -pem_oth.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -pem_oth.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h -pem_oth.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs7.h -pem_oth.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h -pem_oth.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -pem_oth.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -pem_oth.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -pem_oth.o: ../cryptlib.h pem_oth.c +pem_oth.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +pem_oth.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +pem_oth.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +pem_oth.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +pem_oth.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +pem_oth.o: ../../include/openssl/err.h ../../include/openssl/evp.h +pem_oth.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +pem_oth.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +pem_oth.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +pem_oth.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h +pem_oth.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h +pem_oth.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +pem_oth.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +pem_oth.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +pem_oth.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pem_oth.c pem_pk8.o: ../../e_os.h ../../include/openssl/asn1.h -pem_pk8.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -pem_pk8.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -pem_pk8.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -pem_pk8.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -pem_pk8.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -pem_pk8.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -pem_pk8.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -pem_pk8.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h -pem_pk8.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs12.h -pem_pk8.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h -pem_pk8.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -pem_pk8.o: ../../include/openssl/sha.h ../../include/openssl/stack.h -pem_pk8.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h -pem_pk8.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pem_pk8.c +pem_pk8.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +pem_pk8.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +pem_pk8.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +pem_pk8.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +pem_pk8.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +pem_pk8.o: ../../include/openssl/err.h ../../include/openssl/evp.h +pem_pk8.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +pem_pk8.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +pem_pk8.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +pem_pk8.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h +pem_pk8.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h +pem_pk8.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h +pem_pk8.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +pem_pk8.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +pem_pk8.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h +pem_pk8.o: ../cryptlib.h pem_pk8.c pem_pkey.o: ../../e_os.h ../../include/openssl/asn1.h -pem_pkey.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -pem_pkey.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -pem_pkey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -pem_pkey.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -pem_pkey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -pem_pkey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -pem_pkey.o: ../../include/openssl/opensslconf.h +pem_pkey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +pem_pkey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +pem_pkey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +pem_pkey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +pem_pkey.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +pem_pkey.o: ../../include/openssl/err.h ../../include/openssl/evp.h +pem_pkey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +pem_pkey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h pem_pkey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h pem_pkey.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h pem_pkey.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h @@ -189,13 +199,14 @@ pem_pkey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h pem_pkey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h pem_pkey.o: ../cryptlib.h pem_pkey.c pem_seal.o: ../../e_os.h ../../include/openssl/asn1.h -pem_seal.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -pem_seal.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -pem_seal.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -pem_seal.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -pem_seal.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -pem_seal.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -pem_seal.o: ../../include/openssl/opensslconf.h +pem_seal.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +pem_seal.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +pem_seal.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +pem_seal.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +pem_seal.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +pem_seal.o: ../../include/openssl/err.h ../../include/openssl/evp.h +pem_seal.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +pem_seal.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h pem_seal.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h pem_seal.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h pem_seal.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h @@ -204,13 +215,14 @@ pem_seal.o: ../../include/openssl/sha.h ../../include/openssl/stack.h pem_seal.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h pem_seal.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pem_seal.c pem_sign.o: ../../e_os.h ../../include/openssl/asn1.h -pem_sign.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -pem_sign.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -pem_sign.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -pem_sign.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -pem_sign.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -pem_sign.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -pem_sign.o: ../../include/openssl/opensslconf.h +pem_sign.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +pem_sign.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +pem_sign.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +pem_sign.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +pem_sign.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +pem_sign.o: ../../include/openssl/err.h ../../include/openssl/evp.h +pem_sign.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +pem_sign.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h pem_sign.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h pem_sign.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h pem_sign.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h @@ -219,13 +231,14 @@ pem_sign.o: ../../include/openssl/sha.h ../../include/openssl/stack.h pem_sign.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h pem_sign.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pem_sign.c pem_x509.o: ../../e_os.h ../../include/openssl/asn1.h -pem_x509.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -pem_x509.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -pem_x509.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -pem_x509.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -pem_x509.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -pem_x509.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -pem_x509.o: ../../include/openssl/opensslconf.h +pem_x509.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +pem_x509.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +pem_x509.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +pem_x509.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +pem_x509.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +pem_x509.o: ../../include/openssl/err.h ../../include/openssl/evp.h +pem_x509.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +pem_x509.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h pem_x509.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h pem_x509.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h pem_x509.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h @@ -234,13 +247,14 @@ pem_x509.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h pem_x509.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h pem_x509.o: ../cryptlib.h pem_x509.c pem_xaux.o: ../../e_os.h ../../include/openssl/asn1.h -pem_xaux.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -pem_xaux.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -pem_xaux.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -pem_xaux.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -pem_xaux.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -pem_xaux.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -pem_xaux.o: ../../include/openssl/opensslconf.h +pem_xaux.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +pem_xaux.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +pem_xaux.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +pem_xaux.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +pem_xaux.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +pem_xaux.o: ../../include/openssl/err.h ../../include/openssl/evp.h +pem_xaux.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +pem_xaux.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h pem_xaux.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h pem_xaux.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h pem_xaux.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h diff --git a/crypto/pem/pem.h b/crypto/pem/pem.h index 3785fca77d..a0feea36c5 100644 --- a/crypto/pem/pem.h +++ b/crypto/pem/pem.h @@ -91,6 +91,9 @@ extern "C" { #define PEM_OBJ_DHPARAMS 17 #define PEM_OBJ_DSAPARAMS 18 #define PEM_OBJ_PRIV_RSA_PUBLIC 19 +#define PEM_OBJ_PRIV_ECDSA 20 +#define PEM_OBJ_PUB_ECDSA 21 +#define PEM_OBJ_ECDSAPARAMS 22 #define PEM_ERROR 30 #define PEM_DEK_DES_CBC 40 @@ -126,6 +129,9 @@ extern "C" { #define PEM_STRING_DHPARAMS "DH PARAMETERS" #define PEM_STRING_SSL_SESSION "SSL SESSION PARAMETERS" #define PEM_STRING_DSAPARAMS "DSA PARAMETERS" +#define PEM_STRING_ECDSA "ECDSA PRIVATE KEY" +#define PEM_STRING_ECDSA_PUBLIC "ECDSA PUBLIC KEY" +#define PEM_STRING_ECDSAPARAMS "ECDSA PARAMETERS" /* Note that this structure is initialised by PEM_SealInit and cleaned up by PEM_SealFinal (at least for now) */ @@ -572,6 +578,12 @@ DECLARE_PEM_rw(DSAparams, DSA) #endif +#ifndef OPENSSL_NO_ECDSA +DECLARE_PEM_rw_cb(ECDSAPrivateKey, ECDSA) +DECLARE_PEM_rw(ECDSA_PUBKEY, ECDSA) +DECLARE_PEM_rw(ECDSAParameters, ECDSA) +#endif + #ifndef OPENSSL_NO_DH DECLARE_PEM_rw(DHparams, DH) diff --git a/crypto/pem/pem_all.c b/crypto/pem/pem_all.c index e72b7134ce..2a4b865a50 100644 --- a/crypto/pem/pem_all.c +++ b/crypto/pem/pem_all.c @@ -55,6 +55,59 @@ * copied and put under another distribution licence * [including the GNU Public Licence.] */ +/* ==================================================================== + * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. + * + * 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 above 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 acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@openssl.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.openssl.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED 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 OpenSSL PROJECT OR + * ITS 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. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ #include #undef SSLEAY_MACROS @@ -72,6 +125,10 @@ static RSA *pkey_get_rsa(EVP_PKEY *key, RSA **rsa); static DSA *pkey_get_dsa(EVP_PKEY *key, DSA **dsa); #endif +#ifndef OPENSSL_NO_ECDSA +static ECDSA *pkey_get_ecdsa(EVP_PKEY *key, ECDSA **ecdsa); +#endif + IMPLEMENT_PEM_rw(X509_REQ, X509_REQ, PEM_STRING_X509_REQ, X509_REQ) IMPLEMENT_PEM_write(X509_REQ_NEW, X509_REQ, PEM_STRING_X509_REQ_OLD, X509_REQ) @@ -177,6 +234,50 @@ IMPLEMENT_PEM_rw(DSAparams, DSA, PEM_STRING_DSAPARAMS, DSAparams) #endif +#ifndef OPENSSL_NO_ECDSA + +static ECDSA *pkey_get_ecdsa(EVP_PKEY *key, ECDSA **ecdsa) +{ + ECDSA *dtmp; + if(!key) return NULL; + dtmp = EVP_PKEY_get1_ECDSA(key); + EVP_PKEY_free(key); + if(!dtmp) return NULL; + if(ecdsa) + { + ECDSA_free(*ecdsa); + *ecdsa = dtmp; + } + return dtmp; +} + +ECDSA *PEM_read_bio_ECDSAPrivateKey(BIO *bp, ECDSA **ecdsa, pem_password_cb *cb, + void *u) +{ + EVP_PKEY *pktmp; + pktmp = PEM_read_bio_PrivateKey(bp, NULL, cb, u); + return pkey_get_ecdsa(pktmp, ecdsa); +} + +IMPLEMENT_PEM_write_cb(ECDSAPrivateKey, ECDSA, PEM_STRING_ECDSA, ECDSAPrivateKey) +IMPLEMENT_PEM_rw(ECDSA_PUBKEY, ECDSA, PEM_STRING_PUBLIC, ECDSA_PUBKEY) + +#ifndef OPENSSL_NO_FP_API + +ECDSA *PEM_read_ECDSAPrivateKey(FILE *fp, ECDSA **ecdsa, pem_password_cb *cb, + void *u) +{ + EVP_PKEY *pktmp; + pktmp = PEM_read_PrivateKey(fp, NULL, cb, u); + return pkey_get_ecdsa(pktmp, ecdsa); +} + +#endif + +IMPLEMENT_PEM_rw(ECDSAParameters, ECDSA, PEM_STRING_ECDSAPARAMS, ECDSAParameters) + +#endif + #ifndef OPENSSL_NO_DH IMPLEMENT_PEM_rw(DHparams, DH, PEM_STRING_DHPARAMS, DHparams) @@ -190,7 +291,8 @@ IMPLEMENT_PEM_rw(DHparams, DH, PEM_STRING_DHPARAMS, DHparams) * (When reading, parameter PEM_STRING_EVP_PKEY is a wildcard for anything * appropriate.) */ -IMPLEMENT_PEM_write_cb(PrivateKey, EVP_PKEY, ((x->type == EVP_PKEY_DSA)?PEM_STRING_DSA:PEM_STRING_RSA), PrivateKey) +IMPLEMENT_PEM_write_cb(PrivateKey, EVP_PKEY, ((x->type == EVP_PKEY_DSA)?PEM_STRING_DSA:\ + (x->type == EVP_PKEY_RSA)?PEM_STRING_RSA:PEM_STRING_ECDSA), PrivateKey) IMPLEMENT_PEM_rw(PUBKEY, EVP_PKEY, PEM_STRING_PUBLIC, PUBKEY) diff --git a/crypto/pem/pem_info.c b/crypto/pem/pem_info.c index b6ca51a186..8bcd9f770d 100644 --- a/crypto/pem/pem_info.c +++ b/crypto/pem/pem_info.c @@ -202,6 +202,30 @@ start: raw=1; } else +#endif +#ifndef OPENSSL_NO_ECDSA + if (strcmp(name,PEM_STRING_ECDSA) == 0) + { + d2i=(char *(*)())d2i_ECDSAPrivateKey; + if (xi->x_pkey != NULL) + { + if (!sk_X509_INFO_push(ret,xi)) goto err; + if ((xi=X509_INFO_new()) == NULL) goto err; + goto start; + } + + xi->enc_data=NULL; + xi->enc_len=0; + + xi->x_pkey=X509_PKEY_new(); + if ((xi->x_pkey->dec_pkey=EVP_PKEY_new()) == NULL) + goto err; + xi->x_pkey->dec_pkey->type=EVP_PKEY_ECDSA; + pp=(char **)&(xi->x_pkey->dec_pkey->pkey.ecdsa); + if ((int)strlen(header) > 10) /* assume encrypted */ + raw=1; + } + else #endif { d2i=NULL; diff --git a/crypto/pem/pem_lib.c b/crypto/pem/pem_lib.c index 94373e1d23..52a36dc00d 100644 --- a/crypto/pem/pem_lib.c +++ b/crypto/pem/pem_lib.c @@ -193,6 +193,8 @@ static int check_pem(const char *nm, const char *name) if(!strcmp(nm,PEM_STRING_DSA) && !strcmp(name,PEM_STRING_EVP_PKEY)) return 1; + if(!strcmp(nm,PEM_STRING_ECDSA) && + !strcmp(name,PEM_STRING_EVP_PKEY)) return 1; /* Permit older strings */ if(!strcmp(nm,PEM_STRING_X509_OLD) && diff --git a/crypto/pem/pem_pkey.c b/crypto/pem/pem_pkey.c index 270892d72b..0e3faffa44 100644 --- a/crypto/pem/pem_pkey.c +++ b/crypto/pem/pem_pkey.c @@ -82,6 +82,8 @@ EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, vo ret=d2i_PrivateKey(EVP_PKEY_RSA,x,&p,len); else if (strcmp(nm,PEM_STRING_DSA) == 0) ret=d2i_PrivateKey(EVP_PKEY_DSA,x,&p,len); + else if (strcmp(nm,PEM_STRING_ECDSA) == 0) + ret=d2i_PrivateKey(EVP_PKEY_ECDSA,x,&p,len); else if (strcmp(nm,PEM_STRING_PKCS8INF) == 0) { PKCS8_PRIV_KEY_INFO *p8inf; p8inf=d2i_PKCS8_PRIV_KEY_INFO(NULL, &p, len); diff --git a/crypto/pkcs12/Makefile.ssl b/crypto/pkcs12/Makefile.ssl index cb815db72f..e6e6026990 100644 --- a/crypto/pkcs12/Makefile.ssl +++ b/crypto/pkcs12/Makefile.ssl @@ -86,24 +86,26 @@ clean: # DO NOT DELETE THIS LINE -- make depend depends on it. p12_add.o: ../../e_os.h ../../include/openssl/asn1.h -p12_add.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -p12_add.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -p12_add.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -p12_add.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -p12_add.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -p12_add.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -p12_add.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -p12_add.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h -p12_add.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -p12_add.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -p12_add.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -p12_add.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -p12_add.o: ../cryptlib.h p12_add.c +p12_add.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +p12_add.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +p12_add.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +p12_add.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p12_add.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +p12_add.o: ../../include/openssl/err.h ../../include/openssl/evp.h +p12_add.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +p12_add.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +p12_add.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +p12_add.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h +p12_add.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +p12_add.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +p12_add.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +p12_add.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_add.c p12_asn.o: ../../e_os.h ../../include/openssl/asn1.h p12_asn.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h p12_asn.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h p12_asn.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h p12_asn.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p12_asn.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h p12_asn.o: ../../include/openssl/err.h ../../include/openssl/evp.h p12_asn.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h p12_asn.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -114,13 +116,14 @@ p12_asn.o: ../../include/openssl/sha.h ../../include/openssl/stack.h p12_asn.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h p12_asn.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_asn.c p12_attr.o: ../../e_os.h ../../include/openssl/asn1.h -p12_attr.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -p12_attr.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -p12_attr.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -p12_attr.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -p12_attr.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -p12_attr.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -p12_attr.o: ../../include/openssl/opensslconf.h +p12_attr.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +p12_attr.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +p12_attr.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +p12_attr.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p12_attr.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +p12_attr.o: ../../include/openssl/err.h ../../include/openssl/evp.h +p12_attr.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +p12_attr.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h p12_attr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h p12_attr.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h p12_attr.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h @@ -128,13 +131,14 @@ p12_attr.o: ../../include/openssl/sha.h ../../include/openssl/stack.h p12_attr.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h p12_attr.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_attr.c p12_crpt.o: ../../e_os.h ../../include/openssl/asn1.h -p12_crpt.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -p12_crpt.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -p12_crpt.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -p12_crpt.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -p12_crpt.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -p12_crpt.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -p12_crpt.o: ../../include/openssl/opensslconf.h +p12_crpt.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +p12_crpt.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +p12_crpt.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +p12_crpt.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p12_crpt.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +p12_crpt.o: ../../include/openssl/err.h ../../include/openssl/evp.h +p12_crpt.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +p12_crpt.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h p12_crpt.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h p12_crpt.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h p12_crpt.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h @@ -142,27 +146,29 @@ p12_crpt.o: ../../include/openssl/sha.h ../../include/openssl/stack.h p12_crpt.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h p12_crpt.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_crpt.c p12_crt.o: ../../e_os.h ../../include/openssl/asn1.h -p12_crt.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -p12_crt.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -p12_crt.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -p12_crt.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -p12_crt.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -p12_crt.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -p12_crt.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -p12_crt.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h -p12_crt.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -p12_crt.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -p12_crt.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -p12_crt.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -p12_crt.o: ../cryptlib.h p12_crt.c +p12_crt.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +p12_crt.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +p12_crt.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +p12_crt.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p12_crt.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +p12_crt.o: ../../include/openssl/err.h ../../include/openssl/evp.h +p12_crt.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +p12_crt.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +p12_crt.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +p12_crt.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h +p12_crt.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +p12_crt.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +p12_crt.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +p12_crt.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_crt.c p12_decr.o: ../../e_os.h ../../include/openssl/asn1.h -p12_decr.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -p12_decr.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -p12_decr.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -p12_decr.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -p12_decr.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -p12_decr.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -p12_decr.o: ../../include/openssl/opensslconf.h +p12_decr.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +p12_decr.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +p12_decr.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +p12_decr.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p12_decr.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +p12_decr.o: ../../include/openssl/err.h ../../include/openssl/evp.h +p12_decr.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +p12_decr.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h p12_decr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h p12_decr.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h p12_decr.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h @@ -170,13 +176,14 @@ p12_decr.o: ../../include/openssl/sha.h ../../include/openssl/stack.h p12_decr.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h p12_decr.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_decr.c p12_init.o: ../../e_os.h ../../include/openssl/asn1.h -p12_init.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -p12_init.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -p12_init.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -p12_init.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -p12_init.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -p12_init.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -p12_init.o: ../../include/openssl/opensslconf.h +p12_init.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +p12_init.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +p12_init.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +p12_init.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p12_init.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +p12_init.o: ../../include/openssl/err.h ../../include/openssl/evp.h +p12_init.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +p12_init.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h p12_init.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h p12_init.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h p12_init.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h @@ -184,27 +191,29 @@ p12_init.o: ../../include/openssl/sha.h ../../include/openssl/stack.h p12_init.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h p12_init.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_init.c p12_key.o: ../../e_os.h ../../include/openssl/asn1.h -p12_key.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -p12_key.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -p12_key.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -p12_key.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -p12_key.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -p12_key.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -p12_key.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -p12_key.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h -p12_key.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -p12_key.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -p12_key.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -p12_key.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -p12_key.o: ../cryptlib.h p12_key.c +p12_key.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +p12_key.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +p12_key.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +p12_key.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p12_key.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +p12_key.o: ../../include/openssl/err.h ../../include/openssl/evp.h +p12_key.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +p12_key.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +p12_key.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +p12_key.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h +p12_key.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +p12_key.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +p12_key.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +p12_key.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_key.c p12_kiss.o: ../../e_os.h ../../include/openssl/asn1.h -p12_kiss.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -p12_kiss.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -p12_kiss.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -p12_kiss.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -p12_kiss.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -p12_kiss.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -p12_kiss.o: ../../include/openssl/opensslconf.h +p12_kiss.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +p12_kiss.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +p12_kiss.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +p12_kiss.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p12_kiss.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +p12_kiss.o: ../../include/openssl/err.h ../../include/openssl/evp.h +p12_kiss.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +p12_kiss.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h p12_kiss.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h p12_kiss.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h p12_kiss.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h @@ -212,13 +221,15 @@ p12_kiss.o: ../../include/openssl/sha.h ../../include/openssl/stack.h p12_kiss.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h p12_kiss.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_kiss.c p12_mutl.o: ../../e_os.h ../../include/openssl/asn1.h -p12_mutl.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -p12_mutl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -p12_mutl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -p12_mutl.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -p12_mutl.o: ../../include/openssl/evp.h ../../include/openssl/hmac.h -p12_mutl.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -p12_mutl.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +p12_mutl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +p12_mutl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +p12_mutl.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +p12_mutl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p12_mutl.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +p12_mutl.o: ../../include/openssl/err.h ../../include/openssl/evp.h +p12_mutl.o: ../../include/openssl/hmac.h ../../include/openssl/lhash.h +p12_mutl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +p12_mutl.o: ../../include/openssl/opensslconf.h p12_mutl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h p12_mutl.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h p12_mutl.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h @@ -226,13 +237,15 @@ p12_mutl.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h p12_mutl.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h p12_mutl.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h p12_mutl.o: ../cryptlib.h p12_mutl.c -p12_npas.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -p12_npas.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h -p12_npas.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -p12_npas.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -p12_npas.o: ../../include/openssl/err.h ../../include/openssl/evp.h -p12_npas.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -p12_npas.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +p12_npas.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +p12_npas.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +p12_npas.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h +p12_npas.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +p12_npas.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +p12_npas.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +p12_npas.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +p12_npas.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +p12_npas.o: ../../include/openssl/opensslconf.h p12_npas.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h p12_npas.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h p12_npas.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h @@ -241,57 +254,62 @@ p12_npas.o: ../../include/openssl/sha.h ../../include/openssl/stack.h p12_npas.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h p12_npas.o: ../../include/openssl/x509_vfy.h p12_npas.c p12_p8d.o: ../../e_os.h ../../include/openssl/asn1.h -p12_p8d.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -p12_p8d.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -p12_p8d.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -p12_p8d.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -p12_p8d.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -p12_p8d.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -p12_p8d.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -p12_p8d.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h -p12_p8d.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -p12_p8d.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -p12_p8d.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -p12_p8d.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -p12_p8d.o: ../cryptlib.h p12_p8d.c +p12_p8d.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +p12_p8d.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +p12_p8d.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +p12_p8d.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p12_p8d.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +p12_p8d.o: ../../include/openssl/err.h ../../include/openssl/evp.h +p12_p8d.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +p12_p8d.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +p12_p8d.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +p12_p8d.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h +p12_p8d.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +p12_p8d.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +p12_p8d.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +p12_p8d.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_p8d.c p12_p8e.o: ../../e_os.h ../../include/openssl/asn1.h -p12_p8e.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -p12_p8e.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -p12_p8e.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -p12_p8e.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -p12_p8e.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -p12_p8e.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -p12_p8e.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -p12_p8e.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h -p12_p8e.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -p12_p8e.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -p12_p8e.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -p12_p8e.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -p12_p8e.o: ../cryptlib.h p12_p8e.c +p12_p8e.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +p12_p8e.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +p12_p8e.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +p12_p8e.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p12_p8e.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +p12_p8e.o: ../../include/openssl/err.h ../../include/openssl/evp.h +p12_p8e.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +p12_p8e.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +p12_p8e.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +p12_p8e.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h +p12_p8e.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +p12_p8e.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +p12_p8e.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +p12_p8e.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_p8e.c p12_utl.o: ../../e_os.h ../../include/openssl/asn1.h -p12_utl.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -p12_utl.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -p12_utl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -p12_utl.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -p12_utl.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -p12_utl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -p12_utl.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -p12_utl.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h -p12_utl.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -p12_utl.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -p12_utl.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -p12_utl.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -p12_utl.o: ../cryptlib.h p12_utl.c -pk12err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -pk12err.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h -pk12err.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -pk12err.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -pk12err.o: ../../include/openssl/err.h ../../include/openssl/evp.h -pk12err.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -pk12err.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h -pk12err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -pk12err.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h -pk12err.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -pk12err.o: ../../include/openssl/sha.h ../../include/openssl/stack.h -pk12err.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h -pk12err.o: ../../include/openssl/x509_vfy.h pk12err.c +p12_utl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +p12_utl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +p12_utl.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +p12_utl.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +p12_utl.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +p12_utl.o: ../../include/openssl/err.h ../../include/openssl/evp.h +p12_utl.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +p12_utl.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +p12_utl.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +p12_utl.o: ../../include/openssl/pkcs12.h ../../include/openssl/pkcs7.h +p12_utl.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +p12_utl.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +p12_utl.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +p12_utl.o: ../../include/openssl/x509_vfy.h ../cryptlib.h p12_utl.c +pk12err.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +pk12err.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +pk12err.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h +pk12err.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +pk12err.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +pk12err.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +pk12err.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +pk12err.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +pk12err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +pk12err.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs12.h +pk12err.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h +pk12err.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +pk12err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +pk12err.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h +pk12err.o: pk12err.c diff --git a/crypto/pkcs7/Makefile.ssl b/crypto/pkcs7/Makefile.ssl index f606abe440..2e58c66842 100644 --- a/crypto/pkcs7/Makefile.ssl +++ b/crypto/pkcs7/Makefile.ssl @@ -105,6 +105,7 @@ pk7_asn1.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h pk7_asn1.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h pk7_asn1.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h pk7_asn1.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +pk7_asn1.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h pk7_asn1.o: ../../include/openssl/err.h ../../include/openssl/evp.h pk7_asn1.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h pk7_asn1.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -114,13 +115,15 @@ pk7_asn1.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h pk7_asn1.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h pk7_asn1.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h pk7_asn1.o: ../cryptlib.h pk7_asn1.c -pk7_attr.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -pk7_attr.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h -pk7_attr.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -pk7_attr.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -pk7_attr.o: ../../include/openssl/err.h ../../include/openssl/evp.h -pk7_attr.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -pk7_attr.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +pk7_attr.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +pk7_attr.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +pk7_attr.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h +pk7_attr.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +pk7_attr.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +pk7_attr.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +pk7_attr.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +pk7_attr.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +pk7_attr.o: ../../include/openssl/opensslconf.h pk7_attr.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h pk7_attr.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h pk7_attr.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h @@ -129,13 +132,15 @@ pk7_attr.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h pk7_attr.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h pk7_attr.o: pk7_attr.c pk7_doit.o: ../../e_os.h ../../include/openssl/asn1.h -pk7_doit.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -pk7_doit.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -pk7_doit.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -pk7_doit.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -pk7_doit.o: ../../include/openssl/err.h ../../include/openssl/evp.h -pk7_doit.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -pk7_doit.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +pk7_doit.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +pk7_doit.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +pk7_doit.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +pk7_doit.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +pk7_doit.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +pk7_doit.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +pk7_doit.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +pk7_doit.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +pk7_doit.o: ../../include/openssl/opensslconf.h pk7_doit.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h pk7_doit.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h pk7_doit.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h @@ -144,26 +149,29 @@ pk7_doit.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h pk7_doit.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h pk7_doit.o: ../cryptlib.h pk7_doit.c pk7_lib.o: ../../e_os.h ../../include/openssl/asn1.h -pk7_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -pk7_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -pk7_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -pk7_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -pk7_lib.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -pk7_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -pk7_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -pk7_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h -pk7_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -pk7_lib.o: ../../include/openssl/sha.h ../../include/openssl/stack.h -pk7_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h -pk7_lib.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pk7_lib.c +pk7_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +pk7_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +pk7_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +pk7_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +pk7_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +pk7_lib.o: ../../include/openssl/err.h ../../include/openssl/evp.h +pk7_lib.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +pk7_lib.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +pk7_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +pk7_lib.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h +pk7_lib.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +pk7_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +pk7_lib.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h +pk7_lib.o: ../cryptlib.h pk7_lib.c pk7_mime.o: ../../e_os.h ../../include/openssl/asn1.h -pk7_mime.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -pk7_mime.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -pk7_mime.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -pk7_mime.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -pk7_mime.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -pk7_mime.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -pk7_mime.o: ../../include/openssl/opensslconf.h +pk7_mime.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +pk7_mime.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +pk7_mime.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +pk7_mime.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +pk7_mime.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +pk7_mime.o: ../../include/openssl/err.h ../../include/openssl/evp.h +pk7_mime.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +pk7_mime.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h pk7_mime.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h pk7_mime.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h pk7_mime.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h @@ -171,13 +179,14 @@ pk7_mime.o: ../../include/openssl/sha.h ../../include/openssl/stack.h pk7_mime.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h pk7_mime.o: ../../include/openssl/x509_vfy.h ../cryptlib.h pk7_mime.c pk7_smime.o: ../../e_os.h ../../include/openssl/asn1.h -pk7_smime.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -pk7_smime.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -pk7_smime.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -pk7_smime.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -pk7_smime.o: ../../include/openssl/err.h ../../include/openssl/evp.h -pk7_smime.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -pk7_smime.o: ../../include/openssl/objects.h +pk7_smime.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +pk7_smime.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +pk7_smime.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +pk7_smime.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +pk7_smime.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +pk7_smime.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +pk7_smime.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +pk7_smime.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h pk7_smime.o: ../../include/openssl/opensslconf.h pk7_smime.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h pk7_smime.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h diff --git a/crypto/pkcs7/pk7_doit.c b/crypto/pkcs7/pk7_doit.c index f016fdb2e2..0119272d75 100644 --- a/crypto/pkcs7/pk7_doit.c +++ b/crypto/pkcs7/pk7_doit.c @@ -628,6 +628,10 @@ int PKCS7_dataFinal(PKCS7 *p7, BIO *bio) if (si->pkey->type == EVP_PKEY_DSA) ctx_tmp.digest=EVP_dss1(); #endif +#ifndef OPENSSL_NO_ECDSA + if (si->pkey->type == EVP_PKEY_ECDSA) + ctx_tmp.digest=EVP_ecdsa(); +#endif if (!EVP_SignFinal(&ctx_tmp,(unsigned char *)buf->data, (unsigned int *)&buf->length,si->pkey)) @@ -825,6 +829,9 @@ for (ii=0; iitype == EVP_PKEY_DSA) mdc_tmp.digest=EVP_dss1(); #endif +#ifndef OPENSSL_NO_ECDSA + if (pkey->type == EVP_PKEY_ECDSA) mdc_tmp.digest=EVP_ecdsa(); +#endif i=EVP_VerifyFinal(&mdc_tmp,os->data,os->length, pkey); EVP_PKEY_free(pkey); diff --git a/crypto/pkcs7/pk7_lib.c b/crypto/pkcs7/pk7_lib.c index c00ed6833a..3e0a889288 100644 --- a/crypto/pkcs7/pk7_lib.c +++ b/crypto/pkcs7/pk7_lib.c @@ -308,7 +308,7 @@ int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey, const EVP_MD *dgst) { char is_dsa; - if (pkey->type == EVP_PKEY_DSA) is_dsa = 1; + if (pkey->type == EVP_PKEY_DSA || pkey->type == EVP_PKEY_ECDSA) is_dsa = 1; else is_dsa = 0; /* We now need to add another PKCS7_SIGNER_INFO entry */ ASN1_INTEGER_set(p7i->version,1); diff --git a/crypto/rand/Makefile.ssl b/crypto/rand/Makefile.ssl index ccf65f0d78..e03ddcca6b 100644 --- a/crypto/rand/Makefile.ssl +++ b/crypto/rand/Makefile.ssl @@ -102,12 +102,13 @@ rand_err.o: ../../include/openssl/rand.h ../../include/openssl/safestack.h rand_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h rand_err.o: rand_err.c rand_lib.o: ../../e_os.h ../../include/openssl/asn1.h -rand_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -rand_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -rand_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -rand_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -rand_lib.o: ../../include/openssl/err.h ../../include/openssl/lhash.h -rand_lib.o: ../../include/openssl/opensslconf.h +rand_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +rand_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +rand_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +rand_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +rand_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +rand_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h +rand_lib.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h rand_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h rand_lib.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h rand_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h diff --git a/crypto/rsa/Makefile.ssl b/crypto/rsa/Makefile.ssl index f1e93c2fa3..f11df9787a 100644 --- a/crypto/rsa/Makefile.ssl +++ b/crypto/rsa/Makefile.ssl @@ -102,16 +102,18 @@ rsa_chk.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h rsa_chk.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h rsa_chk.o: rsa_chk.c rsa_eay.o: ../../e_os.h ../../include/openssl/asn1.h -rsa_eay.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -rsa_eay.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -rsa_eay.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -rsa_eay.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -rsa_eay.o: ../../include/openssl/err.h ../../include/openssl/lhash.h -rsa_eay.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -rsa_eay.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h -rsa_eay.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -rsa_eay.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -rsa_eay.o: ../../include/openssl/ui.h ../cryptlib.h rsa_eay.c +rsa_eay.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +rsa_eay.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +rsa_eay.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +rsa_eay.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +rsa_eay.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +rsa_eay.o: ../../include/openssl/engine.h ../../include/openssl/err.h +rsa_eay.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h +rsa_eay.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +rsa_eay.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h +rsa_eay.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +rsa_eay.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h +rsa_eay.o: ../cryptlib.h rsa_eay.c rsa_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h rsa_err.o: ../../include/openssl/bn.h ../../include/openssl/crypto.h rsa_err.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h @@ -130,16 +132,18 @@ rsa_gen.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h rsa_gen.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h rsa_gen.o: ../cryptlib.h rsa_gen.c rsa_lib.o: ../../e_os.h ../../include/openssl/asn1.h -rsa_lib.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -rsa_lib.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -rsa_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -rsa_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -rsa_lib.o: ../../include/openssl/err.h ../../include/openssl/lhash.h -rsa_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -rsa_lib.o: ../../include/openssl/ossl_typ.h ../../include/openssl/rand.h -rsa_lib.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -rsa_lib.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -rsa_lib.o: ../../include/openssl/ui.h ../cryptlib.h rsa_lib.c +rsa_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +rsa_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +rsa_lib.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +rsa_lib.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +rsa_lib.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +rsa_lib.o: ../../include/openssl/engine.h ../../include/openssl/err.h +rsa_lib.o: ../../include/openssl/lhash.h ../../include/openssl/opensslconf.h +rsa_lib.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +rsa_lib.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h +rsa_lib.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h +rsa_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/ui.h +rsa_lib.o: ../cryptlib.h rsa_lib.c rsa_none.o: ../../e_os.h ../../include/openssl/asn1.h rsa_none.o: ../../include/openssl/bio.h ../../include/openssl/bn.h rsa_none.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h @@ -180,13 +184,14 @@ rsa_pk1.o: ../../include/openssl/rand.h ../../include/openssl/rsa.h rsa_pk1.o: ../../include/openssl/safestack.h ../../include/openssl/stack.h rsa_pk1.o: ../../include/openssl/symhacks.h ../cryptlib.h rsa_pk1.c rsa_saos.o: ../../e_os.h ../../include/openssl/asn1.h -rsa_saos.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -rsa_saos.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -rsa_saos.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -rsa_saos.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -rsa_saos.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -rsa_saos.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -rsa_saos.o: ../../include/openssl/opensslconf.h +rsa_saos.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +rsa_saos.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +rsa_saos.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +rsa_saos.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +rsa_saos.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +rsa_saos.o: ../../include/openssl/err.h ../../include/openssl/evp.h +rsa_saos.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +rsa_saos.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h rsa_saos.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h rsa_saos.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h rsa_saos.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -194,13 +199,15 @@ rsa_saos.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h rsa_saos.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h rsa_saos.o: ../cryptlib.h rsa_saos.c rsa_sign.o: ../../e_os.h ../../include/openssl/asn1.h -rsa_sign.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -rsa_sign.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -rsa_sign.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -rsa_sign.o: ../../include/openssl/e_os2.h ../../include/openssl/engine.h -rsa_sign.o: ../../include/openssl/err.h ../../include/openssl/evp.h -rsa_sign.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -rsa_sign.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +rsa_sign.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +rsa_sign.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +rsa_sign.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +rsa_sign.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +rsa_sign.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +rsa_sign.o: ../../include/openssl/engine.h ../../include/openssl/err.h +rsa_sign.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +rsa_sign.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +rsa_sign.o: ../../include/openssl/opensslconf.h rsa_sign.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h rsa_sign.o: ../../include/openssl/pkcs7.h ../../include/openssl/rand.h rsa_sign.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h diff --git a/crypto/x509/Makefile.ssl b/crypto/x509/Makefile.ssl index 3063f448c0..80af66b05d 100644 --- a/crypto/x509/Makefile.ssl +++ b/crypto/x509/Makefile.ssl @@ -89,10 +89,12 @@ clean: # DO NOT DELETE THIS LINE -- make depend depends on it. -by_dir.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +by_dir.o: ../../e_os.h ../../include/openssl/asn1.h +by_dir.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h by_dir.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h by_dir.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h by_dir.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +by_dir.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h by_dir.o: ../../include/openssl/err.h ../../include/openssl/evp.h by_dir.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h by_dir.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h @@ -103,27 +105,31 @@ by_dir.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h by_dir.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h by_dir.o: ../cryptlib.h by_dir.c by_file.o: ../../e_os.h ../../include/openssl/asn1.h -by_file.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -by_file.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -by_file.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -by_file.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -by_file.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -by_file.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -by_file.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -by_file.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pem.h -by_file.o: ../../include/openssl/pem2.h ../../include/openssl/pkcs7.h -by_file.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -by_file.o: ../../include/openssl/sha.h ../../include/openssl/stack.h -by_file.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h -by_file.o: ../../include/openssl/x509_vfy.h ../cryptlib.h by_file.c +by_file.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +by_file.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +by_file.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +by_file.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +by_file.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +by_file.o: ../../include/openssl/err.h ../../include/openssl/evp.h +by_file.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +by_file.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +by_file.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +by_file.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h +by_file.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h +by_file.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +by_file.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +by_file.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h +by_file.o: ../cryptlib.h by_file.c x509_att.o: ../../e_os.h ../../include/openssl/asn1.h -x509_att.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509_att.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -x509_att.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -x509_att.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -x509_att.o: ../../include/openssl/err.h ../../include/openssl/evp.h -x509_att.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -x509_att.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +x509_att.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509_att.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509_att.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +x509_att.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +x509_att.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +x509_att.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +x509_att.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +x509_att.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +x509_att.o: ../../include/openssl/opensslconf.h x509_att.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509_att.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h x509_att.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -131,13 +137,15 @@ x509_att.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509_att.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509_att.o: ../../include/openssl/x509v3.h ../cryptlib.h x509_att.c x509_cmp.o: ../../e_os.h ../../include/openssl/asn1.h -x509_cmp.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509_cmp.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -x509_cmp.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -x509_cmp.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -x509_cmp.o: ../../include/openssl/err.h ../../include/openssl/evp.h -x509_cmp.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -x509_cmp.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +x509_cmp.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509_cmp.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509_cmp.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +x509_cmp.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +x509_cmp.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +x509_cmp.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +x509_cmp.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +x509_cmp.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +x509_cmp.o: ../../include/openssl/opensslconf.h x509_cmp.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509_cmp.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h x509_cmp.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -145,39 +153,44 @@ x509_cmp.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509_cmp.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509_cmp.o: ../../include/openssl/x509v3.h ../cryptlib.h x509_cmp.c x509_d2.o: ../../e_os.h ../../include/openssl/asn1.h -x509_d2.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509_d2.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -x509_d2.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -x509_d2.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -x509_d2.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -x509_d2.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -x509_d2.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -x509_d2.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h -x509_d2.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -x509_d2.o: ../../include/openssl/sha.h ../../include/openssl/stack.h -x509_d2.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h -x509_d2.o: ../../include/openssl/x509_vfy.h ../cryptlib.h x509_d2.c +x509_d2.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509_d2.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509_d2.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +x509_d2.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x509_d2.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +x509_d2.o: ../../include/openssl/err.h ../../include/openssl/evp.h +x509_d2.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +x509_d2.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +x509_d2.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +x509_d2.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h +x509_d2.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +x509_d2.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +x509_d2.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h +x509_d2.o: ../cryptlib.h x509_d2.c x509_def.o: ../../e_os.h ../../include/openssl/asn1.h -x509_def.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509_def.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -x509_def.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -x509_def.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -x509_def.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -x509_def.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -x509_def.o: ../../include/openssl/opensslconf.h +x509_def.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509_def.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509_def.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +x509_def.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x509_def.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +x509_def.o: ../../include/openssl/err.h ../../include/openssl/evp.h +x509_def.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +x509_def.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h x509_def.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509_def.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h x509_def.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h x509_def.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509_def.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509_def.o: ../cryptlib.h x509_def.c -x509_err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -x509_err.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h -x509_err.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -x509_err.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -x509_err.o: ../../include/openssl/err.h ../../include/openssl/evp.h -x509_err.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -x509_err.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +x509_err.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +x509_err.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +x509_err.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h +x509_err.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +x509_err.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +x509_err.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +x509_err.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +x509_err.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +x509_err.o: ../../include/openssl/opensslconf.h x509_err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509_err.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h x509_err.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -185,13 +198,15 @@ x509_err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509_err.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509_err.o: x509_err.c x509_ext.o: ../../e_os.h ../../include/openssl/asn1.h -x509_ext.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509_ext.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -x509_ext.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -x509_ext.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -x509_ext.o: ../../include/openssl/err.h ../../include/openssl/evp.h -x509_ext.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -x509_ext.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +x509_ext.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509_ext.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509_ext.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +x509_ext.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +x509_ext.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +x509_ext.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +x509_ext.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +x509_ext.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +x509_ext.o: ../../include/openssl/opensslconf.h x509_ext.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509_ext.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h x509_ext.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -199,27 +214,30 @@ x509_ext.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509_ext.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509_ext.o: ../../include/openssl/x509v3.h ../cryptlib.h x509_ext.c x509_lu.o: ../../e_os.h ../../include/openssl/asn1.h -x509_lu.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509_lu.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -x509_lu.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -x509_lu.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -x509_lu.o: ../../include/openssl/err.h ../../include/openssl/evp.h -x509_lu.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -x509_lu.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h -x509_lu.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -x509_lu.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -x509_lu.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -x509_lu.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -x509_lu.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -x509_lu.o: ../../include/openssl/x509v3.h ../cryptlib.h x509_lu.c +x509_lu.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509_lu.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509_lu.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +x509_lu.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +x509_lu.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +x509_lu.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +x509_lu.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +x509_lu.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +x509_lu.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +x509_lu.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h +x509_lu.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +x509_lu.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +x509_lu.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +x509_lu.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h +x509_lu.o: ../cryptlib.h x509_lu.c x509_obj.o: ../../e_os.h ../../include/openssl/asn1.h -x509_obj.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509_obj.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -x509_obj.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -x509_obj.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -x509_obj.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -x509_obj.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -x509_obj.o: ../../include/openssl/opensslconf.h +x509_obj.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509_obj.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509_obj.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +x509_obj.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x509_obj.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +x509_obj.o: ../../include/openssl/err.h ../../include/openssl/evp.h +x509_obj.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +x509_obj.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h x509_obj.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509_obj.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h x509_obj.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -227,13 +245,14 @@ x509_obj.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509_obj.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509_obj.o: ../cryptlib.h x509_obj.c x509_r2x.o: ../../e_os.h ../../include/openssl/asn1.h -x509_r2x.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509_r2x.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -x509_r2x.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -x509_r2x.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -x509_r2x.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -x509_r2x.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -x509_r2x.o: ../../include/openssl/opensslconf.h +x509_r2x.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509_r2x.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509_r2x.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +x509_r2x.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x509_r2x.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +x509_r2x.o: ../../include/openssl/err.h ../../include/openssl/evp.h +x509_r2x.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +x509_r2x.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h x509_r2x.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509_r2x.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h x509_r2x.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -241,13 +260,14 @@ x509_r2x.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509_r2x.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509_r2x.o: ../cryptlib.h x509_r2x.c x509_req.o: ../../e_os.h ../../include/openssl/asn1.h -x509_req.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509_req.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -x509_req.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -x509_req.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -x509_req.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -x509_req.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -x509_req.o: ../../include/openssl/opensslconf.h +x509_req.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509_req.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509_req.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +x509_req.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x509_req.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +x509_req.o: ../../include/openssl/err.h ../../include/openssl/evp.h +x509_req.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +x509_req.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h x509_req.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509_req.o: ../../include/openssl/pem.h ../../include/openssl/pem2.h x509_req.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h @@ -256,13 +276,14 @@ x509_req.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509_req.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509_req.o: ../cryptlib.h x509_req.c x509_set.o: ../../e_os.h ../../include/openssl/asn1.h -x509_set.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509_set.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -x509_set.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -x509_set.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -x509_set.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -x509_set.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -x509_set.o: ../../include/openssl/opensslconf.h +x509_set.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509_set.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509_set.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +x509_set.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x509_set.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +x509_set.o: ../../include/openssl/err.h ../../include/openssl/evp.h +x509_set.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +x509_set.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h x509_set.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509_set.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h x509_set.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -270,13 +291,15 @@ x509_set.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509_set.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509_set.o: ../cryptlib.h x509_set.c x509_trs.o: ../../e_os.h ../../include/openssl/asn1.h -x509_trs.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509_trs.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -x509_trs.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -x509_trs.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -x509_trs.o: ../../include/openssl/err.h ../../include/openssl/evp.h -x509_trs.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -x509_trs.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +x509_trs.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509_trs.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509_trs.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +x509_trs.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +x509_trs.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +x509_trs.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +x509_trs.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +x509_trs.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +x509_trs.o: ../../include/openssl/opensslconf.h x509_trs.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509_trs.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h x509_trs.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -284,13 +307,14 @@ x509_trs.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509_trs.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509_trs.o: ../../include/openssl/x509v3.h ../cryptlib.h x509_trs.c x509_txt.o: ../../e_os.h ../../include/openssl/asn1.h -x509_txt.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509_txt.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -x509_txt.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -x509_txt.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -x509_txt.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -x509_txt.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -x509_txt.o: ../../include/openssl/opensslconf.h +x509_txt.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509_txt.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509_txt.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +x509_txt.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x509_txt.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +x509_txt.o: ../../include/openssl/err.h ../../include/openssl/evp.h +x509_txt.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +x509_txt.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h x509_txt.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509_txt.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h x509_txt.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -298,27 +322,31 @@ x509_txt.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509_txt.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509_txt.o: ../cryptlib.h x509_txt.c x509_v3.o: ../../e_os.h ../../include/openssl/asn1.h -x509_v3.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509_v3.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -x509_v3.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -x509_v3.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -x509_v3.o: ../../include/openssl/err.h ../../include/openssl/evp.h -x509_v3.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -x509_v3.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h -x509_v3.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -x509_v3.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -x509_v3.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -x509_v3.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -x509_v3.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -x509_v3.o: ../../include/openssl/x509v3.h ../cryptlib.h x509_v3.c +x509_v3.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509_v3.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509_v3.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +x509_v3.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +x509_v3.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +x509_v3.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +x509_v3.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +x509_v3.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +x509_v3.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +x509_v3.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h +x509_v3.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +x509_v3.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +x509_v3.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +x509_v3.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h +x509_v3.o: ../cryptlib.h x509_v3.c x509_vfy.o: ../../e_os.h ../../include/openssl/asn1.h -x509_vfy.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509_vfy.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -x509_vfy.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -x509_vfy.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -x509_vfy.o: ../../include/openssl/err.h ../../include/openssl/evp.h -x509_vfy.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -x509_vfy.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +x509_vfy.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509_vfy.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509_vfy.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +x509_vfy.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +x509_vfy.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +x509_vfy.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +x509_vfy.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +x509_vfy.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +x509_vfy.o: ../../include/openssl/opensslconf.h x509_vfy.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509_vfy.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h x509_vfy.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -326,13 +354,14 @@ x509_vfy.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509_vfy.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509_vfy.o: ../../include/openssl/x509v3.h ../cryptlib.h x509_vfy.c x509cset.o: ../../e_os.h ../../include/openssl/asn1.h -x509cset.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509cset.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -x509cset.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -x509cset.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -x509cset.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -x509cset.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -x509cset.o: ../../include/openssl/opensslconf.h +x509cset.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509cset.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509cset.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +x509cset.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x509cset.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +x509cset.o: ../../include/openssl/err.h ../../include/openssl/evp.h +x509cset.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +x509cset.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h x509cset.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509cset.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h x509cset.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -340,13 +369,14 @@ x509cset.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509cset.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509cset.o: ../cryptlib.h x509cset.c x509name.o: ../../e_os.h ../../include/openssl/asn1.h -x509name.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509name.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -x509name.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -x509name.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -x509name.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -x509name.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -x509name.o: ../../include/openssl/opensslconf.h +x509name.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509name.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509name.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +x509name.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x509name.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +x509name.o: ../../include/openssl/err.h ../../include/openssl/evp.h +x509name.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +x509name.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h x509name.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509name.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h x509name.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -354,13 +384,14 @@ x509name.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509name.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509name.o: ../cryptlib.h x509name.c x509rset.o: ../../e_os.h ../../include/openssl/asn1.h -x509rset.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509rset.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -x509rset.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -x509rset.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -x509rset.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -x509rset.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -x509rset.o: ../../include/openssl/opensslconf.h +x509rset.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509rset.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509rset.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +x509rset.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x509rset.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +x509rset.o: ../../include/openssl/err.h ../../include/openssl/evp.h +x509rset.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +x509rset.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h x509rset.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509rset.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h x509rset.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -368,13 +399,14 @@ x509rset.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509rset.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509rset.o: ../cryptlib.h x509rset.c x509spki.o: ../../e_os.h ../../include/openssl/asn1.h -x509spki.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509spki.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -x509spki.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -x509spki.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -x509spki.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -x509spki.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -x509spki.o: ../../include/openssl/opensslconf.h +x509spki.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509spki.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509spki.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +x509spki.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x509spki.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +x509spki.o: ../../include/openssl/err.h ../../include/openssl/evp.h +x509spki.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +x509spki.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h x509spki.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509spki.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h x509spki.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -382,23 +414,26 @@ x509spki.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509spki.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509spki.o: ../cryptlib.h x509spki.c x509type.o: ../../e_os.h ../../include/openssl/asn1.h -x509type.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -x509type.o: ../../include/openssl/buffer.h ../../include/openssl/crypto.h -x509type.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -x509type.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -x509type.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -x509type.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -x509type.o: ../../include/openssl/opensslconf.h +x509type.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +x509type.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +x509type.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +x509type.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x509type.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +x509type.o: ../../include/openssl/err.h ../../include/openssl/evp.h +x509type.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +x509type.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h x509type.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h x509type.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h x509type.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h x509type.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h x509type.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h x509type.o: ../cryptlib.h x509type.c -x_all.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +x_all.o: ../../e_os.h ../../include/openssl/asn1.h +x_all.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h x_all.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h x_all.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h x_all.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +x_all.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h x_all.o: ../../include/openssl/err.h ../../include/openssl/evp.h x_all.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h x_all.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h diff --git a/crypto/x509/x509.h b/crypto/x509/x509.h index c75aa0c717..7687e3bf2e 100644 --- a/crypto/x509/x509.h +++ b/crypto/x509/x509.h @@ -81,6 +81,10 @@ #include #endif +#ifndef OPENSSL_NO_ECDSA +#include +#endif + #ifndef OPENSSL_NO_DH #include #endif @@ -652,6 +656,17 @@ extern "C" { #define i2d_DSAPrivateKey_bio(bp,dsa) ASN1_i2d_bio(i2d_DSAPrivateKey,bp, \ (unsigned char *)dsa) +#define d2i_ECDSAPrivateKey_fp(fp,ecdsa) (ECDSA *)ASN1_d2i_fp((char *(*)())\ + ECDSA_new,(char *(*)())d2i_ECDSAPrivateKey, (fp), \ + (unsigned char **)(ecdsa)) +#define i2d_ECDSAPrivateKey_fp(fp,ecdsa) ASN1_i2d_fp(i2d_ECDSAPrivateKey,fp, \ + (unsigned char *)ecdsa) +#define d2i_ECDSAPrivateKey_bio(bp,ecdsa) (ECDSA *)ASN1_d2i_bio((char *(*)())\ + ECDSA_new,(char *(*)())d2i_ECDSAPrivateKey, (bp), \ + (unsigned char **)(ecdsa)) +#define i2d_ECDSAPrivateKey_bio(bp,ecdsa) ASN1_i2d_bio(i2d_ECDSAPrivateKey,bp, \ + (unsigned char *)ecdsa) + #define X509_ALGOR_dup(xn) (X509_ALGOR *)ASN1_dup((int (*)())i2d_X509_ALGOR,\ (char *(*)())d2i_X509_ALGOR,(char *)xn) @@ -755,6 +770,12 @@ int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa); DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa); int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa); #endif +#ifndef OPENSSL_NO_ECDSA +ECDSA *d2i_ECDSA_PUBKEY_fp(FILE *fp, ECDSA **ecdsa); +int i2d_ECDSA_PUBKEY_fp(FILE *fp, ECDSA *ecdsa); +ECDSA *d2i_ECDSAPrivateKey_fp(FILE *fp, ECDSA **ecdsa); +int i2d_ECDSAPrivateKey_fp(FILE *fp, ECDSA *ecdsa); +#endif X509_SIG *d2i_PKCS8_fp(FILE *fp,X509_SIG **p8); int i2d_PKCS8_fp(FILE *fp,X509_SIG *p8); PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, @@ -788,6 +809,12 @@ int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa); DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa); int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa); #endif +#ifndef OPENSSL_NO_ECDSA +ECDSA *d2i_ECDSA_PUBKEY_bio(BIO *bp, ECDSA **ecdsa); +int i2d_ECDSA_PUBKEY_bio(BIO *bp, ECDSA *ecdsa); +ECDSA *d2i_ECDSAPrivateKey_bio(BIO *bp, ECDSA **ecdsa); +int i2d_ECDSAPrivateKey_bio(BIO *bp, ECDSA *ecdsa); +#endif X509_SIG *d2i_PKCS8_bio(BIO *bp,X509_SIG **p8); int i2d_PKCS8_bio(BIO *bp,X509_SIG *p8); PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, @@ -852,6 +879,11 @@ int i2d_DSA_PUBKEY(DSA *a,unsigned char **pp); DSA * d2i_DSA_PUBKEY(DSA **a,unsigned char **pp, long length); #endif +#ifndef OPENSSL_NO_ECDSA +int i2d_ECDSA_PUBKEY(ECDSA *a, unsigned char **pp); +ECDSA *d2i_ECDSA_PUBKEY(ECDSA **a, unsigned char **pp, + long length); +#endif DECLARE_ASN1_FUNCTIONS(X509_SIG) DECLARE_ASN1_FUNCTIONS(X509_REQ_INFO) diff --git a/crypto/x509/x509_cmp.c b/crypto/x509/x509_cmp.c index cd20b6d66f..dbbe0a9236 100644 --- a/crypto/x509/x509_cmp.c +++ b/crypto/x509/x509_cmp.c @@ -295,6 +295,22 @@ int X509_check_private_key(X509 *x, EVP_PKEY *k) } break; #endif +#ifndef OPENSSL_NO_ECDSA + case EVP_PKEY_ECDSA: + { + int r = EC_POINT_cmp(xk->pkey.ecdsa->group,xk->pkey.ecdsa->pub_key,k->pkey.ecdsa->pub_key,NULL); + if (r != 0) + { + if (r == 1) + X509err(X509_F_X509_CHECK_PRIVATE_KEY, X509_R_KEY_VALUES_MISMATCH); + else + X509err(X509_F_X509_CHECK_PRIVATE_KEY, ERR_R_EC_LIB); + + goto err; + } + } + break; +#endif #ifndef OPENSSL_NO_DH case EVP_PKEY_DH: /* No idea */ diff --git a/crypto/x509/x509type.c b/crypto/x509/x509type.c index 8e78b34458..7673c1ba03 100644 --- a/crypto/x509/x509type.c +++ b/crypto/x509/x509type.c @@ -86,6 +86,9 @@ int X509_certificate_type(X509 *x, EVP_PKEY *pkey) case EVP_PKEY_DSA: ret=EVP_PK_DSA|EVP_PKT_SIGN; break; + case EVP_PKEY_ECDSA: + ret=EVP_PK_ECDSA|EVP_PKT_SIGN; + break; case EVP_PKEY_DH: ret=EVP_PK_DH|EVP_PKT_EXCH; break; @@ -102,6 +105,9 @@ int X509_certificate_type(X509 *x, EVP_PKEY *pkey) case EVP_PKS_DSA: ret|=EVP_PKS_DSA; break; + case EVP_PKS_ECDSA: + ret|=EVP_PKS_ECDSA; + break; default: break; } diff --git a/crypto/x509/x_all.c b/crypto/x509/x_all.c index fb5015cd4d..cc1ff90e9a 100644 --- a/crypto/x509/x_all.c +++ b/crypto/x509/x_all.c @@ -325,6 +325,59 @@ int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa) #endif +#ifndef OPENSSL_NO_ECDSA +#ifndef OPENSSL_NO_FP_API +ECDSA *d2i_ECDSAPrivateKey_fp(FILE *fp, ECDSA **ecdsa) + { + return((ECDSA *)ASN1_d2i_fp((char *(*)()) + ECDSA_new,(char *(*)())d2i_ECDSAPrivateKey, (fp), + (unsigned char **)(ecdsa))); + } + +int i2d_ECDSAPrivateKey_fp(FILE *fp, ECDSA *ecdsa) + { + return(ASN1_i2d_fp(i2d_ECDSAPrivateKey,fp,(unsigned char *)ecdsa)); + } + +ECDSA *d2i_ECDSA_PUBKEY_fp(FILE *fp, ECDSA **ecdsa) + { + return((ECDSA *)ASN1_d2i_fp((char *(*)()) + ECDSA_new,(char *(*)())d2i_ECDSA_PUBKEY, (fp), + (unsigned char **)(ecdsa))); + } + +int i2d_ECDSA_PUBKEY_fp(FILE *fp, ECDSA *ecdsa) + { + return(ASN1_i2d_fp(i2d_ECDSA_PUBKEY,fp,(unsigned char *)ecdsa)); + } +#endif + +ECDSA *d2i_ECDSAPrivateKey_bio(BIO *bp, ECDSA **ecdsa) + { + return((ECDSA *)ASN1_d2i_bio((char *(*)()) + ECDSA_new,(char *(*)())d2i_ECDSAPrivateKey, (bp), + (unsigned char **)(ecdsa))); + } + +int i2d_ECDSAPrivateKey_bio(BIO *bp, ECDSA *ecdsa) + { + return(ASN1_i2d_bio(i2d_ECDSAPrivateKey,bp,(unsigned char *)ecdsa)); + } + +ECDSA *d2i_ECDSA_PUBKEY_bio(BIO *bp, ECDSA **ecdsa) + { + return((ECDSA *)ASN1_d2i_bio((char *(*)()) + ECDSA_new,(char *(*)())d2i_ECDSA_PUBKEY, (bp), + (unsigned char **)(ecdsa))); + } + +int i2d_ECDSA_PUBKEY_bio(BIO *bp, ECDSA *ecdsa) + { + return(ASN1_i2d_bio(i2d_ECDSA_PUBKEY,bp,(unsigned char *)ecdsa)); + } + +#endif + int X509_pubkey_digest(const X509 *data, const EVP_MD *type, unsigned char *md, unsigned int *len) { diff --git a/crypto/x509v3/Makefile.ssl b/crypto/x509v3/Makefile.ssl index da7c859476..61ad31469d 100644 --- a/crypto/x509v3/Makefile.ssl +++ b/crypto/x509v3/Makefile.ssl @@ -90,7 +90,8 @@ v3_akey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h v3_akey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h v3_akey.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h v3_akey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3_akey.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +v3_akey.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_akey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h v3_akey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h v3_akey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h v3_akey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h @@ -105,7 +106,8 @@ v3_akeya.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h v3_akeya.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h v3_akeya.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h v3_akeya.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3_akeya.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +v3_akeya.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_akeya.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h v3_akeya.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h v3_akeya.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h v3_akeya.o: ../../include/openssl/opensslconf.h @@ -115,11 +117,13 @@ v3_akeya.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h v3_akeya.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h v3_akeya.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h v3_akeya.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_akeya.c -v3_alt.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +v3_alt.o: ../../e_os.h ../../include/openssl/asn1.h +v3_alt.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h v3_alt.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h v3_alt.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h v3_alt.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3_alt.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +v3_alt.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_alt.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h v3_alt.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h v3_alt.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h v3_alt.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h @@ -134,7 +138,8 @@ v3_bcons.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h v3_bcons.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h v3_bcons.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h v3_bcons.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3_bcons.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +v3_bcons.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_bcons.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h v3_bcons.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h v3_bcons.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h v3_bcons.o: ../../include/openssl/opensslconf.h @@ -145,13 +150,15 @@ v3_bcons.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h v3_bcons.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h v3_bcons.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_bcons.c v3_bitst.o: ../../e_os.h ../../include/openssl/asn1.h -v3_bitst.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -v3_bitst.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -v3_bitst.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -v3_bitst.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -v3_bitst.o: ../../include/openssl/err.h ../../include/openssl/evp.h -v3_bitst.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -v3_bitst.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +v3_bitst.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +v3_bitst.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +v3_bitst.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +v3_bitst.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +v3_bitst.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_bitst.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +v3_bitst.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +v3_bitst.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +v3_bitst.o: ../../include/openssl/opensslconf.h v3_bitst.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h v3_bitst.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h v3_bitst.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h @@ -159,25 +166,28 @@ v3_bitst.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h v3_bitst.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h v3_bitst.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_bitst.c v3_conf.o: ../../e_os.h ../../include/openssl/asn1.h -v3_conf.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -v3_conf.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -v3_conf.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -v3_conf.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -v3_conf.o: ../../include/openssl/err.h ../../include/openssl/evp.h -v3_conf.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -v3_conf.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h -v3_conf.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -v3_conf.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -v3_conf.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -v3_conf.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -v3_conf.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -v3_conf.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_conf.c +v3_conf.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +v3_conf.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +v3_conf.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +v3_conf.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +v3_conf.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_conf.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +v3_conf.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +v3_conf.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +v3_conf.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +v3_conf.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h +v3_conf.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +v3_conf.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +v3_conf.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +v3_conf.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h +v3_conf.o: ../cryptlib.h v3_conf.c v3_cpols.o: ../../e_os.h ../../include/openssl/asn1.h v3_cpols.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h v3_cpols.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h v3_cpols.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h v3_cpols.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3_cpols.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +v3_cpols.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_cpols.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h v3_cpols.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h v3_cpols.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h v3_cpols.o: ../../include/openssl/opensslconf.h @@ -192,7 +202,8 @@ v3_crld.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h v3_crld.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h v3_crld.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h v3_crld.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3_crld.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +v3_crld.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_crld.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h v3_crld.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h v3_crld.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h v3_crld.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h @@ -203,25 +214,28 @@ v3_crld.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h v3_crld.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h v3_crld.o: ../cryptlib.h v3_crld.c v3_enum.o: ../../e_os.h ../../include/openssl/asn1.h -v3_enum.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -v3_enum.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -v3_enum.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -v3_enum.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -v3_enum.o: ../../include/openssl/err.h ../../include/openssl/evp.h -v3_enum.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -v3_enum.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h -v3_enum.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -v3_enum.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -v3_enum.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -v3_enum.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -v3_enum.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -v3_enum.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_enum.c +v3_enum.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +v3_enum.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +v3_enum.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +v3_enum.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +v3_enum.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_enum.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +v3_enum.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +v3_enum.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +v3_enum.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +v3_enum.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h +v3_enum.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +v3_enum.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +v3_enum.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +v3_enum.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h +v3_enum.o: ../cryptlib.h v3_enum.c v3_extku.o: ../../e_os.h ../../include/openssl/asn1.h v3_extku.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h v3_extku.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h v3_extku.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h v3_extku.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3_extku.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +v3_extku.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_extku.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h v3_extku.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h v3_extku.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h v3_extku.o: ../../include/openssl/opensslconf.h @@ -236,7 +250,8 @@ v3_genn.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h v3_genn.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h v3_genn.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h v3_genn.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3_genn.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +v3_genn.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_genn.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h v3_genn.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h v3_genn.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h v3_genn.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h @@ -246,11 +261,13 @@ v3_genn.o: ../../include/openssl/sha.h ../../include/openssl/stack.h v3_genn.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h v3_genn.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h v3_genn.o: ../cryptlib.h v3_genn.c -v3_ia5.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +v3_ia5.o: ../../e_os.h ../../include/openssl/asn1.h +v3_ia5.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h v3_ia5.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h v3_ia5.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h v3_ia5.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3_ia5.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +v3_ia5.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_ia5.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h v3_ia5.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h v3_ia5.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h v3_ia5.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h @@ -265,7 +282,8 @@ v3_info.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h v3_info.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h v3_info.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h v3_info.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3_info.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +v3_info.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_info.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h v3_info.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h v3_info.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h v3_info.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h @@ -275,11 +293,13 @@ v3_info.o: ../../include/openssl/sha.h ../../include/openssl/stack.h v3_info.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h v3_info.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h v3_info.o: ../cryptlib.h v3_info.c -v3_int.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +v3_int.o: ../../e_os.h ../../include/openssl/asn1.h +v3_int.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h v3_int.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h v3_int.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h v3_int.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3_int.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +v3_int.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_int.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h v3_int.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h v3_int.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h v3_int.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h @@ -289,11 +309,13 @@ v3_int.o: ../../include/openssl/sha.h ../../include/openssl/stack.h v3_int.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h v3_int.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h v3_int.o: ../cryptlib.h v3_int.c -v3_lib.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +v3_lib.o: ../../e_os.h ../../include/openssl/asn1.h +v3_lib.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h v3_lib.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h v3_lib.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h v3_lib.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +v3_lib.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_lib.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h v3_lib.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h v3_lib.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h v3_lib.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h @@ -304,26 +326,28 @@ v3_lib.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h v3_lib.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h v3_lib.o: ../cryptlib.h ext_dat.h v3_lib.c v3_ocsp.o: ../../e_os.h ../../include/openssl/asn1.h -v3_ocsp.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -v3_ocsp.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -v3_ocsp.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -v3_ocsp.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -v3_ocsp.o: ../../include/openssl/err.h ../../include/openssl/evp.h -v3_ocsp.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -v3_ocsp.o: ../../include/openssl/objects.h ../../include/openssl/ocsp.h -v3_ocsp.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -v3_ocsp.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h -v3_ocsp.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -v3_ocsp.o: ../../include/openssl/sha.h ../../include/openssl/stack.h -v3_ocsp.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h -v3_ocsp.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h -v3_ocsp.o: ../cryptlib.h v3_ocsp.c +v3_ocsp.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +v3_ocsp.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +v3_ocsp.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +v3_ocsp.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +v3_ocsp.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_ocsp.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +v3_ocsp.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +v3_ocsp.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +v3_ocsp.o: ../../include/openssl/ocsp.h ../../include/openssl/opensslconf.h +v3_ocsp.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +v3_ocsp.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h +v3_ocsp.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +v3_ocsp.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +v3_ocsp.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h +v3_ocsp.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_ocsp.c v3_pku.o: ../../e_os.h ../../include/openssl/asn1.h v3_pku.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h v3_pku.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h v3_pku.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h v3_pku.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3_pku.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +v3_pku.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_pku.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h v3_pku.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h v3_pku.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h v3_pku.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h @@ -333,11 +357,13 @@ v3_pku.o: ../../include/openssl/sha.h ../../include/openssl/stack.h v3_pku.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h v3_pku.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h v3_pku.o: ../cryptlib.h v3_pku.c -v3_prn.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +v3_prn.o: ../../e_os.h ../../include/openssl/asn1.h +v3_prn.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h v3_prn.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h v3_prn.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h v3_prn.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3_prn.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +v3_prn.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_prn.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h v3_prn.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h v3_prn.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h v3_prn.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h @@ -348,39 +374,44 @@ v3_prn.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h v3_prn.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h v3_prn.o: ../cryptlib.h v3_prn.c v3_purp.o: ../../e_os.h ../../include/openssl/asn1.h -v3_purp.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -v3_purp.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -v3_purp.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -v3_purp.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -v3_purp.o: ../../include/openssl/err.h ../../include/openssl/evp.h -v3_purp.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -v3_purp.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h -v3_purp.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -v3_purp.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -v3_purp.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -v3_purp.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -v3_purp.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -v3_purp.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_purp.c +v3_purp.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +v3_purp.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +v3_purp.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +v3_purp.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +v3_purp.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_purp.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +v3_purp.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +v3_purp.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +v3_purp.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +v3_purp.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h +v3_purp.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +v3_purp.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +v3_purp.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +v3_purp.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h +v3_purp.o: ../cryptlib.h v3_purp.c v3_skey.o: ../../e_os.h ../../include/openssl/asn1.h -v3_skey.o: ../../include/openssl/bio.h ../../include/openssl/bn.h -v3_skey.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h -v3_skey.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h -v3_skey.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h -v3_skey.o: ../../include/openssl/err.h ../../include/openssl/evp.h -v3_skey.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h -v3_skey.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h -v3_skey.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h -v3_skey.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h -v3_skey.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h -v3_skey.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h -v3_skey.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h -v3_skey.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_skey.c +v3_skey.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h +v3_skey.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h +v3_skey.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h +v3_skey.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h +v3_skey.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_skey.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h +v3_skey.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h +v3_skey.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h +v3_skey.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h +v3_skey.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h +v3_skey.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h +v3_skey.o: ../../include/openssl/sha.h ../../include/openssl/stack.h +v3_skey.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h +v3_skey.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h +v3_skey.o: ../cryptlib.h v3_skey.c v3_sxnet.o: ../../e_os.h ../../include/openssl/asn1.h v3_sxnet.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h v3_sxnet.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h v3_sxnet.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h v3_sxnet.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3_sxnet.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +v3_sxnet.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_sxnet.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h v3_sxnet.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h v3_sxnet.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h v3_sxnet.o: ../../include/openssl/opensslconf.h @@ -390,11 +421,13 @@ v3_sxnet.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h v3_sxnet.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h v3_sxnet.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h v3_sxnet.o: ../../include/openssl/x509v3.h ../cryptlib.h v3_sxnet.c -v3_utl.o: ../../e_os.h ../../include/openssl/asn1.h ../../include/openssl/bio.h +v3_utl.o: ../../e_os.h ../../include/openssl/asn1.h +v3_utl.o: ../../include/openssl/asn1t.h ../../include/openssl/bio.h v3_utl.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h v3_utl.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h v3_utl.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3_utl.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h +v3_utl.o: ../../include/openssl/e_os2.h ../../include/openssl/ec.h +v3_utl.o: ../../include/openssl/ecdsa.h ../../include/openssl/err.h v3_utl.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h v3_utl.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h v3_utl.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h @@ -404,17 +437,18 @@ v3_utl.o: ../../include/openssl/sha.h ../../include/openssl/stack.h v3_utl.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h v3_utl.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h v3_utl.o: ../cryptlib.h v3_utl.c -v3err.o: ../../include/openssl/asn1.h ../../include/openssl/bio.h -v3err.o: ../../include/openssl/bn.h ../../include/openssl/buffer.h -v3err.o: ../../include/openssl/conf.h ../../include/openssl/crypto.h -v3err.o: ../../include/openssl/dh.h ../../include/openssl/dsa.h -v3err.o: ../../include/openssl/e_os2.h ../../include/openssl/err.h -v3err.o: ../../include/openssl/evp.h ../../include/openssl/lhash.h -v3err.o: ../../include/openssl/obj_mac.h ../../include/openssl/objects.h -v3err.o: ../../include/openssl/opensslconf.h ../../include/openssl/opensslv.h -v3err.o: ../../include/openssl/ossl_typ.h ../../include/openssl/pkcs7.h -v3err.o: ../../include/openssl/rsa.h ../../include/openssl/safestack.h -v3err.o: ../../include/openssl/sha.h ../../include/openssl/stack.h -v3err.o: ../../include/openssl/symhacks.h ../../include/openssl/x509.h -v3err.o: ../../include/openssl/x509_vfy.h ../../include/openssl/x509v3.h -v3err.o: v3err.c +v3err.o: ../../include/openssl/asn1.h ../../include/openssl/asn1t.h +v3err.o: ../../include/openssl/bio.h ../../include/openssl/bn.h +v3err.o: ../../include/openssl/buffer.h ../../include/openssl/conf.h +v3err.o: ../../include/openssl/crypto.h ../../include/openssl/dh.h +v3err.o: ../../include/openssl/dsa.h ../../include/openssl/e_os2.h +v3err.o: ../../include/openssl/ec.h ../../include/openssl/ecdsa.h +v3err.o: ../../include/openssl/err.h ../../include/openssl/evp.h +v3err.o: ../../include/openssl/lhash.h ../../include/openssl/obj_mac.h +v3err.o: ../../include/openssl/objects.h ../../include/openssl/opensslconf.h +v3err.o: ../../include/openssl/opensslv.h ../../include/openssl/ossl_typ.h +v3err.o: ../../include/openssl/pkcs7.h ../../include/openssl/rsa.h +v3err.o: ../../include/openssl/safestack.h ../../include/openssl/sha.h +v3err.o: ../../include/openssl/stack.h ../../include/openssl/symhacks.h +v3err.o: ../../include/openssl/x509.h ../../include/openssl/x509_vfy.h +v3err.o: ../../include/openssl/x509v3.h v3err.c diff --git a/ssl/Makefile.ssl b/ssl/Makefile.ssl index 2a3f8406d8..b9e60f83a1 100644 --- a/ssl/Makefile.ssl +++ b/ssl/Makefile.ssl @@ -104,633 +104,688 @@ clean: # DO NOT DELETE THIS LINE -- make depend depends on it. -bio_ssl.o: ../include/openssl/asn1.h ../include/openssl/bio.h -bio_ssl.o: ../include/openssl/bn.h ../include/openssl/buffer.h -bio_ssl.o: ../include/openssl/comp.h ../include/openssl/crypto.h -bio_ssl.o: ../include/openssl/dh.h ../include/openssl/dsa.h -bio_ssl.o: ../include/openssl/e_os2.h ../include/openssl/err.h -bio_ssl.o: ../include/openssl/evp.h ../include/openssl/kssl.h -bio_ssl.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -bio_ssl.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -bio_ssl.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -bio_ssl.o: ../include/openssl/pem.h ../include/openssl/pem2.h -bio_ssl.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -bio_ssl.o: ../include/openssl/safestack.h ../include/openssl/sha.h -bio_ssl.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -bio_ssl.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -bio_ssl.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -bio_ssl.o: ../include/openssl/tls1.h ../include/openssl/x509.h -bio_ssl.o: ../include/openssl/x509_vfy.h bio_ssl.c -kssl.o: ../include/openssl/asn1.h ../include/openssl/bio.h -kssl.o: ../include/openssl/bn.h ../include/openssl/buffer.h -kssl.o: ../include/openssl/comp.h ../include/openssl/crypto.h -kssl.o: ../include/openssl/dh.h ../include/openssl/dsa.h -kssl.o: ../include/openssl/e_os2.h ../include/openssl/evp.h -kssl.o: ../include/openssl/krb5_asn.h ../include/openssl/kssl.h -kssl.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -kssl.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -kssl.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -kssl.o: ../include/openssl/pem.h ../include/openssl/pem2.h -kssl.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -kssl.o: ../include/openssl/safestack.h ../include/openssl/sha.h -kssl.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -kssl.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -kssl.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -kssl.o: ../include/openssl/tls1.h ../include/openssl/x509.h -kssl.o: ../include/openssl/x509_vfy.h kssl.c -s23_clnt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s23_clnt.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s23_clnt.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s23_clnt.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s23_clnt.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s23_clnt.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s23_clnt.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -s23_clnt.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -s23_clnt.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -s23_clnt.o: ../include/openssl/pem.h ../include/openssl/pem2.h -s23_clnt.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h -s23_clnt.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -s23_clnt.o: ../include/openssl/sha.h ../include/openssl/ssl.h -s23_clnt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h -s23_clnt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h -s23_clnt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h -s23_clnt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s23_clnt.c -s23_clnt.o: ssl_locl.h -s23_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s23_lib.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s23_lib.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s23_lib.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s23_lib.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s23_lib.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s23_lib.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -s23_lib.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -s23_lib.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -s23_lib.o: ../include/openssl/pem.h ../include/openssl/pem2.h -s23_lib.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -s23_lib.o: ../include/openssl/safestack.h ../include/openssl/sha.h -s23_lib.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -s23_lib.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -s23_lib.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -s23_lib.o: ../include/openssl/tls1.h ../include/openssl/x509.h -s23_lib.o: ../include/openssl/x509_vfy.h s23_lib.c ssl_locl.h -s23_meth.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s23_meth.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s23_meth.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s23_meth.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s23_meth.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s23_meth.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s23_meth.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -s23_meth.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -s23_meth.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -s23_meth.o: ../include/openssl/pem.h ../include/openssl/pem2.h -s23_meth.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -s23_meth.o: ../include/openssl/safestack.h ../include/openssl/sha.h -s23_meth.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -s23_meth.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -s23_meth.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -s23_meth.o: ../include/openssl/tls1.h ../include/openssl/x509.h -s23_meth.o: ../include/openssl/x509_vfy.h s23_meth.c ssl_locl.h -s23_pkt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s23_pkt.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s23_pkt.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s23_pkt.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s23_pkt.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s23_pkt.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s23_pkt.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -s23_pkt.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -s23_pkt.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -s23_pkt.o: ../include/openssl/pem.h ../include/openssl/pem2.h -s23_pkt.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -s23_pkt.o: ../include/openssl/safestack.h ../include/openssl/sha.h -s23_pkt.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -s23_pkt.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -s23_pkt.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -s23_pkt.o: ../include/openssl/tls1.h ../include/openssl/x509.h -s23_pkt.o: ../include/openssl/x509_vfy.h s23_pkt.c ssl_locl.h -s23_srvr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s23_srvr.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s23_srvr.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s23_srvr.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s23_srvr.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s23_srvr.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s23_srvr.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -s23_srvr.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -s23_srvr.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -s23_srvr.o: ../include/openssl/pem.h ../include/openssl/pem2.h -s23_srvr.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h -s23_srvr.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -s23_srvr.o: ../include/openssl/sha.h ../include/openssl/ssl.h -s23_srvr.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h -s23_srvr.o: ../include/openssl/ssl3.h ../include/openssl/stack.h -s23_srvr.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h -s23_srvr.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s23_srvr.c -s23_srvr.o: ssl_locl.h -s2_clnt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s2_clnt.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s2_clnt.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s2_clnt.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s2_clnt.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s2_clnt.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s2_clnt.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -s2_clnt.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -s2_clnt.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -s2_clnt.o: ../include/openssl/pem.h ../include/openssl/pem2.h -s2_clnt.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h -s2_clnt.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -s2_clnt.o: ../include/openssl/sha.h ../include/openssl/ssl.h -s2_clnt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h -s2_clnt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h -s2_clnt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h -s2_clnt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s2_clnt.c -s2_clnt.o: ssl_locl.h -s2_enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s2_enc.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s2_enc.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s2_enc.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s2_enc.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s2_enc.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s2_enc.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -s2_enc.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -s2_enc.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -s2_enc.o: ../include/openssl/pem.h ../include/openssl/pem2.h -s2_enc.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -s2_enc.o: ../include/openssl/safestack.h ../include/openssl/sha.h -s2_enc.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -s2_enc.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -s2_enc.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -s2_enc.o: ../include/openssl/tls1.h ../include/openssl/x509.h -s2_enc.o: ../include/openssl/x509_vfy.h s2_enc.c ssl_locl.h -s2_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s2_lib.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s2_lib.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s2_lib.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s2_lib.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s2_lib.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s2_lib.o: ../include/openssl/lhash.h ../include/openssl/md5.h -s2_lib.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h -s2_lib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -s2_lib.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h -s2_lib.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h -s2_lib.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -s2_lib.o: ../include/openssl/sha.h ../include/openssl/ssl.h -s2_lib.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h -s2_lib.o: ../include/openssl/ssl3.h ../include/openssl/stack.h -s2_lib.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h -s2_lib.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s2_lib.c -s2_lib.o: ssl_locl.h -s2_meth.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s2_meth.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s2_meth.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s2_meth.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s2_meth.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s2_meth.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s2_meth.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -s2_meth.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -s2_meth.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -s2_meth.o: ../include/openssl/pem.h ../include/openssl/pem2.h -s2_meth.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -s2_meth.o: ../include/openssl/safestack.h ../include/openssl/sha.h -s2_meth.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -s2_meth.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -s2_meth.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -s2_meth.o: ../include/openssl/tls1.h ../include/openssl/x509.h -s2_meth.o: ../include/openssl/x509_vfy.h s2_meth.c ssl_locl.h -s2_pkt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s2_pkt.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s2_pkt.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s2_pkt.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s2_pkt.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s2_pkt.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s2_pkt.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -s2_pkt.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -s2_pkt.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -s2_pkt.o: ../include/openssl/pem.h ../include/openssl/pem2.h -s2_pkt.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -s2_pkt.o: ../include/openssl/safestack.h ../include/openssl/sha.h -s2_pkt.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -s2_pkt.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -s2_pkt.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -s2_pkt.o: ../include/openssl/tls1.h ../include/openssl/x509.h -s2_pkt.o: ../include/openssl/x509_vfy.h s2_pkt.c ssl_locl.h -s2_srvr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s2_srvr.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s2_srvr.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s2_srvr.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s2_srvr.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s2_srvr.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s2_srvr.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -s2_srvr.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -s2_srvr.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -s2_srvr.o: ../include/openssl/pem.h ../include/openssl/pem2.h -s2_srvr.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h -s2_srvr.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -s2_srvr.o: ../include/openssl/sha.h ../include/openssl/ssl.h -s2_srvr.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h -s2_srvr.o: ../include/openssl/ssl3.h ../include/openssl/stack.h -s2_srvr.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h -s2_srvr.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s2_srvr.c -s2_srvr.o: ssl_locl.h -s3_both.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s3_both.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s3_both.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s3_both.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s3_both.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s3_both.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s3_both.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -s3_both.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -s3_both.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -s3_both.o: ../include/openssl/pem.h ../include/openssl/pem2.h -s3_both.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h -s3_both.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -s3_both.o: ../include/openssl/sha.h ../include/openssl/ssl.h -s3_both.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h -s3_both.o: ../include/openssl/ssl3.h ../include/openssl/stack.h -s3_both.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h -s3_both.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s3_both.c -s3_both.o: ssl_locl.h -s3_clnt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s3_clnt.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s3_clnt.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s3_clnt.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s3_clnt.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s3_clnt.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s3_clnt.o: ../include/openssl/lhash.h ../include/openssl/md5.h -s3_clnt.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h -s3_clnt.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -s3_clnt.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h -s3_clnt.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h -s3_clnt.o: ../include/openssl/rand.h ../include/openssl/rsa.h -s3_clnt.o: ../include/openssl/safestack.h ../include/openssl/sha.h -s3_clnt.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -s3_clnt.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -s3_clnt.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -s3_clnt.o: ../include/openssl/tls1.h ../include/openssl/x509.h -s3_clnt.o: ../include/openssl/x509_vfy.h kssl_lcl.h s3_clnt.c ssl_locl.h -s3_enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s3_enc.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s3_enc.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s3_enc.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s3_enc.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s3_enc.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s3_enc.o: ../include/openssl/lhash.h ../include/openssl/md5.h -s3_enc.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h -s3_enc.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -s3_enc.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h -s3_enc.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h -s3_enc.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -s3_enc.o: ../include/openssl/sha.h ../include/openssl/ssl.h -s3_enc.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h -s3_enc.o: ../include/openssl/ssl3.h ../include/openssl/stack.h -s3_enc.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h -s3_enc.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s3_enc.c -s3_enc.o: ssl_locl.h -s3_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s3_lib.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s3_lib.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s3_lib.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s3_lib.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s3_lib.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s3_lib.o: ../include/openssl/lhash.h ../include/openssl/md5.h -s3_lib.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h -s3_lib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -s3_lib.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h -s3_lib.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h -s3_lib.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -s3_lib.o: ../include/openssl/sha.h ../include/openssl/ssl.h -s3_lib.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h -s3_lib.o: ../include/openssl/ssl3.h ../include/openssl/stack.h -s3_lib.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h -s3_lib.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h kssl_lcl.h -s3_lib.o: s3_lib.c ssl_locl.h -s3_meth.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s3_meth.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s3_meth.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s3_meth.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s3_meth.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s3_meth.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s3_meth.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -s3_meth.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -s3_meth.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -s3_meth.o: ../include/openssl/pem.h ../include/openssl/pem2.h -s3_meth.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -s3_meth.o: ../include/openssl/safestack.h ../include/openssl/sha.h -s3_meth.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -s3_meth.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -s3_meth.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -s3_meth.o: ../include/openssl/tls1.h ../include/openssl/x509.h -s3_meth.o: ../include/openssl/x509_vfy.h s3_meth.c ssl_locl.h -s3_pkt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s3_pkt.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s3_pkt.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s3_pkt.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s3_pkt.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s3_pkt.o: ../include/openssl/evp.h ../include/openssl/kssl.h -s3_pkt.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -s3_pkt.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -s3_pkt.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -s3_pkt.o: ../include/openssl/pem.h ../include/openssl/pem2.h -s3_pkt.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -s3_pkt.o: ../include/openssl/safestack.h ../include/openssl/sha.h -s3_pkt.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -s3_pkt.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -s3_pkt.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -s3_pkt.o: ../include/openssl/tls1.h ../include/openssl/x509.h -s3_pkt.o: ../include/openssl/x509_vfy.h s3_pkt.c ssl_locl.h -s3_srvr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -s3_srvr.o: ../include/openssl/bn.h ../include/openssl/buffer.h -s3_srvr.o: ../include/openssl/comp.h ../include/openssl/crypto.h -s3_srvr.o: ../include/openssl/dh.h ../include/openssl/dsa.h -s3_srvr.o: ../include/openssl/e_os2.h ../include/openssl/err.h -s3_srvr.o: ../include/openssl/evp.h ../include/openssl/krb5_asn.h -s3_srvr.o: ../include/openssl/kssl.h ../include/openssl/lhash.h -s3_srvr.o: ../include/openssl/md5.h ../include/openssl/obj_mac.h -s3_srvr.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -s3_srvr.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -s3_srvr.o: ../include/openssl/pem.h ../include/openssl/pem2.h -s3_srvr.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h -s3_srvr.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -s3_srvr.o: ../include/openssl/sha.h ../include/openssl/ssl.h -s3_srvr.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h -s3_srvr.o: ../include/openssl/ssl3.h ../include/openssl/stack.h -s3_srvr.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h -s3_srvr.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h kssl_lcl.h -s3_srvr.o: s3_srvr.c ssl_locl.h -ssl_algs.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -ssl_algs.o: ../include/openssl/bn.h ../include/openssl/buffer.h -ssl_algs.o: ../include/openssl/comp.h ../include/openssl/crypto.h -ssl_algs.o: ../include/openssl/dh.h ../include/openssl/dsa.h -ssl_algs.o: ../include/openssl/e_os2.h ../include/openssl/err.h -ssl_algs.o: ../include/openssl/evp.h ../include/openssl/kssl.h -ssl_algs.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -ssl_algs.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -ssl_algs.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -ssl_algs.o: ../include/openssl/pem.h ../include/openssl/pem2.h -ssl_algs.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -ssl_algs.o: ../include/openssl/safestack.h ../include/openssl/sha.h -ssl_algs.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -ssl_algs.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -ssl_algs.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -ssl_algs.o: ../include/openssl/tls1.h ../include/openssl/x509.h -ssl_algs.o: ../include/openssl/x509_vfy.h ssl_algs.c ssl_locl.h +bio_ssl.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h +bio_ssl.o: ../include/openssl/bio.h ../include/openssl/bn.h +bio_ssl.o: ../include/openssl/buffer.h ../include/openssl/comp.h +bio_ssl.o: ../include/openssl/crypto.h ../include/openssl/dh.h +bio_ssl.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +bio_ssl.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +bio_ssl.o: ../include/openssl/err.h ../include/openssl/evp.h +bio_ssl.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +bio_ssl.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +bio_ssl.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +bio_ssl.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +bio_ssl.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +bio_ssl.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +bio_ssl.o: ../include/openssl/sha.h ../include/openssl/ssl.h +bio_ssl.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +bio_ssl.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +bio_ssl.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +bio_ssl.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h bio_ssl.c +kssl.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h +kssl.o: ../include/openssl/bio.h ../include/openssl/bn.h +kssl.o: ../include/openssl/buffer.h ../include/openssl/comp.h +kssl.o: ../include/openssl/crypto.h ../include/openssl/dh.h +kssl.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +kssl.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +kssl.o: ../include/openssl/evp.h ../include/openssl/krb5_asn.h +kssl.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +kssl.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +kssl.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +kssl.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +kssl.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +kssl.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +kssl.o: ../include/openssl/sha.h ../include/openssl/ssl.h +kssl.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +kssl.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +kssl.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +kssl.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h kssl.c +s23_clnt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s23_clnt.o: ../include/openssl/bio.h ../include/openssl/bn.h +s23_clnt.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s23_clnt.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s23_clnt.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s23_clnt.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s23_clnt.o: ../include/openssl/err.h ../include/openssl/evp.h +s23_clnt.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s23_clnt.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +s23_clnt.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +s23_clnt.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +s23_clnt.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +s23_clnt.o: ../include/openssl/rand.h ../include/openssl/rsa.h +s23_clnt.o: ../include/openssl/safestack.h ../include/openssl/sha.h +s23_clnt.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h +s23_clnt.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h +s23_clnt.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +s23_clnt.o: ../include/openssl/tls1.h ../include/openssl/x509.h +s23_clnt.o: ../include/openssl/x509_vfy.h s23_clnt.c ssl_locl.h +s23_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s23_lib.o: ../include/openssl/bio.h ../include/openssl/bn.h +s23_lib.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s23_lib.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s23_lib.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s23_lib.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s23_lib.o: ../include/openssl/err.h ../include/openssl/evp.h +s23_lib.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s23_lib.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +s23_lib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +s23_lib.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +s23_lib.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +s23_lib.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +s23_lib.o: ../include/openssl/sha.h ../include/openssl/ssl.h +s23_lib.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +s23_lib.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +s23_lib.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +s23_lib.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s23_lib.c +s23_lib.o: ssl_locl.h +s23_meth.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s23_meth.o: ../include/openssl/bio.h ../include/openssl/bn.h +s23_meth.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s23_meth.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s23_meth.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s23_meth.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s23_meth.o: ../include/openssl/err.h ../include/openssl/evp.h +s23_meth.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s23_meth.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +s23_meth.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +s23_meth.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +s23_meth.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +s23_meth.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +s23_meth.o: ../include/openssl/sha.h ../include/openssl/ssl.h +s23_meth.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +s23_meth.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +s23_meth.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +s23_meth.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s23_meth.c +s23_meth.o: ssl_locl.h +s23_pkt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s23_pkt.o: ../include/openssl/bio.h ../include/openssl/bn.h +s23_pkt.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s23_pkt.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s23_pkt.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s23_pkt.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s23_pkt.o: ../include/openssl/err.h ../include/openssl/evp.h +s23_pkt.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s23_pkt.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +s23_pkt.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +s23_pkt.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +s23_pkt.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +s23_pkt.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +s23_pkt.o: ../include/openssl/sha.h ../include/openssl/ssl.h +s23_pkt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +s23_pkt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +s23_pkt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +s23_pkt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s23_pkt.c +s23_pkt.o: ssl_locl.h +s23_srvr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s23_srvr.o: ../include/openssl/bio.h ../include/openssl/bn.h +s23_srvr.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s23_srvr.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s23_srvr.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s23_srvr.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s23_srvr.o: ../include/openssl/err.h ../include/openssl/evp.h +s23_srvr.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s23_srvr.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +s23_srvr.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +s23_srvr.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +s23_srvr.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +s23_srvr.o: ../include/openssl/rand.h ../include/openssl/rsa.h +s23_srvr.o: ../include/openssl/safestack.h ../include/openssl/sha.h +s23_srvr.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h +s23_srvr.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h +s23_srvr.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +s23_srvr.o: ../include/openssl/tls1.h ../include/openssl/x509.h +s23_srvr.o: ../include/openssl/x509_vfy.h s23_srvr.c ssl_locl.h +s2_clnt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s2_clnt.o: ../include/openssl/bio.h ../include/openssl/bn.h +s2_clnt.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s2_clnt.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s2_clnt.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s2_clnt.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s2_clnt.o: ../include/openssl/err.h ../include/openssl/evp.h +s2_clnt.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s2_clnt.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +s2_clnt.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +s2_clnt.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +s2_clnt.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +s2_clnt.o: ../include/openssl/rand.h ../include/openssl/rsa.h +s2_clnt.o: ../include/openssl/safestack.h ../include/openssl/sha.h +s2_clnt.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h +s2_clnt.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h +s2_clnt.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +s2_clnt.o: ../include/openssl/tls1.h ../include/openssl/x509.h +s2_clnt.o: ../include/openssl/x509_vfy.h s2_clnt.c ssl_locl.h +s2_enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s2_enc.o: ../include/openssl/bio.h ../include/openssl/bn.h +s2_enc.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s2_enc.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s2_enc.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s2_enc.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s2_enc.o: ../include/openssl/err.h ../include/openssl/evp.h +s2_enc.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s2_enc.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +s2_enc.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +s2_enc.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +s2_enc.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +s2_enc.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +s2_enc.o: ../include/openssl/sha.h ../include/openssl/ssl.h +s2_enc.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +s2_enc.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +s2_enc.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +s2_enc.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s2_enc.c +s2_enc.o: ssl_locl.h +s2_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s2_lib.o: ../include/openssl/bio.h ../include/openssl/bn.h +s2_lib.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s2_lib.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s2_lib.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s2_lib.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s2_lib.o: ../include/openssl/err.h ../include/openssl/evp.h +s2_lib.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s2_lib.o: ../include/openssl/md5.h ../include/openssl/obj_mac.h +s2_lib.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h +s2_lib.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h +s2_lib.o: ../include/openssl/pem.h ../include/openssl/pem2.h +s2_lib.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h +s2_lib.o: ../include/openssl/safestack.h ../include/openssl/sha.h +s2_lib.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h +s2_lib.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h +s2_lib.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +s2_lib.o: ../include/openssl/tls1.h ../include/openssl/x509.h +s2_lib.o: ../include/openssl/x509_vfy.h s2_lib.c ssl_locl.h +s2_meth.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s2_meth.o: ../include/openssl/bio.h ../include/openssl/bn.h +s2_meth.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s2_meth.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s2_meth.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s2_meth.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s2_meth.o: ../include/openssl/err.h ../include/openssl/evp.h +s2_meth.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s2_meth.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +s2_meth.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +s2_meth.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +s2_meth.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +s2_meth.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +s2_meth.o: ../include/openssl/sha.h ../include/openssl/ssl.h +s2_meth.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +s2_meth.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +s2_meth.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +s2_meth.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s2_meth.c +s2_meth.o: ssl_locl.h +s2_pkt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s2_pkt.o: ../include/openssl/bio.h ../include/openssl/bn.h +s2_pkt.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s2_pkt.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s2_pkt.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s2_pkt.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s2_pkt.o: ../include/openssl/err.h ../include/openssl/evp.h +s2_pkt.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s2_pkt.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +s2_pkt.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +s2_pkt.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +s2_pkt.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +s2_pkt.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +s2_pkt.o: ../include/openssl/sha.h ../include/openssl/ssl.h +s2_pkt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +s2_pkt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +s2_pkt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +s2_pkt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s2_pkt.c +s2_pkt.o: ssl_locl.h +s2_srvr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s2_srvr.o: ../include/openssl/bio.h ../include/openssl/bn.h +s2_srvr.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s2_srvr.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s2_srvr.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s2_srvr.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s2_srvr.o: ../include/openssl/err.h ../include/openssl/evp.h +s2_srvr.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s2_srvr.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +s2_srvr.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +s2_srvr.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +s2_srvr.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +s2_srvr.o: ../include/openssl/rand.h ../include/openssl/rsa.h +s2_srvr.o: ../include/openssl/safestack.h ../include/openssl/sha.h +s2_srvr.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h +s2_srvr.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h +s2_srvr.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +s2_srvr.o: ../include/openssl/tls1.h ../include/openssl/x509.h +s2_srvr.o: ../include/openssl/x509_vfy.h s2_srvr.c ssl_locl.h +s3_both.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s3_both.o: ../include/openssl/bio.h ../include/openssl/bn.h +s3_both.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s3_both.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s3_both.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s3_both.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s3_both.o: ../include/openssl/err.h ../include/openssl/evp.h +s3_both.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s3_both.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +s3_both.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +s3_both.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +s3_both.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +s3_both.o: ../include/openssl/rand.h ../include/openssl/rsa.h +s3_both.o: ../include/openssl/safestack.h ../include/openssl/sha.h +s3_both.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h +s3_both.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h +s3_both.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +s3_both.o: ../include/openssl/tls1.h ../include/openssl/x509.h +s3_both.o: ../include/openssl/x509_vfy.h s3_both.c ssl_locl.h +s3_clnt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s3_clnt.o: ../include/openssl/bio.h ../include/openssl/bn.h +s3_clnt.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s3_clnt.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s3_clnt.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s3_clnt.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s3_clnt.o: ../include/openssl/err.h ../include/openssl/evp.h +s3_clnt.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s3_clnt.o: ../include/openssl/md5.h ../include/openssl/obj_mac.h +s3_clnt.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h +s3_clnt.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h +s3_clnt.o: ../include/openssl/pem.h ../include/openssl/pem2.h +s3_clnt.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h +s3_clnt.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +s3_clnt.o: ../include/openssl/sha.h ../include/openssl/ssl.h +s3_clnt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +s3_clnt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +s3_clnt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +s3_clnt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h kssl_lcl.h +s3_clnt.o: s3_clnt.c ssl_locl.h +s3_enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s3_enc.o: ../include/openssl/bio.h ../include/openssl/bn.h +s3_enc.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s3_enc.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s3_enc.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s3_enc.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s3_enc.o: ../include/openssl/err.h ../include/openssl/evp.h +s3_enc.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s3_enc.o: ../include/openssl/md5.h ../include/openssl/obj_mac.h +s3_enc.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h +s3_enc.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h +s3_enc.o: ../include/openssl/pem.h ../include/openssl/pem2.h +s3_enc.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h +s3_enc.o: ../include/openssl/safestack.h ../include/openssl/sha.h +s3_enc.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h +s3_enc.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h +s3_enc.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +s3_enc.o: ../include/openssl/tls1.h ../include/openssl/x509.h +s3_enc.o: ../include/openssl/x509_vfy.h s3_enc.c ssl_locl.h +s3_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s3_lib.o: ../include/openssl/bio.h ../include/openssl/bn.h +s3_lib.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s3_lib.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s3_lib.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s3_lib.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s3_lib.o: ../include/openssl/err.h ../include/openssl/evp.h +s3_lib.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s3_lib.o: ../include/openssl/md5.h ../include/openssl/obj_mac.h +s3_lib.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h +s3_lib.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h +s3_lib.o: ../include/openssl/pem.h ../include/openssl/pem2.h +s3_lib.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h +s3_lib.o: ../include/openssl/safestack.h ../include/openssl/sha.h +s3_lib.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h +s3_lib.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h +s3_lib.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +s3_lib.o: ../include/openssl/tls1.h ../include/openssl/x509.h +s3_lib.o: ../include/openssl/x509_vfy.h kssl_lcl.h s3_lib.c ssl_locl.h +s3_meth.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s3_meth.o: ../include/openssl/bio.h ../include/openssl/bn.h +s3_meth.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s3_meth.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s3_meth.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s3_meth.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s3_meth.o: ../include/openssl/err.h ../include/openssl/evp.h +s3_meth.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s3_meth.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +s3_meth.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +s3_meth.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +s3_meth.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +s3_meth.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +s3_meth.o: ../include/openssl/sha.h ../include/openssl/ssl.h +s3_meth.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +s3_meth.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +s3_meth.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +s3_meth.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s3_meth.c +s3_meth.o: ssl_locl.h +s3_pkt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s3_pkt.o: ../include/openssl/bio.h ../include/openssl/bn.h +s3_pkt.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s3_pkt.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s3_pkt.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s3_pkt.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s3_pkt.o: ../include/openssl/err.h ../include/openssl/evp.h +s3_pkt.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +s3_pkt.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +s3_pkt.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +s3_pkt.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +s3_pkt.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +s3_pkt.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +s3_pkt.o: ../include/openssl/sha.h ../include/openssl/ssl.h +s3_pkt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +s3_pkt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +s3_pkt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +s3_pkt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h s3_pkt.c +s3_pkt.o: ssl_locl.h +s3_srvr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +s3_srvr.o: ../include/openssl/bio.h ../include/openssl/bn.h +s3_srvr.o: ../include/openssl/buffer.h ../include/openssl/comp.h +s3_srvr.o: ../include/openssl/crypto.h ../include/openssl/dh.h +s3_srvr.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +s3_srvr.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +s3_srvr.o: ../include/openssl/err.h ../include/openssl/evp.h +s3_srvr.o: ../include/openssl/krb5_asn.h ../include/openssl/kssl.h +s3_srvr.o: ../include/openssl/lhash.h ../include/openssl/md5.h +s3_srvr.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +s3_srvr.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +s3_srvr.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +s3_srvr.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +s3_srvr.o: ../include/openssl/rand.h ../include/openssl/rsa.h +s3_srvr.o: ../include/openssl/safestack.h ../include/openssl/sha.h +s3_srvr.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h +s3_srvr.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h +s3_srvr.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +s3_srvr.o: ../include/openssl/tls1.h ../include/openssl/x509.h +s3_srvr.o: ../include/openssl/x509_vfy.h kssl_lcl.h s3_srvr.c ssl_locl.h +ssl_algs.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +ssl_algs.o: ../include/openssl/bio.h ../include/openssl/bn.h +ssl_algs.o: ../include/openssl/buffer.h ../include/openssl/comp.h +ssl_algs.o: ../include/openssl/crypto.h ../include/openssl/dh.h +ssl_algs.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +ssl_algs.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +ssl_algs.o: ../include/openssl/err.h ../include/openssl/evp.h +ssl_algs.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +ssl_algs.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +ssl_algs.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +ssl_algs.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +ssl_algs.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +ssl_algs.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +ssl_algs.o: ../include/openssl/sha.h ../include/openssl/ssl.h +ssl_algs.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +ssl_algs.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +ssl_algs.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +ssl_algs.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_algs.c +ssl_algs.o: ssl_locl.h ssl_asn1.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1_mac.h -ssl_asn1.o: ../include/openssl/bio.h ../include/openssl/bn.h -ssl_asn1.o: ../include/openssl/buffer.h ../include/openssl/comp.h -ssl_asn1.o: ../include/openssl/crypto.h ../include/openssl/dh.h -ssl_asn1.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h -ssl_asn1.o: ../include/openssl/err.h ../include/openssl/evp.h -ssl_asn1.o: ../include/openssl/kssl.h ../include/openssl/lhash.h -ssl_asn1.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h -ssl_asn1.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -ssl_asn1.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h -ssl_asn1.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h -ssl_asn1.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -ssl_asn1.o: ../include/openssl/sha.h ../include/openssl/ssl.h -ssl_asn1.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h -ssl_asn1.o: ../include/openssl/ssl3.h ../include/openssl/stack.h -ssl_asn1.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h -ssl_asn1.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_asn1.c -ssl_asn1.o: ssl_locl.h -ssl_cert.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -ssl_cert.o: ../include/openssl/bn.h ../include/openssl/buffer.h -ssl_cert.o: ../include/openssl/comp.h ../include/openssl/conf.h -ssl_cert.o: ../include/openssl/crypto.h ../include/openssl/dh.h -ssl_cert.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h -ssl_cert.o: ../include/openssl/err.h ../include/openssl/evp.h -ssl_cert.o: ../include/openssl/kssl.h ../include/openssl/lhash.h -ssl_cert.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h -ssl_cert.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -ssl_cert.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h -ssl_cert.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h -ssl_cert.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -ssl_cert.o: ../include/openssl/sha.h ../include/openssl/ssl.h -ssl_cert.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h -ssl_cert.o: ../include/openssl/ssl3.h ../include/openssl/stack.h -ssl_cert.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h -ssl_cert.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h -ssl_cert.o: ../include/openssl/x509v3.h ssl_cert.c ssl_locl.h -ssl_ciph.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -ssl_ciph.o: ../include/openssl/bn.h ../include/openssl/buffer.h -ssl_ciph.o: ../include/openssl/comp.h ../include/openssl/crypto.h -ssl_ciph.o: ../include/openssl/dh.h ../include/openssl/dsa.h -ssl_ciph.o: ../include/openssl/e_os2.h ../include/openssl/err.h -ssl_ciph.o: ../include/openssl/evp.h ../include/openssl/kssl.h -ssl_ciph.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -ssl_ciph.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -ssl_ciph.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -ssl_ciph.o: ../include/openssl/pem.h ../include/openssl/pem2.h -ssl_ciph.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -ssl_ciph.o: ../include/openssl/safestack.h ../include/openssl/sha.h -ssl_ciph.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -ssl_ciph.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -ssl_ciph.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -ssl_ciph.o: ../include/openssl/tls1.h ../include/openssl/x509.h -ssl_ciph.o: ../include/openssl/x509_vfy.h ssl_ciph.c ssl_locl.h -ssl_err.o: ../include/openssl/asn1.h ../include/openssl/bio.h -ssl_err.o: ../include/openssl/bn.h ../include/openssl/buffer.h -ssl_err.o: ../include/openssl/comp.h ../include/openssl/crypto.h -ssl_err.o: ../include/openssl/dh.h ../include/openssl/dsa.h -ssl_err.o: ../include/openssl/e_os2.h ../include/openssl/err.h -ssl_err.o: ../include/openssl/evp.h ../include/openssl/kssl.h -ssl_err.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -ssl_err.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -ssl_err.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -ssl_err.o: ../include/openssl/pem.h ../include/openssl/pem2.h -ssl_err.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -ssl_err.o: ../include/openssl/safestack.h ../include/openssl/sha.h -ssl_err.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -ssl_err.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -ssl_err.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -ssl_err.o: ../include/openssl/tls1.h ../include/openssl/x509.h -ssl_err.o: ../include/openssl/x509_vfy.h ssl_err.c -ssl_err2.o: ../include/openssl/asn1.h ../include/openssl/bio.h -ssl_err2.o: ../include/openssl/bn.h ../include/openssl/buffer.h -ssl_err2.o: ../include/openssl/comp.h ../include/openssl/crypto.h -ssl_err2.o: ../include/openssl/dh.h ../include/openssl/dsa.h -ssl_err2.o: ../include/openssl/e_os2.h ../include/openssl/err.h -ssl_err2.o: ../include/openssl/evp.h ../include/openssl/kssl.h -ssl_err2.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -ssl_err2.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -ssl_err2.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -ssl_err2.o: ../include/openssl/pem.h ../include/openssl/pem2.h -ssl_err2.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -ssl_err2.o: ../include/openssl/safestack.h ../include/openssl/sha.h -ssl_err2.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -ssl_err2.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -ssl_err2.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -ssl_err2.o: ../include/openssl/tls1.h ../include/openssl/x509.h -ssl_err2.o: ../include/openssl/x509_vfy.h ssl_err2.c -ssl_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -ssl_lib.o: ../include/openssl/bn.h ../include/openssl/buffer.h -ssl_lib.o: ../include/openssl/comp.h ../include/openssl/conf.h -ssl_lib.o: ../include/openssl/crypto.h ../include/openssl/dh.h -ssl_lib.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h -ssl_lib.o: ../include/openssl/err.h ../include/openssl/evp.h -ssl_lib.o: ../include/openssl/kssl.h ../include/openssl/lhash.h -ssl_lib.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h -ssl_lib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -ssl_lib.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h -ssl_lib.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h -ssl_lib.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -ssl_lib.o: ../include/openssl/sha.h ../include/openssl/ssl.h -ssl_lib.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h -ssl_lib.o: ../include/openssl/ssl3.h ../include/openssl/stack.h -ssl_lib.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h -ssl_lib.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h -ssl_lib.o: ../include/openssl/x509v3.h kssl_lcl.h ssl_lib.c ssl_locl.h -ssl_rsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -ssl_rsa.o: ../include/openssl/bn.h ../include/openssl/buffer.h -ssl_rsa.o: ../include/openssl/comp.h ../include/openssl/crypto.h -ssl_rsa.o: ../include/openssl/dh.h ../include/openssl/dsa.h -ssl_rsa.o: ../include/openssl/e_os2.h ../include/openssl/err.h -ssl_rsa.o: ../include/openssl/evp.h ../include/openssl/kssl.h -ssl_rsa.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -ssl_rsa.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -ssl_rsa.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -ssl_rsa.o: ../include/openssl/pem.h ../include/openssl/pem2.h -ssl_rsa.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -ssl_rsa.o: ../include/openssl/safestack.h ../include/openssl/sha.h -ssl_rsa.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -ssl_rsa.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -ssl_rsa.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -ssl_rsa.o: ../include/openssl/tls1.h ../include/openssl/x509.h -ssl_rsa.o: ../include/openssl/x509_vfy.h ssl_locl.h ssl_rsa.c -ssl_sess.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -ssl_sess.o: ../include/openssl/bn.h ../include/openssl/buffer.h -ssl_sess.o: ../include/openssl/comp.h ../include/openssl/crypto.h -ssl_sess.o: ../include/openssl/dh.h ../include/openssl/dsa.h -ssl_sess.o: ../include/openssl/e_os2.h ../include/openssl/err.h -ssl_sess.o: ../include/openssl/evp.h ../include/openssl/kssl.h -ssl_sess.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -ssl_sess.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -ssl_sess.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -ssl_sess.o: ../include/openssl/pem.h ../include/openssl/pem2.h -ssl_sess.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h -ssl_sess.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -ssl_sess.o: ../include/openssl/sha.h ../include/openssl/ssl.h -ssl_sess.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h -ssl_sess.o: ../include/openssl/ssl3.h ../include/openssl/stack.h -ssl_sess.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h -ssl_sess.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h -ssl_sess.o: ssl_sess.c -ssl_stat.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -ssl_stat.o: ../include/openssl/bn.h ../include/openssl/buffer.h -ssl_stat.o: ../include/openssl/comp.h ../include/openssl/crypto.h -ssl_stat.o: ../include/openssl/dh.h ../include/openssl/dsa.h -ssl_stat.o: ../include/openssl/e_os2.h ../include/openssl/err.h -ssl_stat.o: ../include/openssl/evp.h ../include/openssl/kssl.h -ssl_stat.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -ssl_stat.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -ssl_stat.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -ssl_stat.o: ../include/openssl/pem.h ../include/openssl/pem2.h -ssl_stat.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -ssl_stat.o: ../include/openssl/safestack.h ../include/openssl/sha.h -ssl_stat.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -ssl_stat.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -ssl_stat.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -ssl_stat.o: ../include/openssl/tls1.h ../include/openssl/x509.h -ssl_stat.o: ../include/openssl/x509_vfy.h ssl_locl.h ssl_stat.c -ssl_txt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -ssl_txt.o: ../include/openssl/bn.h ../include/openssl/buffer.h -ssl_txt.o: ../include/openssl/comp.h ../include/openssl/crypto.h -ssl_txt.o: ../include/openssl/dh.h ../include/openssl/dsa.h -ssl_txt.o: ../include/openssl/e_os2.h ../include/openssl/err.h -ssl_txt.o: ../include/openssl/evp.h ../include/openssl/kssl.h -ssl_txt.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -ssl_txt.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -ssl_txt.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -ssl_txt.o: ../include/openssl/pem.h ../include/openssl/pem2.h -ssl_txt.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -ssl_txt.o: ../include/openssl/safestack.h ../include/openssl/sha.h -ssl_txt.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -ssl_txt.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -ssl_txt.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -ssl_txt.o: ../include/openssl/tls1.h ../include/openssl/x509.h -ssl_txt.o: ../include/openssl/x509_vfy.h ssl_locl.h ssl_txt.c -t1_clnt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -t1_clnt.o: ../include/openssl/bn.h ../include/openssl/buffer.h -t1_clnt.o: ../include/openssl/comp.h ../include/openssl/crypto.h -t1_clnt.o: ../include/openssl/dh.h ../include/openssl/dsa.h -t1_clnt.o: ../include/openssl/e_os2.h ../include/openssl/err.h -t1_clnt.o: ../include/openssl/evp.h ../include/openssl/kssl.h -t1_clnt.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -t1_clnt.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -t1_clnt.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -t1_clnt.o: ../include/openssl/pem.h ../include/openssl/pem2.h -t1_clnt.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h -t1_clnt.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -t1_clnt.o: ../include/openssl/sha.h ../include/openssl/ssl.h -t1_clnt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h -t1_clnt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h -t1_clnt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h -t1_clnt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h -t1_clnt.o: t1_clnt.c -t1_enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -t1_enc.o: ../include/openssl/bn.h ../include/openssl/buffer.h -t1_enc.o: ../include/openssl/comp.h ../include/openssl/crypto.h -t1_enc.o: ../include/openssl/dh.h ../include/openssl/dsa.h -t1_enc.o: ../include/openssl/e_os2.h ../include/openssl/err.h -t1_enc.o: ../include/openssl/evp.h ../include/openssl/hmac.h -t1_enc.o: ../include/openssl/kssl.h ../include/openssl/lhash.h -t1_enc.o: ../include/openssl/md5.h ../include/openssl/obj_mac.h -t1_enc.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -t1_enc.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -t1_enc.o: ../include/openssl/pem.h ../include/openssl/pem2.h -t1_enc.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -t1_enc.o: ../include/openssl/safestack.h ../include/openssl/sha.h -t1_enc.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -t1_enc.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -t1_enc.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -t1_enc.o: ../include/openssl/tls1.h ../include/openssl/x509.h -t1_enc.o: ../include/openssl/x509_vfy.h ssl_locl.h t1_enc.c -t1_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -t1_lib.o: ../include/openssl/bn.h ../include/openssl/buffer.h -t1_lib.o: ../include/openssl/comp.h ../include/openssl/crypto.h -t1_lib.o: ../include/openssl/dh.h ../include/openssl/dsa.h -t1_lib.o: ../include/openssl/e_os2.h ../include/openssl/err.h -t1_lib.o: ../include/openssl/evp.h ../include/openssl/kssl.h -t1_lib.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -t1_lib.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -t1_lib.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -t1_lib.o: ../include/openssl/pem.h ../include/openssl/pem2.h -t1_lib.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -t1_lib.o: ../include/openssl/safestack.h ../include/openssl/sha.h -t1_lib.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -t1_lib.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -t1_lib.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -t1_lib.o: ../include/openssl/tls1.h ../include/openssl/x509.h -t1_lib.o: ../include/openssl/x509_vfy.h ssl_locl.h t1_lib.c -t1_meth.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -t1_meth.o: ../include/openssl/bn.h ../include/openssl/buffer.h -t1_meth.o: ../include/openssl/comp.h ../include/openssl/crypto.h -t1_meth.o: ../include/openssl/dh.h ../include/openssl/dsa.h -t1_meth.o: ../include/openssl/e_os2.h ../include/openssl/err.h -t1_meth.o: ../include/openssl/evp.h ../include/openssl/kssl.h -t1_meth.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -t1_meth.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -t1_meth.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -t1_meth.o: ../include/openssl/pem.h ../include/openssl/pem2.h -t1_meth.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h -t1_meth.o: ../include/openssl/safestack.h ../include/openssl/sha.h -t1_meth.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -t1_meth.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -t1_meth.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -t1_meth.o: ../include/openssl/tls1.h ../include/openssl/x509.h -t1_meth.o: ../include/openssl/x509_vfy.h ssl_locl.h t1_meth.c -t1_srvr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -t1_srvr.o: ../include/openssl/bn.h ../include/openssl/buffer.h -t1_srvr.o: ../include/openssl/comp.h ../include/openssl/crypto.h -t1_srvr.o: ../include/openssl/dh.h ../include/openssl/dsa.h -t1_srvr.o: ../include/openssl/e_os2.h ../include/openssl/err.h -t1_srvr.o: ../include/openssl/evp.h ../include/openssl/kssl.h -t1_srvr.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -t1_srvr.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -t1_srvr.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -t1_srvr.o: ../include/openssl/pem.h ../include/openssl/pem2.h -t1_srvr.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h -t1_srvr.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -t1_srvr.o: ../include/openssl/sha.h ../include/openssl/ssl.h -t1_srvr.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h -t1_srvr.o: ../include/openssl/ssl3.h ../include/openssl/stack.h -t1_srvr.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h -t1_srvr.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h -t1_srvr.o: t1_srvr.c +ssl_asn1.o: ../include/openssl/asn1t.h ../include/openssl/bio.h +ssl_asn1.o: ../include/openssl/bn.h ../include/openssl/buffer.h +ssl_asn1.o: ../include/openssl/comp.h ../include/openssl/crypto.h +ssl_asn1.o: ../include/openssl/dh.h ../include/openssl/dsa.h +ssl_asn1.o: ../include/openssl/e_os2.h ../include/openssl/ec.h +ssl_asn1.o: ../include/openssl/ecdsa.h ../include/openssl/err.h +ssl_asn1.o: ../include/openssl/evp.h ../include/openssl/kssl.h +ssl_asn1.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h +ssl_asn1.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h +ssl_asn1.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h +ssl_asn1.o: ../include/openssl/pem.h ../include/openssl/pem2.h +ssl_asn1.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h +ssl_asn1.o: ../include/openssl/safestack.h ../include/openssl/sha.h +ssl_asn1.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h +ssl_asn1.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h +ssl_asn1.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +ssl_asn1.o: ../include/openssl/tls1.h ../include/openssl/x509.h +ssl_asn1.o: ../include/openssl/x509_vfy.h ssl_asn1.c ssl_locl.h +ssl_cert.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +ssl_cert.o: ../include/openssl/bio.h ../include/openssl/bn.h +ssl_cert.o: ../include/openssl/buffer.h ../include/openssl/comp.h +ssl_cert.o: ../include/openssl/conf.h ../include/openssl/crypto.h +ssl_cert.o: ../include/openssl/dh.h ../include/openssl/dsa.h +ssl_cert.o: ../include/openssl/e_os2.h ../include/openssl/ec.h +ssl_cert.o: ../include/openssl/ecdsa.h ../include/openssl/err.h +ssl_cert.o: ../include/openssl/evp.h ../include/openssl/kssl.h +ssl_cert.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h +ssl_cert.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h +ssl_cert.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h +ssl_cert.o: ../include/openssl/pem.h ../include/openssl/pem2.h +ssl_cert.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h +ssl_cert.o: ../include/openssl/safestack.h ../include/openssl/sha.h +ssl_cert.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h +ssl_cert.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h +ssl_cert.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +ssl_cert.o: ../include/openssl/tls1.h ../include/openssl/x509.h +ssl_cert.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h +ssl_cert.o: ssl_cert.c ssl_locl.h +ssl_ciph.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +ssl_ciph.o: ../include/openssl/bio.h ../include/openssl/bn.h +ssl_ciph.o: ../include/openssl/buffer.h ../include/openssl/comp.h +ssl_ciph.o: ../include/openssl/crypto.h ../include/openssl/dh.h +ssl_ciph.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +ssl_ciph.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +ssl_ciph.o: ../include/openssl/err.h ../include/openssl/evp.h +ssl_ciph.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +ssl_ciph.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +ssl_ciph.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +ssl_ciph.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +ssl_ciph.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +ssl_ciph.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +ssl_ciph.o: ../include/openssl/sha.h ../include/openssl/ssl.h +ssl_ciph.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +ssl_ciph.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +ssl_ciph.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +ssl_ciph.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_ciph.c +ssl_ciph.o: ssl_locl.h +ssl_err.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h +ssl_err.o: ../include/openssl/bio.h ../include/openssl/bn.h +ssl_err.o: ../include/openssl/buffer.h ../include/openssl/comp.h +ssl_err.o: ../include/openssl/crypto.h ../include/openssl/dh.h +ssl_err.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +ssl_err.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +ssl_err.o: ../include/openssl/err.h ../include/openssl/evp.h +ssl_err.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +ssl_err.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +ssl_err.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +ssl_err.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +ssl_err.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +ssl_err.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +ssl_err.o: ../include/openssl/sha.h ../include/openssl/ssl.h +ssl_err.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +ssl_err.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +ssl_err.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +ssl_err.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_err.c +ssl_err2.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h +ssl_err2.o: ../include/openssl/bio.h ../include/openssl/bn.h +ssl_err2.o: ../include/openssl/buffer.h ../include/openssl/comp.h +ssl_err2.o: ../include/openssl/crypto.h ../include/openssl/dh.h +ssl_err2.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +ssl_err2.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +ssl_err2.o: ../include/openssl/err.h ../include/openssl/evp.h +ssl_err2.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +ssl_err2.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +ssl_err2.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +ssl_err2.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +ssl_err2.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +ssl_err2.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +ssl_err2.o: ../include/openssl/sha.h ../include/openssl/ssl.h +ssl_err2.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +ssl_err2.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +ssl_err2.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +ssl_err2.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_err2.c +ssl_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +ssl_lib.o: ../include/openssl/bio.h ../include/openssl/bn.h +ssl_lib.o: ../include/openssl/buffer.h ../include/openssl/comp.h +ssl_lib.o: ../include/openssl/conf.h ../include/openssl/crypto.h +ssl_lib.o: ../include/openssl/dh.h ../include/openssl/dsa.h +ssl_lib.o: ../include/openssl/e_os2.h ../include/openssl/ec.h +ssl_lib.o: ../include/openssl/ecdsa.h ../include/openssl/err.h +ssl_lib.o: ../include/openssl/evp.h ../include/openssl/kssl.h +ssl_lib.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h +ssl_lib.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h +ssl_lib.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h +ssl_lib.o: ../include/openssl/pem.h ../include/openssl/pem2.h +ssl_lib.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h +ssl_lib.o: ../include/openssl/safestack.h ../include/openssl/sha.h +ssl_lib.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h +ssl_lib.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h +ssl_lib.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +ssl_lib.o: ../include/openssl/tls1.h ../include/openssl/x509.h +ssl_lib.o: ../include/openssl/x509_vfy.h ../include/openssl/x509v3.h kssl_lcl.h +ssl_lib.o: ssl_lib.c ssl_locl.h +ssl_rsa.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +ssl_rsa.o: ../include/openssl/bio.h ../include/openssl/bn.h +ssl_rsa.o: ../include/openssl/buffer.h ../include/openssl/comp.h +ssl_rsa.o: ../include/openssl/crypto.h ../include/openssl/dh.h +ssl_rsa.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +ssl_rsa.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +ssl_rsa.o: ../include/openssl/err.h ../include/openssl/evp.h +ssl_rsa.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +ssl_rsa.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +ssl_rsa.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +ssl_rsa.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +ssl_rsa.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +ssl_rsa.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +ssl_rsa.o: ../include/openssl/sha.h ../include/openssl/ssl.h +ssl_rsa.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +ssl_rsa.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +ssl_rsa.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +ssl_rsa.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h +ssl_rsa.o: ssl_rsa.c +ssl_sess.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +ssl_sess.o: ../include/openssl/bio.h ../include/openssl/bn.h +ssl_sess.o: ../include/openssl/buffer.h ../include/openssl/comp.h +ssl_sess.o: ../include/openssl/crypto.h ../include/openssl/dh.h +ssl_sess.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +ssl_sess.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +ssl_sess.o: ../include/openssl/err.h ../include/openssl/evp.h +ssl_sess.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +ssl_sess.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +ssl_sess.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +ssl_sess.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +ssl_sess.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +ssl_sess.o: ../include/openssl/rand.h ../include/openssl/rsa.h +ssl_sess.o: ../include/openssl/safestack.h ../include/openssl/sha.h +ssl_sess.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h +ssl_sess.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h +ssl_sess.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +ssl_sess.o: ../include/openssl/tls1.h ../include/openssl/x509.h +ssl_sess.o: ../include/openssl/x509_vfy.h ssl_locl.h ssl_sess.c +ssl_stat.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +ssl_stat.o: ../include/openssl/bio.h ../include/openssl/bn.h +ssl_stat.o: ../include/openssl/buffer.h ../include/openssl/comp.h +ssl_stat.o: ../include/openssl/crypto.h ../include/openssl/dh.h +ssl_stat.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +ssl_stat.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +ssl_stat.o: ../include/openssl/err.h ../include/openssl/evp.h +ssl_stat.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +ssl_stat.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +ssl_stat.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +ssl_stat.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +ssl_stat.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +ssl_stat.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +ssl_stat.o: ../include/openssl/sha.h ../include/openssl/ssl.h +ssl_stat.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +ssl_stat.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +ssl_stat.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +ssl_stat.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h +ssl_stat.o: ssl_stat.c +ssl_txt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +ssl_txt.o: ../include/openssl/bio.h ../include/openssl/bn.h +ssl_txt.o: ../include/openssl/buffer.h ../include/openssl/comp.h +ssl_txt.o: ../include/openssl/crypto.h ../include/openssl/dh.h +ssl_txt.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +ssl_txt.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +ssl_txt.o: ../include/openssl/err.h ../include/openssl/evp.h +ssl_txt.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +ssl_txt.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +ssl_txt.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +ssl_txt.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +ssl_txt.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +ssl_txt.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +ssl_txt.o: ../include/openssl/sha.h ../include/openssl/ssl.h +ssl_txt.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +ssl_txt.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +ssl_txt.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +ssl_txt.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h +ssl_txt.o: ssl_txt.c +t1_clnt.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +t1_clnt.o: ../include/openssl/bio.h ../include/openssl/bn.h +t1_clnt.o: ../include/openssl/buffer.h ../include/openssl/comp.h +t1_clnt.o: ../include/openssl/crypto.h ../include/openssl/dh.h +t1_clnt.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +t1_clnt.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +t1_clnt.o: ../include/openssl/err.h ../include/openssl/evp.h +t1_clnt.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +t1_clnt.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +t1_clnt.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +t1_clnt.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +t1_clnt.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +t1_clnt.o: ../include/openssl/rand.h ../include/openssl/rsa.h +t1_clnt.o: ../include/openssl/safestack.h ../include/openssl/sha.h +t1_clnt.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h +t1_clnt.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h +t1_clnt.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +t1_clnt.o: ../include/openssl/tls1.h ../include/openssl/x509.h +t1_clnt.o: ../include/openssl/x509_vfy.h ssl_locl.h t1_clnt.c +t1_enc.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +t1_enc.o: ../include/openssl/bio.h ../include/openssl/bn.h +t1_enc.o: ../include/openssl/buffer.h ../include/openssl/comp.h +t1_enc.o: ../include/openssl/crypto.h ../include/openssl/dh.h +t1_enc.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +t1_enc.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +t1_enc.o: ../include/openssl/err.h ../include/openssl/evp.h +t1_enc.o: ../include/openssl/hmac.h ../include/openssl/kssl.h +t1_enc.o: ../include/openssl/lhash.h ../include/openssl/md5.h +t1_enc.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +t1_enc.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +t1_enc.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +t1_enc.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +t1_enc.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +t1_enc.o: ../include/openssl/sha.h ../include/openssl/ssl.h +t1_enc.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +t1_enc.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +t1_enc.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +t1_enc.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h +t1_enc.o: t1_enc.c +t1_lib.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +t1_lib.o: ../include/openssl/bio.h ../include/openssl/bn.h +t1_lib.o: ../include/openssl/buffer.h ../include/openssl/comp.h +t1_lib.o: ../include/openssl/crypto.h ../include/openssl/dh.h +t1_lib.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +t1_lib.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +t1_lib.o: ../include/openssl/err.h ../include/openssl/evp.h +t1_lib.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +t1_lib.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +t1_lib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +t1_lib.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +t1_lib.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +t1_lib.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +t1_lib.o: ../include/openssl/sha.h ../include/openssl/ssl.h +t1_lib.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +t1_lib.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +t1_lib.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +t1_lib.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h +t1_lib.o: t1_lib.c +t1_meth.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +t1_meth.o: ../include/openssl/bio.h ../include/openssl/bn.h +t1_meth.o: ../include/openssl/buffer.h ../include/openssl/comp.h +t1_meth.o: ../include/openssl/crypto.h ../include/openssl/dh.h +t1_meth.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +t1_meth.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +t1_meth.o: ../include/openssl/err.h ../include/openssl/evp.h +t1_meth.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +t1_meth.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +t1_meth.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +t1_meth.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +t1_meth.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +t1_meth.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +t1_meth.o: ../include/openssl/sha.h ../include/openssl/ssl.h +t1_meth.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +t1_meth.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +t1_meth.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +t1_meth.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssl_locl.h +t1_meth.o: t1_meth.c +t1_srvr.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +t1_srvr.o: ../include/openssl/bio.h ../include/openssl/bn.h +t1_srvr.o: ../include/openssl/buffer.h ../include/openssl/comp.h +t1_srvr.o: ../include/openssl/crypto.h ../include/openssl/dh.h +t1_srvr.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +t1_srvr.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +t1_srvr.o: ../include/openssl/err.h ../include/openssl/evp.h +t1_srvr.o: ../include/openssl/kssl.h ../include/openssl/lhash.h +t1_srvr.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +t1_srvr.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +t1_srvr.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h +t1_srvr.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h +t1_srvr.o: ../include/openssl/rand.h ../include/openssl/rsa.h +t1_srvr.o: ../include/openssl/safestack.h ../include/openssl/sha.h +t1_srvr.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h +t1_srvr.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h +t1_srvr.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +t1_srvr.o: ../include/openssl/tls1.h ../include/openssl/x509.h +t1_srvr.o: ../include/openssl/x509_vfy.h ssl_locl.h t1_srvr.c diff --git a/test/Makefile.ssl b/test/Makefile.ssl index 432c654bb4..0ffb327aad 100644 --- a/test/Makefile.ssl +++ b/test/Makefile.ssl @@ -57,6 +57,7 @@ SSLTEST= ssltest RSATEST= rsa_test ENGINETEST= enginetest EVPTEST= evp_test +ECDSATEST= ecdsatest TESTS= alltests @@ -65,7 +66,7 @@ EXE= $(BNTEST) $(ECTEST) $(IDEATEST) $(MD2TEST) $(MD4TEST) $(MD5TEST) $(HMACTES $(DESTEST) $(SHATEST) $(SHA1TEST) $(MDC2TEST) $(RMDTEST) \ $(RANDTEST) $(DHTEST) $(ENGINETEST) \ $(BFTEST) $(CASTTEST) $(SSLTEST) $(EXPTEST) $(DSATEST) $(RSATEST) \ - $(EVPTEST) + $(EVPTEST) $(ECDSATEST) # $(METHTEST) @@ -75,14 +76,14 @@ OBJ= $(BNTEST).o $(ECTEST).o $(IDEATEST).o $(MD2TEST).o $(MD4TEST).o $(MD5TEST). $(DESTEST).o $(SHATEST).o $(SHA1TEST).o $(MDC2TEST).o $(RMDTEST).o \ $(RANDTEST).o $(DHTEST).o $(ENGINETEST).o $(CASTTEST).o \ $(BFTEST).o $(SSLTEST).o $(DSATEST).o $(EXPTEST).o $(RSATEST).o \ - $(EVPTEST).o + $(EVPTEST).o $(ECDSATEST).o SRC= $(BNTEST).c $(ECTEST).c $(IDEATEST).c $(MD2TEST).c $(MD4TEST).c $(MD5TEST).c \ $(HMACTEST).c \ $(RC2TEST).c $(RC4TEST).c $(RC5TEST).c \ $(DESTEST).c $(SHATEST).c $(SHA1TEST).c $(MDC2TEST).c $(RMDTEST).c \ $(RANDTEST).c $(DHTEST).c $(ENGINETEST).c $(CASTTEST).c \ $(BFTEST).c $(SSLTEST).c $(DSATEST).c $(EXPTEST).c $(RSATEST).c \ - $(EVPTEST).c + $(EVPTEST).c $(ECDSATEST).c EXHEADER= HEADER= $(EXHEADER) @@ -124,7 +125,7 @@ alltests.chooser: \ test_rmd test_rc2 test_rc4 test_rc5 test_bf test_cast test_rd \ test_rand test_bn test_ec test_enc test_x509 test_rsa test_crl test_sid \ test_gen test_req test_pkcs7 test_verify test_dh test_dsa \ - test_ss test_ca test_engine test_evp test_ssl + test_ss test_ca test_engine test_evp test_ssl test_ecdsa test_evp: ./$(EVPTEST) evptests.txt @@ -217,6 +218,10 @@ test_ec: @echo 'test elliptic curves' ./$(ECTEST) +test_ecdsa: + @echo 'test ecdsa' + ./$(ECDSATEST) + test_verify: @echo "The following command should have some OK's and some failures" @echo "There are definitly a few expired certificates" @@ -355,6 +360,9 @@ $(ENGINETEST): $(ENGINETEST).o $(DLIBCRYPTO) $(EVPTEST): $(EVPTEST).o $(DLIBCRYPTO) $(CC) -o $(EVPTEST) $(CFLAGS) $(EVPTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) + +$(ECDSATEST): $(ECDSATEST).o $(DLIBCRYPTO) + $(CC) -o $(ECDSATEST) $(CFLAGS) $(ECDSATEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) #$(RDTEST).o: $(RDTEST).c # $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(RDTEST).c @@ -366,19 +374,20 @@ $(EVPTEST): $(EVPTEST).o $(DLIBCRYPTO) bftest.o: ../include/openssl/blowfish.h ../include/openssl/e_os2.h bftest.o: ../include/openssl/opensslconf.h bftest.c -bntest.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -bntest.o: ../include/openssl/bn.h ../include/openssl/buffer.h -bntest.o: ../include/openssl/crypto.h ../include/openssl/dh.h -bntest.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h -bntest.o: ../include/openssl/err.h ../include/openssl/evp.h -bntest.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h -bntest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -bntest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -bntest.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h -bntest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -bntest.o: ../include/openssl/sha.h ../include/openssl/stack.h -bntest.o: ../include/openssl/symhacks.h ../include/openssl/x509.h -bntest.o: ../include/openssl/x509_vfy.h bntest.c +bntest.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +bntest.o: ../include/openssl/bio.h ../include/openssl/bn.h +bntest.o: ../include/openssl/buffer.h ../include/openssl/crypto.h +bntest.o: ../include/openssl/dh.h ../include/openssl/dsa.h +bntest.o: ../include/openssl/e_os2.h ../include/openssl/ec.h +bntest.o: ../include/openssl/ecdsa.h ../include/openssl/err.h +bntest.o: ../include/openssl/evp.h ../include/openssl/lhash.h +bntest.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +bntest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +bntest.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h +bntest.o: ../include/openssl/rand.h ../include/openssl/rsa.h +bntest.o: ../include/openssl/safestack.h ../include/openssl/sha.h +bntest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +bntest.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h bntest.c casttest.o: ../include/openssl/cast.h casttest.c destest.o: ../include/openssl/crypto.h ../include/openssl/des.h destest.o: ../include/openssl/des_old.h ../include/openssl/e_os2.h @@ -393,49 +402,69 @@ dhtest.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h dhtest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h dhtest.o: ../include/openssl/rand.h ../include/openssl/safestack.h dhtest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h dhtest.c -dsatest.o: ../include/openssl/asn1.h ../include/openssl/bio.h -dsatest.o: ../include/openssl/bn.h ../include/openssl/crypto.h -dsatest.o: ../include/openssl/dh.h ../include/openssl/dsa.h -dsatest.o: ../include/openssl/e_os2.h ../include/openssl/engine.h -dsatest.o: ../include/openssl/err.h ../include/openssl/lhash.h -dsatest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -dsatest.o: ../include/openssl/ossl_typ.h ../include/openssl/rand.h -dsatest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -dsatest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -dsatest.o: ../include/openssl/ui.h dsatest.c -ectest.o: ../include/openssl/asn1.h ../include/openssl/bio.h -ectest.o: ../include/openssl/bn.h ../include/openssl/crypto.h -ectest.o: ../include/openssl/dh.h ../include/openssl/dsa.h -ectest.o: ../include/openssl/e_os2.h ../include/openssl/ec.h +dsatest.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h +dsatest.o: ../include/openssl/bio.h ../include/openssl/bn.h +dsatest.o: ../include/openssl/crypto.h ../include/openssl/dh.h +dsatest.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +dsatest.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +dsatest.o: ../include/openssl/engine.h ../include/openssl/err.h +dsatest.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h +dsatest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h +dsatest.o: ../include/openssl/rand.h ../include/openssl/rsa.h +dsatest.o: ../include/openssl/safestack.h ../include/openssl/stack.h +dsatest.o: ../include/openssl/symhacks.h ../include/openssl/ui.h dsatest.c +ecdsatest.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h +ecdsatest.o: ../include/openssl/bio.h ../include/openssl/bn.h +ecdsatest.o: ../include/openssl/buffer.h ../include/openssl/crypto.h +ecdsatest.o: ../include/openssl/dh.h ../include/openssl/dsa.h +ecdsatest.o: ../include/openssl/e_os2.h ../include/openssl/ec.h +ecdsatest.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h +ecdsatest.o: ../include/openssl/err.h ../include/openssl/evp.h +ecdsatest.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h +ecdsatest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h +ecdsatest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h +ecdsatest.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h +ecdsatest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +ecdsatest.o: ../include/openssl/sha.h ../include/openssl/stack.h +ecdsatest.o: ../include/openssl/symhacks.h ../include/openssl/ui.h +ecdsatest.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h +ecdsatest.o: ecdsatest.c +ectest.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h +ectest.o: ../include/openssl/bio.h ../include/openssl/bn.h +ectest.o: ../include/openssl/crypto.h ../include/openssl/dh.h +ectest.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +ectest.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h ectest.o: ../include/openssl/engine.h ../include/openssl/err.h ectest.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h ectest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h ectest.o: ../include/openssl/rand.h ../include/openssl/rsa.h ectest.o: ../include/openssl/safestack.h ../include/openssl/stack.h ectest.o: ../include/openssl/symhacks.h ../include/openssl/ui.h ectest.c -enginetest.o: ../include/openssl/asn1.h ../include/openssl/bio.h -enginetest.o: ../include/openssl/bn.h ../include/openssl/buffer.h -enginetest.o: ../include/openssl/crypto.h ../include/openssl/dh.h -enginetest.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h -enginetest.o: ../include/openssl/engine.h ../include/openssl/err.h -enginetest.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h -enginetest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -enginetest.o: ../include/openssl/rand.h ../include/openssl/rsa.h -enginetest.o: ../include/openssl/safestack.h ../include/openssl/stack.h -enginetest.o: ../include/openssl/symhacks.h ../include/openssl/ui.h -enginetest.o: enginetest.c -evp_test.o: ../include/openssl/asn1.h ../include/openssl/bio.h -evp_test.o: ../include/openssl/bn.h ../include/openssl/conf.h -evp_test.o: ../include/openssl/crypto.h ../include/openssl/dh.h -evp_test.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h -evp_test.o: ../include/openssl/engine.h ../include/openssl/err.h -evp_test.o: ../include/openssl/evp.h ../include/openssl/lhash.h -evp_test.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h -evp_test.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -evp_test.o: ../include/openssl/ossl_typ.h ../include/openssl/rand.h -evp_test.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -evp_test.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -evp_test.o: ../include/openssl/ui.h evp_test.c +enginetest.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h +enginetest.o: ../include/openssl/bio.h ../include/openssl/bn.h +enginetest.o: ../include/openssl/buffer.h ../include/openssl/crypto.h +enginetest.o: ../include/openssl/dh.h ../include/openssl/dsa.h +enginetest.o: ../include/openssl/e_os2.h ../include/openssl/ec.h +enginetest.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h +enginetest.o: ../include/openssl/err.h ../include/openssl/lhash.h +enginetest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +enginetest.o: ../include/openssl/ossl_typ.h ../include/openssl/rand.h +enginetest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +enginetest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h +enginetest.o: ../include/openssl/ui.h enginetest.c +evp_test.o: ../include/openssl/asn1.h ../include/openssl/asn1t.h +evp_test.o: ../include/openssl/bio.h ../include/openssl/bn.h +evp_test.o: ../include/openssl/conf.h ../include/openssl/crypto.h +evp_test.o: ../include/openssl/dh.h ../include/openssl/dsa.h +evp_test.o: ../include/openssl/e_os2.h ../include/openssl/ec.h +evp_test.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h +evp_test.o: ../include/openssl/err.h ../include/openssl/evp.h +evp_test.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h +evp_test.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h +evp_test.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h +evp_test.o: ../include/openssl/rand.h ../include/openssl/rsa.h +evp_test.o: ../include/openssl/safestack.h ../include/openssl/stack.h +evp_test.o: ../include/openssl/symhacks.h ../include/openssl/ui.h evp_test.c exptest.o: ../include/openssl/bio.h ../include/openssl/bn.h exptest.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h exptest.o: ../include/openssl/err.h ../include/openssl/lhash.h @@ -499,16 +528,17 @@ rmdtest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h rmdtest.o: ../include/openssl/ossl_typ.h ../include/openssl/ripemd.h rmdtest.o: ../include/openssl/safestack.h ../include/openssl/stack.h rmdtest.o: ../include/openssl/symhacks.h rmdtest.c -rsa_test.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -rsa_test.o: ../include/openssl/bn.h ../include/openssl/crypto.h -rsa_test.o: ../include/openssl/dh.h ../include/openssl/dsa.h -rsa_test.o: ../include/openssl/e_os2.h ../include/openssl/engine.h -rsa_test.o: ../include/openssl/err.h ../include/openssl/lhash.h -rsa_test.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -rsa_test.o: ../include/openssl/ossl_typ.h ../include/openssl/rand.h -rsa_test.o: ../include/openssl/rsa.h ../include/openssl/safestack.h -rsa_test.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -rsa_test.o: ../include/openssl/ui.h rsa_test.c +rsa_test.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +rsa_test.o: ../include/openssl/bio.h ../include/openssl/bn.h +rsa_test.o: ../include/openssl/crypto.h ../include/openssl/dh.h +rsa_test.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +rsa_test.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +rsa_test.o: ../include/openssl/engine.h ../include/openssl/err.h +rsa_test.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h +rsa_test.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h +rsa_test.o: ../include/openssl/rand.h ../include/openssl/rsa.h +rsa_test.o: ../include/openssl/safestack.h ../include/openssl/stack.h +rsa_test.o: ../include/openssl/symhacks.h ../include/openssl/ui.h rsa_test.c sha1test.o: ../include/openssl/asn1.h ../include/openssl/bio.h sha1test.o: ../include/openssl/bn.h ../include/openssl/crypto.h sha1test.o: ../include/openssl/e_os2.h ../include/openssl/evp.h @@ -525,21 +555,23 @@ shatest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h shatest.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h shatest.o: ../include/openssl/sha.h ../include/openssl/stack.h shatest.o: ../include/openssl/symhacks.h shatest.c -ssltest.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h -ssltest.o: ../include/openssl/bn.h ../include/openssl/buffer.h -ssltest.o: ../include/openssl/comp.h ../include/openssl/crypto.h -ssltest.o: ../include/openssl/dh.h ../include/openssl/dsa.h -ssltest.o: ../include/openssl/e_os2.h ../include/openssl/engine.h -ssltest.o: ../include/openssl/err.h ../include/openssl/evp.h -ssltest.o: ../include/openssl/kssl.h ../include/openssl/lhash.h -ssltest.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h -ssltest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h -ssltest.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h -ssltest.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h -ssltest.o: ../include/openssl/rand.h ../include/openssl/rsa.h -ssltest.o: ../include/openssl/safestack.h ../include/openssl/sha.h -ssltest.o: ../include/openssl/ssl.h ../include/openssl/ssl2.h -ssltest.o: ../include/openssl/ssl23.h ../include/openssl/ssl3.h -ssltest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -ssltest.o: ../include/openssl/tls1.h ../include/openssl/ui.h -ssltest.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h ssltest.c +ssltest.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/asn1t.h +ssltest.o: ../include/openssl/bio.h ../include/openssl/bn.h +ssltest.o: ../include/openssl/buffer.h ../include/openssl/comp.h +ssltest.o: ../include/openssl/crypto.h ../include/openssl/dh.h +ssltest.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +ssltest.o: ../include/openssl/ec.h ../include/openssl/ecdsa.h +ssltest.o: ../include/openssl/engine.h ../include/openssl/err.h +ssltest.o: ../include/openssl/evp.h ../include/openssl/kssl.h +ssltest.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h +ssltest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h +ssltest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h +ssltest.o: ../include/openssl/pem.h ../include/openssl/pem2.h +ssltest.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h +ssltest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +ssltest.o: ../include/openssl/sha.h ../include/openssl/ssl.h +ssltest.o: ../include/openssl/ssl2.h ../include/openssl/ssl23.h +ssltest.o: ../include/openssl/ssl3.h ../include/openssl/stack.h +ssltest.o: ../include/openssl/symhacks.h ../include/openssl/tls1.h +ssltest.o: ../include/openssl/ui.h ../include/openssl/x509.h +ssltest.o: ../include/openssl/x509_vfy.h ssltest.c diff --git a/util/libeay.num b/util/libeay.num index adbb09a57f..68f2e05854 100755 --- a/util/libeay.num +++ b/util/libeay.num @@ -2760,3 +2760,75 @@ DES_read_2passwords 3206 EXIST::FUNCTION:DES DES_read_password 3207 EXIST::FUNCTION:DES UI_UTIL_read_pw 3208 EXIST::FUNCTION: UI_UTIL_read_pw_string 3209 EXIST::FUNCTION: +EC_GROUP_new_by_name 3210 EXIST::FUNCTION:EC +d2i_ECDSA_PUBKEY 3211 EXIST::FUNCTION:ECDSA +PEM_read_bio_ECDSAPrivateKey 3212 EXIST::FUNCTION:ECDSA +ECDSA_SIG_new 3213 EXIST::FUNCTION:ECDSA +ECDSA_verify 3214 EXIST::FUNCTION:ECDSA +i2d_ECDSAParameters 3215 EXIST::FUNCTION:ECDSA +i2d_ECDSAPrivateKey_bio 3216 EXIST::FUNCTION:BIO,ECDSA +PEM_write_bio_ECDSAParameters 3217 EXIST::FUNCTION:ECDSA +ECDSAParameters_print_fp 3218 EXIST::FUNCTION:ECDSA,FP_API +ENGINE_set_default_ECDSA 3219 EXIST::FUNCTION: +PEM_read_bio_ECDSA_PUBKEY 3220 EXIST::FUNCTION:ECDSA +ECDSA_check_key 3221 EXIST::FUNCTION:ECDSA +ECDSA_new_method 3222 EXIST::FUNCTION:ECDSA +d2i_ECDSAPrivateKey_bio 3223 EXIST::FUNCTION:BIO,ECDSA +i2d_ECDSA_PUBKEY 3224 EXIST::FUNCTION:ECDSA +i2d_ECDSA_PUBKEY_fp 3225 EXIST::FUNCTION:ECDSA,FP_API +ENGINE_unregister_ECDSA 3226 EXIST::FUNCTION: +ECDSA_free 3227 EXIST::FUNCTION:ECDSA +ECDSAParameters_print 3228 EXIST::FUNCTION:BIO,ECDSA +PEM_write_bio_ECDSA_PUBKEY 3229 EXIST::FUNCTION:ECDSA +ECDSA_set_method 3230 EXIST::FUNCTION:ECDSA +ECDSA_print 3231 EXIST::FUNCTION:BIO,ECDSA +EVP_PKEY_get1_ECDSA 3232 EXIST::FUNCTION:ECDSA +ECDSA_SIG_free 3233 EXIST::FUNCTION:ECDSA +ECDSA_get_default_openssl_method 3234 EXIST::FUNCTION:ECDSA +ENGINE_get_default_ECDSA 3235 EXIST::FUNCTION: +PEM_write_ECDSAPrivateKey 3236 EXIST:!WIN16:FUNCTION:ECDSA +ECDSA_sign_setup 3237 EXIST::FUNCTION:ECDSA +ENGINE_get_ECDSA 3238 EXIST::FUNCTION: +d2i_ECDSA_PUBKEY_bio 3239 EXIST::FUNCTION:BIO,ECDSA +ECDSA_sign 3240 EXIST::FUNCTION:ECDSA +ENGINE_register_ECDSA 3241 EXIST::FUNCTION: +d2i_ECDSAPrivateKey_fp 3242 EXIST::FUNCTION:ECDSA,FP_API +ECDSA_print_fp 3243 EXIST::FUNCTION:ECDSA,FP_API +i2d_ECDSAPrivateKey 3244 EXIST::FUNCTION:ECDSA +d2i_ECDSAParameters 3245 EXIST::FUNCTION:ECDSA +d2i_ECDSAPublicKey 3246 EXIST::FUNCTION:ECDSA +PEM_write_bio_ECDSAPrivateKey 3247 EXIST::FUNCTION:ECDSA +d2i_ECDSA_SIG 3248 EXIST::FUNCTION:ECDSA +ECDSA_size 3249 EXIST::FUNCTION:ECDSA +EC_GROUP_set_nid 3250 EXIST::FUNCTION:EC +EVP_PKEY_set1_ECDSA 3251 EXIST::FUNCTION:ECDSA +EC_GROUP_get_nid 3252 EXIST::FUNCTION:EC +d2i_ECDSA_PUBKEY_fp 3253 EXIST::FUNCTION:ECDSA,FP_API +ECDSA_OpenSSL 3254 EXIST::FUNCTION:ECDSA +ECDSA_get_parameter_flags 3255 EXIST::FUNCTION:ECDSA +PEM_read_ECDSAParameters 3256 EXIST:!WIN16:FUNCTION:ECDSA +ECDSA_get_ex_data 3257 EXIST::FUNCTION:ECDSA +ECDSA_do_verify 3258 EXIST::FUNCTION:ECDSA +ECDSA_do_sign 3259 EXIST::FUNCTION:ECDSA +ECDSA_set_parameter_flags 3260 EXIST::FUNCTION:ECDSA +i2d_ECDSA_SIG 3261 EXIST::FUNCTION:ECDSA +PEM_read_bio_ECDSAParameters 3262 EXIST::FUNCTION:ECDSA +ENGINE_load_aep 3263 EXIST::FUNCTION: +EVP_ecdsa 3264 EXIST::FUNCTION:SHA +ECDSA_set_default_method 3265 EXIST::FUNCTION:ECDSA +ENGINE_set_ECDSA 3266 EXIST::FUNCTION: +ECDSA_get_ex_new_index 3267 EXIST::FUNCTION:ECDSA +i2d_ECDSAPublicKey 3268 EXIST::FUNCTION:ECDSA +PEM_write_ECDSA_PUBKEY 3269 EXIST:!WIN16:FUNCTION:ECDSA +ECDSA_set_ex_data 3270 EXIST::FUNCTION:ECDSA +i2d_ECDSA_PUBKEY_bio 3271 EXIST::FUNCTION:BIO,ECDSA +ENGINE_load_sureware 3272 EXIST::FUNCTION: +d2i_ECDSAPrivateKey 3273 EXIST::FUNCTION:ECDSA +EC_GROUP_new_by_nid 3274 EXIST::FUNCTION:EC +PEM_read_ECDSA_PUBKEY 3275 EXIST:!WIN16:FUNCTION:ECDSA +ECDSA_up_ref 3276 EXIST::FUNCTION:ECDSA +ENGINE_register_all_ECDSA 3277 EXIST::FUNCTION: +ECDSA_generate_key 3278 EXIST::FUNCTION:ECDSA +PEM_write_ECDSAParameters 3279 EXIST:!WIN16:FUNCTION:ECDSA +i2d_ECDSAPrivateKey_fp 3280 EXIST::FUNCTION:ECDSA,FP_API +PEM_read_ECDSAPrivateKey 3281 EXIST:!WIN16:FUNCTION:ECDSA diff --git a/util/mkdef.pl b/util/mkdef.pl index 071036a6d2..3ed8e53473 100755 --- a/util/mkdef.pl +++ b/util/mkdef.pl @@ -82,7 +82,7 @@ my @known_ossl_platforms = ( "VMS", "WIN16", "WIN32", "WINNT" ); my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF", "CAST", "MD2", "MD4", "MD5", "SHA", "SHA0", "SHA1", "RIPEMD", - "MDC2", "RSA", "DSA", "DH", "EC", "HMAC", "AES", + "MDC2", "RSA", "DSA", "DH", "EC", "ECDSA", "HMAC", "AES", # Envelope "algorithms" "EVP", "X509", "ASN1_TYPEDEFS", # Helper "algorithms" @@ -105,7 +105,7 @@ my $no_rc2; my $no_rc4; my $no_rc5; my $no_idea; my $no_des; my $no_bf; my $no_cast; my $no_md2; my $no_md4; my $no_md5; my $no_sha; my $no_ripemd; my $no_mdc2; my $no_rsa; my $no_dsa; my $no_dh; my $no_hmac=0; my $no_aes; my $no_krb5; -my $no_ec; +my $no_ec; my $no_ecdsa; my $no_fp_api; foreach (@ARGV, split(/ /, $options)) @@ -155,6 +155,7 @@ foreach (@ARGV, split(/ /, $options)) elsif (/^no-dsa$/) { $no_dsa=1; } elsif (/^no-dh$/) { $no_dh=1; } elsif (/^no-ec$/) { $no_ec=1; } + elsif (/^no-ecdsa$/) { $no_ecdsa=1; } elsif (/^no-hmac$/) { $no_hmac=1; } elsif (/^no-aes$/) { $no_aes=1; } elsif (/^no-evp$/) { $no_evp=1; } @@ -215,6 +216,7 @@ $crypto.=" crypto/rsa/rsa.h" ; # unless $no_rsa; $crypto.=" crypto/dsa/dsa.h" ; # unless $no_dsa; $crypto.=" crypto/dh/dh.h" ; # unless $no_dh; $crypto.=" crypto/ec/ec.h" ; # unless $no_ec; +$crypto.=" crypto/ecdsa/ecdsa.h" ; # unless $no_ecdsa; $crypto.=" crypto/hmac/hmac.h" ; # unless $no_hmac; $crypto.=" crypto/engine/engine.h"; @@ -1022,6 +1024,7 @@ sub is_valid if ($keyword eq "DSA" && $no_dsa) { return 0; } if ($keyword eq "DH" && $no_dh) { return 0; } if ($keyword eq "EC" && $no_ec) { return 0; } + if ($keyword eq "ECDSA" && $no_ecdsa) { return 0; } if ($keyword eq "HMAC" && $no_hmac) { return 0; } if ($keyword eq "AES" && $no_aes) { return 0; } if ($keyword eq "EVP" && $no_evp) { return 0; } diff --git a/util/mkerr.pl b/util/mkerr.pl index 6c2237d142..4105047b21 100644 --- a/util/mkerr.pl +++ b/util/mkerr.pl @@ -262,7 +262,7 @@ foreach $lib (keys %csrc) } else { push @out, "/* ====================================================================\n", -" * Copyright (c) 2001 The OpenSSL Project. All rights reserved.\n", +" * Copyright (c) 2001-2002 The OpenSSL Project. All rights reserved.\n", " *\n", " * Redistribution and use in source and binary forms, with or without\n", " * modification, are permitted provided that the following conditions\n", @@ -404,7 +404,7 @@ EOF print OUT <<"EOF"; /* $cfile */ /* ==================================================================== - * Copyright (c) 1999 The OpenSSL Project. All rights reserved. + * Copyright (c) 1999-2002 The OpenSSL Project. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions -- 2.25.1