diff --git a/CHANGES b/CHANGES index b55eba36e3f3c74a4bc4996982b207cbcfbe4749..33c91862fb9d195c3545b84cadc6e6816aa1983f 100644 --- a/CHANGES +++ b/CHANGES @@ -284,8 +284,21 @@ *) Add print and set support for Issuing Distribution Point CRL extension. [Steve Henson] + *) Change 'Configure' script to enable Camellia by default. + [NTT] + Changes between 0.9.8b and 0.9.8c [xx XXX xxxx] + *) Add the symmetric cipher Camellia (128-bit, 192-bit, 256-bit key + versions), which is now available for royalty-free use + (see http://info.isl.ntt.co.jp/crypt/eng/info/chiteki.html). + Also, add Camellia TLS ciphersuites from RFC 4132. + + To minimize changes between patchlevels in the OpenSSL 0.9.8 + series, Camellia remains excluded from compilation unless OpenSSL + is configured with 'enable-camellia'. + [NTT] + *) Disable the padding bug check when compression is in use. The padding bug check assumes the first packet is of even length, this is not necessarily true if compresssion is enabled and can result in false diff --git a/Makefile.org b/Makefile.org index cf5df2f852b3a42f755b25ee84539ce84c29f7bf..b55b6ba8ace84bbcc0a510f9466e6693ce8b6381 100644 --- a/Makefile.org +++ b/Makefile.org @@ -112,7 +112,7 @@ SHLIBDIRS= crypto ssl SDIRS= \ objects \ md2 md4 md5 sha mdc2 hmac ripemd whrlpool \ - des aes rc2 rc4 rc5 idea bf cast \ + des aes rc2 rc4 rc5 idea bf cast camellia \ bn ec rsa dsa ecdsa dh ecdh dso engine \ buffer bio stack lhash rand err \ evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \ diff --git a/apps/Makefile b/apps/Makefile index 7167fc54ad92b9feb0fc1d49716c11c5de40e98c..90d45176f47d54d728a6d75d8173a9ce9fa3dcf9 100644 --- a/apps/Makefile +++ b/apps/Makefile @@ -865,26 +865,27 @@ smime.o: ../include/openssl/x509v3.h apps.h smime.c speed.o: ../e_os.h ../include/openssl/aes.h ../include/openssl/asn1.h speed.o: ../include/openssl/bio.h ../include/openssl/blowfish.h speed.o: ../include/openssl/bn.h ../include/openssl/buffer.h -speed.o: ../include/openssl/cast.h ../include/openssl/conf.h -speed.o: ../include/openssl/crypto.h ../include/openssl/des.h -speed.o: ../include/openssl/des_old.h ../include/openssl/dsa.h -speed.o: ../include/openssl/e_os2.h ../include/openssl/ec.h -speed.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h -speed.o: ../include/openssl/engine.h ../include/openssl/err.h -speed.o: ../include/openssl/evp.h ../include/openssl/hmac.h -speed.o: ../include/openssl/idea.h ../include/openssl/lhash.h -speed.o: ../include/openssl/md2.h ../include/openssl/md4.h -speed.o: ../include/openssl/md5.h ../include/openssl/obj_mac.h -speed.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h -speed.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -speed.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h -speed.o: ../include/openssl/rc2.h ../include/openssl/rc4.h -speed.o: ../include/openssl/ripemd.h ../include/openssl/rsa.h -speed.o: ../include/openssl/safestack.h ../include/openssl/sha.h -speed.o: ../include/openssl/stack.h ../include/openssl/symhacks.h -speed.o: ../include/openssl/txt_db.h ../include/openssl/ui.h -speed.o: ../include/openssl/ui_compat.h ../include/openssl/x509.h -speed.o: ../include/openssl/x509_vfy.h apps.h speed.c testdsa.h testrsa.h +speed.o: ../include/openssl/camellia.h ../include/openssl/cast.h +speed.o: ../include/openssl/conf.h ../include/openssl/crypto.h +speed.o: ../include/openssl/des.h ../include/openssl/des_old.h +speed.o: ../include/openssl/dsa.h ../include/openssl/e_os2.h +speed.o: ../include/openssl/ec.h ../include/openssl/ecdh.h +speed.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h +speed.o: ../include/openssl/err.h ../include/openssl/evp.h +speed.o: ../include/openssl/hmac.h ../include/openssl/idea.h +speed.o: ../include/openssl/lhash.h ../include/openssl/md2.h +speed.o: ../include/openssl/md4.h ../include/openssl/md5.h +speed.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h +speed.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h +speed.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h +speed.o: ../include/openssl/rand.h ../include/openssl/rc2.h +speed.o: ../include/openssl/rc4.h ../include/openssl/ripemd.h +speed.o: ../include/openssl/rsa.h ../include/openssl/safestack.h +speed.o: ../include/openssl/sha.h ../include/openssl/stack.h +speed.o: ../include/openssl/symhacks.h ../include/openssl/txt_db.h +speed.o: ../include/openssl/ui.h ../include/openssl/ui_compat.h +speed.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h apps.h speed.c +speed.o: testdsa.h testrsa.h spkac.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h spkac.o: ../include/openssl/buffer.h ../include/openssl/conf.h spkac.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h diff --git a/apps/dsa.c b/apps/dsa.c index 091f936571d9f2f703872b9f72b7e00046c5a5bc..ab258eb83c001280bcd4530f81bd518b48469504 100644 --- a/apps/dsa.c +++ b/apps/dsa.c @@ -84,6 +84,9 @@ * -aes128 - encrypt output if PEM format * -aes192 - encrypt output if PEM format * -aes256 - encrypt output if PEM format + * -camellia128 - encrypt output if PEM format + * -camellia192 - encrypt output if PEM format + * -camellia256 - encrypt output if PEM format * -text - print a text version * -modulus - print the DSA public key */ @@ -219,6 +222,10 @@ bad: #ifndef OPENSSL_NO_AES BIO_printf(bio_err," -aes128, -aes192, -aes256\n"); BIO_printf(bio_err," encrypt PEM output with cbc aes\n"); +#endif +#ifndef OPENSSL_NO_CAMELLIA + BIO_printf(bio_err," -camellia128, -camellia192, -camellia256\n"); + BIO_printf(bio_err," encrypt PEM output with cbc camellia\n"); #endif BIO_printf(bio_err," -text print the key in text\n"); BIO_printf(bio_err," -noout don't print key out\n"); diff --git a/apps/gendsa.c b/apps/gendsa.c index 828e27f1c0458f39088eb2bbd487a20bdfe4bfb3..936a42b810fc2b30ec379f6e6c3b2734b08ecbd0 100644 --- a/apps/gendsa.c +++ b/apps/gendsa.c @@ -147,6 +147,14 @@ int MAIN(int argc, char **argv) enc=EVP_aes_192_cbc(); else if (strcmp(*argv,"-aes256") == 0) enc=EVP_aes_256_cbc(); +#endif +#ifndef OPENSSL_NO_CAMELLIA + else if (strcmp(*argv,"-camellia128") == 0) + enc=EVP_camellia_128_cbc(); + else if (strcmp(*argv,"-camellia192") == 0) + enc=EVP_camellia_192_cbc(); + else if (strcmp(*argv,"-camellia256") == 0) + enc=EVP_camellia_256_cbc(); #endif else if (**argv != '-' && dsaparams == NULL) { @@ -174,6 +182,10 @@ bad: BIO_printf(bio_err," -aes128, -aes192, -aes256\n"); BIO_printf(bio_err," encrypt PEM output with cbc aes\n"); #endif +#ifndef OPENSSL_NO_CAMELLIA + BIO_printf(bio_err," -camellia128, -camellia192, -camellia256\n"); + BIO_printf(bio_err," encrypt PEM output with cbc camellia\n"); +#endif #ifndef OPENSSL_NO_ENGINE BIO_printf(bio_err," -engine e - use engine e, possibly a hardware device.\n"); #endif diff --git a/apps/genrsa.c b/apps/genrsa.c index 4f62cfd04f3d1b654345e04a0fa0a3dc99123c58..d716a3cde353477254fb92d4832e954d327bb77b 100644 --- a/apps/genrsa.c +++ b/apps/genrsa.c @@ -167,6 +167,14 @@ int MAIN(int argc, char **argv) enc=EVP_aes_192_cbc(); else if (strcmp(*argv,"-aes256") == 0) enc=EVP_aes_256_cbc(); +#endif +#ifndef OPENSSL_NO_CAMELLIA + else if (strcmp(*argv,"-camellia128") == 0) + enc=EVP_camellia_128_cbc(); + else if (strcmp(*argv,"-camellia192") == 0) + enc=EVP_camellia_192_cbc(); + else if (strcmp(*argv,"-camellia256") == 0) + enc=EVP_camellia_256_cbc(); #endif else if (strcmp(*argv,"-passout") == 0) { @@ -190,6 +198,10 @@ bad: #ifndef OPENSSL_NO_AES BIO_printf(bio_err," -aes128, -aes192, -aes256\n"); BIO_printf(bio_err," encrypt PEM output with cbc aes\n"); +#endif +#ifndef OPENSSL_NO_CAMELLIA + BIO_printf(bio_err," -camellia128, -camellia192, -camellia256\n"); + BIO_printf(bio_err," encrypt PEM output with cbc camellia\n"); #endif BIO_printf(bio_err," -out file output the key to 'file\n"); BIO_printf(bio_err," -passout arg output file pass phrase source\n"); diff --git a/apps/openssl.c b/apps/openssl.c index a9f3df0955687f2177e9e413c319baffa86078b1..f996bb3e184efb6ce5a9753a2ee75c10982f4123 100644 --- a/apps/openssl.c +++ b/apps/openssl.c @@ -56,7 +56,7 @@ * [including the GNU Public Licence.] */ /* ==================================================================== - * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. + * Copyright (c) 1998-2006 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 @@ -459,7 +459,11 @@ static int do_cmd(LHASH *prog, int argc, char *argv[]) for (fp=functions; fp->name != NULL; fp++) { nl=0; +#ifdef OPENSSL_NO_CAMELLIA if (((i++) % 5) == 0) +#else + if (((i++) % 4) == 0) +#endif { BIO_printf(bio_err,"\n"); nl=1; @@ -480,7 +484,11 @@ static int do_cmd(LHASH *prog, int argc, char *argv[]) BIO_printf(bio_err,"\nCipher commands (see the `enc' command for more details)\n"); } } +#ifdef OPENSSL_NO_CAMELLIA BIO_printf(bio_err,"%-15s",fp->name); +#else + BIO_printf(bio_err,"%-18s",fp->name); +#endif } BIO_printf(bio_err,"\n\n"); ret=0; diff --git a/apps/pkcs12.c b/apps/pkcs12.c index 2e1c0e2c4a0477ef9080c1728341ece98f1ebdd4..9fa33f64dc8fe7c3ad93f856e8bb21e4a05ee3f9 100644 --- a/apps/pkcs12.c +++ b/apps/pkcs12.c @@ -3,7 +3,7 @@ * project. */ /* ==================================================================== - * Copyright (c) 1999-2002 The OpenSSL Project. All rights reserved. + * Copyright (c) 1999-2006 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 @@ -163,6 +163,11 @@ int MAIN(int argc, char **argv) else if (!strcmp(*args,"-aes128")) enc=EVP_aes_128_cbc(); else if (!strcmp(*args,"-aes192")) enc=EVP_aes_192_cbc(); else if (!strcmp(*args,"-aes256")) enc=EVP_aes_256_cbc(); +#endif +#ifndef OPENSSL_NO_CAMELLIA + else if (!strcmp(*args,"-camellia128")) enc=EVP_camellia_128_cbc(); + else if (!strcmp(*args,"-camellia192")) enc=EVP_camellia_192_cbc(); + else if (!strcmp(*args,"-camellia256")) enc=EVP_camellia_256_cbc(); #endif else if (!strcmp (*args, "-noiter")) iter = 1; else if (!strcmp (*args, "-maciter")) @@ -291,6 +296,10 @@ int MAIN(int argc, char **argv) #ifndef OPENSSL_NO_AES BIO_printf (bio_err, "-aes128, -aes192, -aes256\n"); BIO_printf (bio_err, " encrypt PEM output with cbc aes\n"); +#endif +#ifndef OPENSSL_NO_CAMELLIA + BIO_printf (bio_err, "-camellia128, -camellia192, -camellia256\n"); + BIO_printf (bio_err, " encrypt PEM output with cbc camellia\n"); #endif BIO_printf (bio_err, "-nodes don't encrypt private keys\n"); BIO_printf (bio_err, "-noiter don't use encryption iteration\n"); diff --git a/apps/progs.h b/apps/progs.h index 3458b11c16782982c4126b496f75fe5c01ae681c..a1a421ac406f939cc1a349e881d80216ee7824ea 100644 --- a/apps/progs.h +++ b/apps/progs.h @@ -176,6 +176,24 @@ FUNCTION functions[] = { #endif #ifndef OPENSSL_NO_AES {FUNC_TYPE_CIPHER,"aes-256-ecb",enc_main}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FUNC_TYPE_CIPHER,"camellia-128-cbc",enc_main}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FUNC_TYPE_CIPHER,"camellia-128-ecb",enc_main}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FUNC_TYPE_CIPHER,"camellia-192-cbc",enc_main}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FUNC_TYPE_CIPHER,"camellia-192-ecb",enc_main}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FUNC_TYPE_CIPHER,"camellia-256-cbc",enc_main}, +#endif +#ifndef OPENSSL_NO_CAMELLIA + {FUNC_TYPE_CIPHER,"camellia-256-ecb",enc_main}, #endif {FUNC_TYPE_CIPHER,"base64",enc_main}, #ifndef OPENSSL_NO_DES diff --git a/apps/progs.pl b/apps/progs.pl index aac86a3d9eb8eb97b57f150b3bc37b7d127ef4e0..02381087aeebe3f50f065a88db0f7185e26df1c5 100644 --- a/apps/progs.pl +++ b/apps/progs.pl @@ -58,6 +58,9 @@ foreach ( "aes-128-cbc", "aes-128-ecb", "aes-192-cbc", "aes-192-ecb", "aes-256-cbc", "aes-256-ecb", + "camellia-128-cbc", "camellia-128-ecb", + "camellia-192-cbc", "camellia-192-ecb", + "camellia-256-cbc", "camellia-256-ecb", "base64", "des", "des3", "desx", "idea", "rc4", "rc4-40", "rc2", "bf", "cast", "rc5", @@ -76,6 +79,7 @@ foreach ( $t=sprintf("\t{FUNC_TYPE_CIPHER,\"%s\",enc_main},\n",$_); if ($_ =~ /des/) { $t="#ifndef OPENSSL_NO_DES\n${t}#endif\n"; } elsif ($_ =~ /aes/) { $t="#ifndef OPENSSL_NO_AES\n${t}#endif\n"; } + elsif ($_ =~ /camellia/) { $t="#ifndef OPENSSL_NO_CAMELLIA\n${t}#endif\n"; } elsif ($_ =~ /idea/) { $t="#ifndef OPENSSL_NO_IDEA\n${t}#endif\n"; } elsif ($_ =~ /rc4/) { $t="#ifndef OPENSSL_NO_RC4\n${t}#endif\n"; } elsif ($_ =~ /rc2/) { $t="#ifndef OPENSSL_NO_RC2\n${t}#endif\n"; } diff --git a/apps/rsa.c b/apps/rsa.c index 3166c6ad727426e3f20e784f5f80aa3250825fbf..f79f375742917ae94a6a61c777e709ba6a796fa9 100644 --- a/apps/rsa.c +++ b/apps/rsa.c @@ -84,6 +84,9 @@ * -aes128 - encrypt output if PEM format * -aes192 - encrypt output if PEM format * -aes256 - encrypt output if PEM format + * -camellia128 - encrypt output if PEM format + * -camellia192 - encrypt output if PEM format + * -camellia256 - encrypt output if PEM format * -text - print a text version * -modulus - print the RSA key modulus * -check - verify key consistency @@ -223,6 +226,10 @@ bad: #ifndef OPENSSL_NO_AES BIO_printf(bio_err," -aes128, -aes192, -aes256\n"); BIO_printf(bio_err," encrypt PEM output with cbc aes\n"); +#endif +#ifndef OPENSSL_NO_CAMELLIA + BIO_printf(bio_err," -camellia128, -camellia192, -camellia256\n"); + BIO_printf(bio_err," encrypt PEM output with cbc camellia\n"); #endif BIO_printf(bio_err," -text print the key in text\n"); BIO_printf(bio_err," -noout don't print key out\n"); diff --git a/apps/smime.c b/apps/smime.c index c5453eafe2f938405f67bf43a48bf46ebd037606..69ce28039a7be863d29661e4ef171e6f1a02ab84 100644 --- a/apps/smime.c +++ b/apps/smime.c @@ -167,6 +167,14 @@ int MAIN(int argc, char **argv) cipher = EVP_aes_192_cbc(); else if (!strcmp(*args,"-aes256")) cipher = EVP_aes_256_cbc(); +#endif +#ifndef OPENSSL_NO_CAMELLIA + else if (!strcmp(*args,"-camellia128")) + cipher = EVP_camellia_128_cbc(); + else if (!strcmp(*args,"-camellia192")) + cipher = EVP_camellia_192_cbc(); + else if (!strcmp(*args,"-camellia256")) + cipher = EVP_camellia_256_cbc(); #endif else if (!strcmp (*args, "-text")) flags |= PKCS7_TEXT; @@ -429,6 +437,10 @@ int MAIN(int argc, char **argv) #ifndef OPENSSL_NO_AES BIO_printf (bio_err, "-aes128, -aes192, -aes256\n"); BIO_printf (bio_err, " encrypt PEM output with cbc aes\n"); +#endif +#ifndef OPENSSL_NO_CAMELLIA + BIO_printf (bio_err, "-camellia128, -camellia192, -camellia256\n"); + BIO_printf (bio_err, " encrypt PEM output with cbc camellia\n"); #endif BIO_printf (bio_err, "-nointern don't search certificates in message for signer\n"); BIO_printf (bio_err, "-nosigs don't verify message signature\n"); diff --git a/apps/speed.c b/apps/speed.c index 9b8365c44f3681c1112511190a81601c906d6e6b..c53f815d470ff66ab25eccd81a5e8d5a4d19dc2d 100644 --- a/apps/speed.c +++ b/apps/speed.c @@ -119,6 +119,9 @@ #ifndef OPENSSL_NO_AES #include #endif +#ifndef OPENSSL_NO_CAMELLIA +#include +#endif #ifndef OPENSSL_NO_MD2 #include #endif @@ -195,7 +198,7 @@ static void print_result(int alg,int run_no,int count,double time_used); static int do_multi(int multi); #endif -#define ALGOR_NUM 21 +#define ALGOR_NUM 24 #define SIZE_NUM 5 #define RSA_NUM 4 #define DSA_NUM 3 @@ -207,7 +210,9 @@ static const char *names[ALGOR_NUM]={ "md2","mdc2","md4","md5","hmac(md5)","sha1","rmd160","rc4", "des cbc","des ede3","idea cbc", "rc2 cbc","rc5-32/12 cbc","blowfish cbc","cast cbc", - "aes-128 cbc","aes-192 cbc","aes-256 cbc","evp","sha256","sha512"}; + "aes-128 cbc","aes-192 cbc","aes-256 cbc", + "camellia-128 cbc","camellia-192 cbc","camellia-256 cbc", + "evp","sha256","sha512"}; static double results[ALGOR_NUM][SIZE_NUM]; static int lengths[SIZE_NUM]={16,64,256,1024,8*1024}; static double rsa_results[RSA_NUM][2]; @@ -379,6 +384,17 @@ int MAIN(int argc, char **argv) 0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34, 0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,0x56}; #endif +#ifndef OPENSSL_NO_CAMELLIA + static const unsigned char ckey24[24]= + {0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0, + 0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12, + 0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34}; + static const unsigned char ckey32[32]= + {0x12,0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0, + 0x34,0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12, + 0x56,0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34, + 0x78,0x9a,0xbc,0xde,0xf0,0x12,0x34,0x56}; +#endif #ifndef OPENSSL_NO_AES #define MAX_BLOCK_SIZE 128 #else @@ -398,6 +414,9 @@ int MAIN(int argc, char **argv) #ifndef OPENSSL_NO_AES AES_KEY aes_ks1, aes_ks2, aes_ks3; #endif +#ifndef OPENSSL_NO_CAMELLIA + CAMELLIA_KEY camellia_ks1, camellia_ks2, camellia_ks3; +#endif #define D_MD2 0 #define D_MDC2 1 #define D_MD4 2 @@ -416,9 +435,12 @@ int MAIN(int argc, char **argv) #define D_CBC_128_AES 15 #define D_CBC_192_AES 16 #define D_CBC_256_AES 17 -#define D_EVP 18 -#define D_SHA256 19 -#define D_SHA512 20 +#define D_CBC_128_CML 18 +#define D_CBC_192_CML 19 +#define D_CBC_256_CML 20 +#define D_EVP 21 +#define D_SHA256 22 +#define D_SHA512 23 double d=0.0; long c[ALGOR_NUM][SIZE_NUM]; #define R_DSA_512 0 @@ -761,6 +783,12 @@ int MAIN(int argc, char **argv) else if (strcmp(*argv,"aes-256-cbc") == 0) doit[D_CBC_256_AES]=1; else #endif +#ifndef OPENSSL_NO_CAMELLIA + if (strcmp(*argv,"camellia-128-cbc") == 0) doit[D_CBC_128_CML]=1; + else if (strcmp(*argv,"camellia-192-cbc") == 0) doit[D_CBC_192_CML]=1; + else if (strcmp(*argv,"camellia-256-cbc") == 0) doit[D_CBC_256_CML]=1; + else +#endif #ifndef OPENSSL_NO_RSA #if 0 /* was: #ifdef RSAref */ if (strcmp(*argv,"rsaref") == 0) @@ -831,6 +859,15 @@ int MAIN(int argc, char **argv) } else #endif +#ifndef OPENSSL_NO_CAMELLIA + if (strcmp(*argv,"camellia") == 0) + { + doit[D_CBC_128_CML]=1; + doit[D_CBC_192_CML]=1; + doit[D_CBC_256_CML]=1; + } + else +#endif #ifndef OPENSSL_NO_RSA if (strcmp(*argv,"rsa") == 0) { @@ -957,6 +994,10 @@ int MAIN(int argc, char **argv) #ifndef OPENSSL_NO_AES BIO_printf(bio_err,"aes-128-cbc aes-192-cbc aes-256-cbc "); #endif +#ifndef OPENSSL_NO_CAMELLIA + BIO_printf(bio_err,"\n"); + BIO_printf(bio_err,"camellia-128-cbc camellia-192-cbc camellia-256-cbc "); +#endif #ifndef OPENSSL_NO_RC4 BIO_printf(bio_err,"rc4"); #endif @@ -994,6 +1035,9 @@ int MAIN(int argc, char **argv) #ifndef OPENSSL_NO_AES BIO_printf(bio_err,"aes "); #endif +#ifndef OPENSSL_NO_CAMELLIA + BIO_printf(bio_err,"camellia "); +#endif #ifndef OPENSSL_NO_RSA BIO_printf(bio_err,"rsa "); #endif @@ -1002,7 +1046,8 @@ int MAIN(int argc, char **argv) #endif #if !defined(OPENSSL_NO_IDEA) || !defined(OPENSSL_NO_RC2) || \ !defined(OPENSSL_NO_DES) || !defined(OPENSSL_NO_RSA) || \ - !defined(OPENSSL_NO_BF) || !defined(OPENSSL_NO_AES) + !defined(OPENSSL_NO_BF) || !defined(OPENSSL_NO_AES) || \ + !defined(OPENSSL_NO_CAMELLIA) BIO_printf(bio_err,"\n"); #endif @@ -1091,6 +1136,11 @@ int MAIN(int argc, char **argv) AES_set_encrypt_key(key24,192,&aes_ks2); AES_set_encrypt_key(key32,256,&aes_ks3); #endif +#ifndef OPENSSL_NO_CAMELLIA + Camellia_set_key(key16,128,&camellia_ks1); + Camellia_set_key(ckey24,192,&camellia_ks2); + Camellia_set_key(ckey32,256,&camellia_ks3); +#endif #ifndef OPENSSL_NO_IDEA idea_set_encrypt_key(key16,&idea_ks); #endif @@ -1144,6 +1194,9 @@ int MAIN(int argc, char **argv) c[D_CBC_128_AES][0]=count; c[D_CBC_192_AES][0]=count; c[D_CBC_256_AES][0]=count; + c[D_CBC_128_CML][0]=count; + c[D_CBC_192_CML][0]=count; + c[D_CBC_256_CML][0]=count; c[D_SHA256][0]=count; c[D_SHA512][0]=count; @@ -1176,6 +1229,9 @@ int MAIN(int argc, char **argv) c[D_CBC_128_AES][i]=c[D_CBC_128_AES][i-1]*l0/l1; c[D_CBC_192_AES][i]=c[D_CBC_192_AES][i-1]*l0/l1; c[D_CBC_256_AES][i]=c[D_CBC_256_AES][i-1]*l0/l1; + c[D_CBC_128_CML][i]=c[D_CBC_128_CML][i-1]*l0/l1; + c[D_CBC_192_CML][i]=c[D_CBC_192_CML][i-1]*l0/l1; + c[D_CBC_256_CML][i]=c[D_CBC_256_CML][i-1]*l0/l1; } #ifndef OPENSSL_NO_RSA rsa_c[R_RSA_512][0]=count/2000; @@ -1571,6 +1627,51 @@ int MAIN(int argc, char **argv) } } +#endif +#ifndef OPENSSL_NO_CAMELLIA + if (doit[D_CBC_128_CML]) + { + for (j=0; j + +cipher suites using Camellia. + =back =head1 CIPHER SUITE NAMES @@ -335,6 +339,24 @@ e.g. DES-CBC3-SHA. In these cases, RSA authentication is used. TLS_DH_anon_WITH_AES_128_CBC_SHA ADH-AES128-SHA TLS_DH_anon_WITH_AES_256_CBC_SHA ADH-AES256-SHA +=head2 Camellia ciphersuites from RFC4132, extending TLS v1.0 + + TLS_RSA_WITH_CAMELLIA_128_CBC_SHA CAMELLIA128-SHA + TLS_RSA_WITH_CAMELLIA_256_CBC_SHA CAMELLIA256-SHA + + TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA Not implemented. + TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA Not implemented. + TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA Not implemented. + TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA Not implemented. + + TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA DHE-DSS-CAMELLIA128-SHA + TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA DHE-DSS-CAMELLIA256-SHA + TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA DHE-RSA-CAMELLIA128-SHA + TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA DHE-RSA-CAMELLIA256-SHA + + TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA ADH-CAMELLIA128-SHA + TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA ADH-CAMELLIA256-SHA + =head2 Additional Export 1024 and other cipher suites Note: these ciphers can also be used in SSL v3. diff --git a/doc/apps/smime.pod b/doc/apps/smime.pod index 84b673f791ea8e27acfa33ab434df5ccc58e89bc..caf2d2689e62cf4685f77e9e8be1e38b7718151c 100644 --- a/doc/apps/smime.pod +++ b/doc/apps/smime.pod @@ -20,6 +20,9 @@ B B [B<-aes128>] [B<-aes192>] [B<-aes256>] +[B<-camellia128>] +[B<-camellia192>] +[B<-camellia256>] [B<-in file>] [B<-certfile file>] [B<-signer file>] @@ -129,10 +132,10 @@ B<-verify>. This directory must be a standard certificate directory: that is a hash of each subject name (using B) should be linked to each certificate. -=item B<-des -des3 -rc2-40 -rc2-64 -rc2-128 -aes128 -aes192 -aes256> +=item B<-des -des3 -rc2-40 -rc2-64 -rc2-128 -aes128 -aes192 -aes256 -camellia128 -camellia192 -camellia256> the encryption algorithm to use. DES (56 bits), triple DES (168 bits), -40, 64 or 128 bit RC2 or 128, 192 or 256 bit AES respectively. If not +40, 64 or 128 bit RC2, 128, 192 or 256 bit AES, or 128, 192 or 256 bit Camellia respectively. If not specified 40 bit RC2 is used. Only used with B<-encrypt>. =item B<-nointern> @@ -354,6 +357,10 @@ alternatively you can base64 decode the signature and use openssl smime -verify -inform DER -in signature.der -content content.txt +Create an encrypted message using 128 bit Camellia: + + openssl smime -encrypt -in plain.txt -camellia128 -out mail.msg cert.pem + =head1 BUGS The MIME parser isn't very clever: it seems to handle most messages that I've thrown diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c index bfb70515b0e53d5a3f11358e69b2e3f4fdbd5298..63edc36442d526aa4adfa7ee72b2560ef6434672 100644 --- a/ssl/s3_lib.c +++ b/ssl/s3_lib.c @@ -932,6 +932,89 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ SSL_ALL_STRENGTHS, }, +#ifndef OPENSSL_NO_CAMELLIA + /* Camellia ciphersuites from RFC4132 (128-bit portion) */ + + /* Cipher 41 */ + { + 1, + TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA, + TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA, + SSL_kRSA|SSL_aRSA|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1, + SSL_NOT_EXP|SSL_HIGH, + 0, + 128, + 128, + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS + }, + /* Cipher 42 */ + { + 0, /* not implemented (non-ephemeral DH) */ + TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA, + TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA, + SSL_kDHd|SSL_aDH|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1, + SSL_NOT_EXP|SSL_HIGH, + 0, + 128, + 128, + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS + }, + /* Cipher 43 */ + { + 0, /* not implemented (non-ephemeral DH) */ + TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA, + TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA, + SSL_kDHr|SSL_aDH|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1, + SSL_NOT_EXP|SSL_HIGH, + 0, + 128, + 128, + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS + }, + /* Cipher 44 */ + { + 1, + TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA, + TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA, + SSL_kEDH|SSL_aDSS|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1, + SSL_NOT_EXP|SSL_HIGH, + 0, + 128, + 128, + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS + }, + /* Cipher 45 */ + { + 1, + TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, + TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA, + SSL_kEDH|SSL_aRSA|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1, + SSL_NOT_EXP|SSL_HIGH, + 0, + 128, + 128, + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS + }, + /* Cipher 46 */ + { + 1, + TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA, + TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA, + SSL_kEDH|SSL_aNULL|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1, + SSL_NOT_EXP|SSL_HIGH, + 0, + 128, + 128, + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS + }, +#endif /* OPENSSL_NO_CAMELLIA */ + #if TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES /* New TLS Export CipherSuites from expired ID */ #if 0 @@ -1028,6 +1111,90 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ SSL_ALL_STRENGTHS }, #endif + +#ifndef OPENSSL_NO_CAMELLIA + /* Camellia ciphersuites from RFC4132 (256-bit portion) */ + + /* Cipher 84 */ + { + 1, + TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA, + TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA, + SSL_kRSA|SSL_aRSA|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1, + SSL_NOT_EXP|SSL_HIGH, + 0, + 256, + 256, + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS + }, + /* Cipher 85 */ + { + 0, /* not implemented (non-ephemeral DH) */ + TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA, + TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA, + SSL_kDHd|SSL_aDH|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1, + SSL_NOT_EXP|SSL_HIGH, + 0, + 256, + 256, + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS + }, + /* Cipher 86 */ + { + 0, /* not implemented (non-ephemeral DH) */ + TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA, + TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA, + SSL_kDHr|SSL_aDH|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1, + SSL_NOT_EXP|SSL_HIGH, + 0, + 256, + 256, + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS + }, + /* Cipher 87 */ + { + 1, + TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA, + TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA, + SSL_kEDH|SSL_aDSS|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1, + SSL_NOT_EXP|SSL_HIGH, + 0, + 256, + 256, + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS + }, + /* Cipher 88 */ + { + 1, + TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, + TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA, + SSL_kEDH|SSL_aRSA|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1, + SSL_NOT_EXP|SSL_HIGH, + 0, + 256, + 256, + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS + }, + /* Cipher 89 */ + { + 1, + TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA, + TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA, + SSL_kEDH|SSL_aNULL|SSL_CAMELLIA|SSL_SHA|SSL_TLSV1, + SSL_NOT_EXP|SSL_HIGH, + 0, + 256, + 256, + SSL_ALL_CIPHERS, + SSL_ALL_STRENGTHS + }, +#endif /* OPENSSL_NO_CAMELLIA */ + #ifndef OPENSSL_NO_PSK /* Cipher 8A */ { @@ -1437,6 +1604,7 @@ OPENSSL_GLOBAL SSL_CIPHER ssl3_ciphers[]={ }, #endif /* OPENSSL_NO_ECDH */ + /* end of list */ }; diff --git a/ssl/ssl.h b/ssl/ssl.h index 7e89b0a9a23936cb3d9bd683d466ec8f7e791c57..96ba10d168986d967e08411bf0520e535dcb5de8 100644 --- a/ssl/ssl.h +++ b/ssl/ssl.h @@ -308,6 +308,7 @@ extern "C" { #define SSL_TXT_RC2 "RC2" #define SSL_TXT_IDEA "IDEA" #define SSL_TXT_AES "AES" +#define SSL_TXT_CAMELLIA "CAMELLIA" #define SSL_TXT_MD5 "MD5" #define SSL_TXT_SHA1 "SHA1" #define SSL_TXT_SHA "SHA" diff --git a/ssl/ssl_algs.c b/ssl/ssl_algs.c index ac82d45a9c61931b1bc3f7f49ce4121cfc78ad45..052e939629807e891f5b3f9a3d84ce428a24e9d4 100644 --- a/ssl/ssl_algs.c +++ b/ssl/ssl_algs.c @@ -82,6 +82,11 @@ int SSL_library_init(void) EVP_add_cipher(EVP_aes_192_cbc()); EVP_add_cipher(EVP_aes_256_cbc()); #endif +#ifndef OPENSSL_NO_CAMELLIA + EVP_add_cipher(EVP_camellia_128_cbc()); + EVP_add_cipher(EVP_camellia_256_cbc()); +#endif + #ifndef OPENSSL_NO_MD2 EVP_add_digest(EVP_md2()); #endif diff --git a/ssl/ssl_ciph.c b/ssl/ssl_ciph.c index dd4c956d6a29e47b54c11f90e0406e84651f43e7..6bf337bf9ef7fae1d7a35cfaa2b599527f89656d 100644 --- a/ssl/ssl_ciph.c +++ b/ssl/ssl_ciph.c @@ -102,6 +102,11 @@ #define SSL_ENC_AES128_IDX 7 #define SSL_ENC_AES256_IDX 8 #define SSL_ENC_NUM_IDX 9 +#define SSL_ENC_CAMELLIA128_IDX 9 +#define SSL_ENC_CAMELLIA256_IDX 10 +#undef SSL_ENC_NUM_IDX +#define SSL_ENC_NUM_IDX 11 + static const EVP_CIPHER *ssl_cipher_methods[SSL_ENC_NUM_IDX]={ NULL,NULL,NULL,NULL,NULL,NULL, @@ -170,6 +175,7 @@ static const SSL_CIPHER cipher_aliases[]={ {0,SSL_TXT_eNULL,0,SSL_eNULL,0,0,0,0,SSL_ENC_MASK,0}, {0,SSL_TXT_eFZA,0,SSL_eFZA, 0,0,0,0,SSL_ENC_MASK,0}, {0,SSL_TXT_AES, 0,SSL_AES, 0,0,0,0,SSL_ENC_MASK,0}, + {0,SSL_TXT_CAMELLIA, 0,SSL_CAMELLIA, 0,0,0,0,SSL_ENC_MASK,0}, {0,SSL_TXT_MD5, 0,SSL_MD5, 0,0,0,0,SSL_MAC_MASK,0}, {0,SSL_TXT_SHA1,0,SSL_SHA1, 0,0,0,0,SSL_MAC_MASK,0}, @@ -215,6 +221,10 @@ void ssl_load_ciphers(void) EVP_get_cipherbyname(SN_aes_128_cbc); ssl_cipher_methods[SSL_ENC_AES256_IDX]= EVP_get_cipherbyname(SN_aes_256_cbc); + ssl_cipher_methods[SSL_ENC_CAMELLIA128_IDX]= + EVP_get_cipherbyname(SN_camellia_128_cbc); + ssl_cipher_methods[SSL_ENC_CAMELLIA256_IDX]= + EVP_get_cipherbyname(SN_camellia_256_cbc); ssl_digest_methods[SSL_MD_MD5_IDX]= EVP_get_digestbyname(SN_md5); @@ -323,6 +333,15 @@ int ssl_cipher_get_evp(const SSL_SESSION *s, const EVP_CIPHER **enc, default: i=-1; break; } break; + case SSL_CAMELLIA: + switch(c->alg_bits) + { + case 128: i=SSL_ENC_CAMELLIA128_IDX; break; + case 256: i=SSL_ENC_CAMELLIA256_IDX; break; + default: i=-1; break; + } + break; + default: i= -1; break; @@ -414,6 +433,7 @@ static unsigned long ssl_cipher_get_disabled(void) mask |= (ssl_cipher_methods[SSL_ENC_IDEA_IDX] == NULL) ? SSL_IDEA:0; mask |= (ssl_cipher_methods[SSL_ENC_eFZA_IDX] == NULL) ? SSL_eFZA:0; mask |= (ssl_cipher_methods[SSL_ENC_AES128_IDX] == NULL) ? SSL_AES:0; + mask |= (ssl_cipher_methods[SSL_ENC_CAMELLIA128_IDX] == NULL) ? SSL_CAMELLIA:0; mask |= (ssl_digest_methods[SSL_MD_MD5_IDX ] == NULL) ? SSL_MD5 :0; mask |= (ssl_digest_methods[SSL_MD_SHA1_IDX] == NULL) ? SSL_SHA1:0; @@ -1106,6 +1126,15 @@ char *SSL_CIPHER_description(SSL_CIPHER *cipher, char *buf, int len) default: enc="AES(?""?""?)"; break; } break; + case SSL_CAMELLIA: + switch(cipher->strength_bits) + { + case 128: enc="Camellia(128)"; break; + case 256: enc="Camellia(256)"; break; + default: enc="Camellia(?""?""?)"; break; + } + break; + default: enc="unknown"; break; diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h index f98ac7735f1dcb304bfe009078c53777c12a74e9..b85861b37e2ed52ca24ae5936f8ac7a725ee5dfb 100644 --- a/ssl/ssl_locl.h +++ b/ssl/ssl_locl.h @@ -1,4 +1,3 @@ - /* ssl/ssl_locl.h */ /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) * All rights reserved. @@ -276,7 +275,7 @@ * that the different entities within are mutually exclusive: * ONLY ONE BIT PER MASK CAN BE SET AT A TIME. */ -#define SSL_MKEY_MASK 0x080000FFL +#define SSL_MKEY_MASK 0x200000FFL #define SSL_kRSA 0x00000001L /* RSA key exchange */ #define SSL_kDHr 0x00000002L /* DH cert RSA CA cert */ #define SSL_kDHd 0x00000004L /* DH cert DSA CA cert */ @@ -286,7 +285,7 @@ #define SSL_kECDH 0x00000040L /* ECDH w/ long-term keys */ #define SSL_kECDHE 0x00000080L /* ephemeral ECDH */ #define SSL_EDH (SSL_kEDH|(SSL_AUTH_MASK^SSL_aNULL)) -#define SSL_kPSK 0x08000000L /* PSK */ +#define SSL_kPSK 0x20000000L /* PSK */ #define SSL_AUTH_MASK 0x10007f00L #define SSL_aRSA 0x00000100L /* Authenticate with RSA */ @@ -308,7 +307,7 @@ #define SSL_KRB5 (SSL_kKRB5|SSL_aKRB5) #define SSL_PSK (SSL_kPSK|SSL_aPSK) -#define SSL_ENC_MASK 0x043F8000L +#define SSL_ENC_MASK 0x0C3F8000L #define SSL_DES 0x00008000L #define SSL_3DES 0x00010000L #define SSL_RC4 0x00020000L @@ -317,6 +316,7 @@ #define SSL_eFZA 0x00100000L #define SSL_eNULL 0x00200000L #define SSL_AES 0x04000000L +#define SSL_CAMELLIA 0x08000000L #define SSL_MAC_MASK 0x00c00000L #define SSL_MD5 0x00400000L @@ -328,7 +328,7 @@ #define SSL_SSLV3 0x02000000L #define SSL_TLSV1 SSL_SSLV3 /* for now */ -/* we have used 1fffffff - 3 bits left to go. */ +/* we have used 3fffffff - 2 bits left to go. */ /* * Export and cipher strength information. For each cipher we have to decide diff --git a/ssl/tls1.h b/ssl/tls1.h index fbe80e998cbd18ee6c45be5cd030a9030a3589b9..1c1ca1533baad97b630f649620a5c3562db5a489 100644 --- a/ssl/tls1.h +++ b/ssl/tls1.h @@ -260,6 +260,21 @@ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG,0, (void *)arg) #define TLS1_CK_DHE_RSA_WITH_AES_256_SHA 0x03000039 #define TLS1_CK_ADH_WITH_AES_256_SHA 0x0300003A +/* Camellia ciphersuites form RFC4132 */ +#define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000041 +#define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000042 +#define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000043 +#define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000044 +#define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000045 +#define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA 0x03000046 + +#define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000084 +#define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000085 +#define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000086 +#define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000087 +#define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000088 +#define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA 0x03000089 + /* ECC ciphersuites from draft-ietf-tls-ecc-12.txt with changes soon to be in draft 13 */ #define TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA 0x0300C001 #define TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA 0x0300C002 @@ -358,6 +373,22 @@ SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG,0, (void *)arg) #define TLS1_TXT_PSK_WITH_AES_128_CBC_SHA "PSK-AES128-CBC-SHA" #define TLS1_TXT_PSK_WITH_AES_256_CBC_SHA "PSK-AES256-CBC-SHA" +/* Camellia ciphersuites from RFC4132 */ +#define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA "CAMELLIA128-SHA" +#define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA "DH-DSS-CAMELLIA128-SHA" +#define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA "DH-RSA-CAMELLIA128-SHA" +#define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA "DHE-DSS-CAMELLIA128-SHA" +#define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA "DHE-RSA-CAMELLIA128-SHA" +#define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA "ADH-CAMELLIA128-SHA" + +#define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA "CAMELLIA256-SHA" +#define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA "DH-DSS-CAMELLIA256-SHA" +#define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA "DH-RSA-CAMELLIA256-SHA" +#define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA "DHE-DSS-CAMELLIA256-SHA" +#define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA "DHE-RSA-CAMELLIA256-SHA" +#define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA "ADH-CAMELLIA256-SHA" + + #define TLS_CT_RSA_SIGN 1 #define TLS_CT_DSS_SIGN 2 #define TLS_CT_RSA_FIXED_DH 3 diff --git a/test/Makefile b/test/Makefile index 398de38f996b51ee26dde37a9b37542be50e5fe8..e7e171af095f2d64231874a54705e905a5f8fded 100644 --- a/test/Makefile +++ b/test/Makefile @@ -561,11 +561,8 @@ md5test.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h md5test.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h md5test.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h md5test.o: ../include/openssl/stack.h ../include/openssl/symhacks.h md5test.c -mdc2test.o: ../include/openssl/buffer.h ../include/openssl/crypto.h -mdc2test.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h -mdc2test.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -mdc2test.o: ../include/openssl/safestack.h ../include/openssl/stack.h -mdc2test.o: ../include/openssl/symhacks.h mdc2test.c +mdc2test.o: ../e_os.h ../include/openssl/e_os2.h +mdc2test.o: ../include/openssl/opensslconf.h mdc2test.c randtest.o: ../e_os.h ../include/openssl/e_os2.h randtest.o: ../include/openssl/opensslconf.h ../include/openssl/ossl_typ.h randtest.o: ../include/openssl/rand.h randtest.c @@ -574,11 +571,8 @@ rc2test.o: ../include/openssl/opensslconf.h ../include/openssl/rc2.h rc2test.c rc4test.o: ../e_os.h ../include/openssl/e_os2.h rc4test.o: ../include/openssl/opensslconf.h ../include/openssl/rc4.h rc4test.o: ../include/openssl/sha.h rc4test.c -rc5test.o: ../include/openssl/buffer.h ../include/openssl/crypto.h -rc5test.o: ../include/openssl/e_os2.h ../include/openssl/opensslconf.h -rc5test.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h -rc5test.o: ../include/openssl/safestack.h ../include/openssl/stack.h -rc5test.o: ../include/openssl/symhacks.h rc5test.c +rc5test.o: ../e_os.h ../include/openssl/e_os2.h +rc5test.o: ../include/openssl/opensslconf.h rc5test.c rmdtest.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h rmdtest.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h rmdtest.o: ../include/openssl/evp.h ../include/openssl/obj_mac.h diff --git a/util/libeay.num b/util/libeay.num index 6b36fc476403cf609fecd7878812383f0f77693e..6d067e0e418c3eb50802f788d4379e62d5fa43a2 100755 --- a/util/libeay.num +++ b/util/libeay.num @@ -3380,348 +3380,384 @@ get_rfc2409_prime_768 3780 EXIST::FUNCTION: X509_VERIFY_PARAM_get_flags 3781 EXIST::FUNCTION: EVP_CIPHER_CTX_new 3782 EXIST::FUNCTION: EVP_CIPHER_CTX_free 3783 EXIST::FUNCTION: -ASN1_item_print 3784 EXIST::FUNCTION: -ASN1_PCTX_get_cert_flags 3785 EXIST::FUNCTION: -b2i_PublicKey_bio 3786 EXIST::FUNCTION: -d2i_NETSCAPE_X509 3787 EXIST::FUNCTION: -ASN1_PCTX_get_flags 3788 EXIST::FUNCTION: -i2d_ISSUING_DIST_POINT 3789 EXIST::FUNCTION: -ASN1_PCTX_get_nm_flags 3790 EXIST::FUNCTION: -NETSCAPE_X509_free 3791 EXIST::FUNCTION: -i2b_PVK_bio 3792 EXIST::FUNCTION: -b2i_PVK_bio 3793 EXIST::FUNCTION: -ISSUING_DIST_POINT_new 3794 EXIST::FUNCTION: -ASN1_PCTX_get_oid_flags 3795 EXIST::FUNCTION: -d2i_ISSUING_DIST_POINT 3796 EXIST::FUNCTION: -i2b_PrivateKey_bio 3797 EXIST::FUNCTION: -b2i_PublicKey 3798 EXIST::FUNCTION: -ASN1_PCTX_set_nm_flags 3799 EXIST::FUNCTION: -i2b_PublicKey_bio 3800 EXIST::FUNCTION: -b2i_PrivateKey 3801 EXIST::FUNCTION: -b2i_PrivateKey_bio 3802 EXIST::FUNCTION: -PKCS7_print_ctx 3803 EXIST::FUNCTION: -EVP_whirlpool 3804 EXIST::FUNCTION:WHIRLPOOL -ASN1_PCTX_set_flags 3805 EXIST::FUNCTION: -NETSCAPE_X509_it 3806 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -NETSCAPE_X509_it 3806 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -ASN1_PCTX_set_str_flags 3807 EXIST::FUNCTION: -ISSUING_DIST_POINT_free 3808 EXIST::FUNCTION: -i2d_NETSCAPE_X509 3809 EXIST::FUNCTION: -ISSUING_DIST_POINT_it 3810 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: -ISSUING_DIST_POINT_it 3810 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: -ASN1_PCTX_set_oid_flags 3811 EXIST::FUNCTION: -ASN1_PCTX_new 3812 EXIST::FUNCTION: -NETSCAPE_X509_new 3813 EXIST::FUNCTION: -ASN1_PCTX_get_str_flags 3814 EXIST::FUNCTION: -ASN1_PCTX_free 3815 EXIST::FUNCTION: -DSO_pathbyaddr 3816 EXIST::FUNCTION: -ASN1_PCTX_set_cert_flags 3817 EXIST::FUNCTION: -WHIRLPOOL_Init 3818 EXIST::FUNCTION:WHIRLPOOL -WHIRLPOOL 3819 EXIST::FUNCTION:WHIRLPOOL -WHIRLPOOL_BitUpdate 3820 EXIST::FUNCTION:WHIRLPOOL -WHIRLPOOL_Final 3821 EXIST::FUNCTION:WHIRLPOOL -WHIRLPOOL_Update 3822 EXIST::FUNCTION:WHIRLPOOL -DSO_global_lookup 3823 EXIST::FUNCTION: -TS_RESP_CTX_free 3824 EXIST::FUNCTION: -i2d_TS_ACCURACY 3825 EXIST::FUNCTION: -i2d_TS_MSG_IMPRINT_fp 3826 EXIST::FUNCTION: -i2d_TS_MSG_IMPRINT 3827 EXIST::FUNCTION: -i2d_TS_TST_INFO 3828 EXIST::FUNCTION: -TS_CONF_load_cert 3829 EXIST::FUNCTION: -TS_REQ_get_ext 3830 EXIST::FUNCTION: -TS_TST_INFO_set_nonce 3831 EXIST::FUNCTION: -TS_RESP_dup 3832 EXIST::FUNCTION: -i2d_TS_TST_INFO_fp 3833 EXIST::FUNCTION: -TS_TST_INFO_set_time 3834 EXIST::FUNCTION: -TS_REQ_set_policy_id 3835 EXIST::FUNCTION: -d2i_TS_RESP_fp 3836 EXIST::FUNCTION: -TS_RESP_set_status_info 3837 EXIST::FUNCTION: -TS_ACCURACY_set_millis 3838 EXIST::FUNCTION: -TS_REQ_dup 3839 EXIST::FUNCTION: -GENERAL_NAME_dup 3840 EXIST::FUNCTION: -TS_MSG_IMPRINT_set_algo 3841 EXIST::FUNCTION: -i2d_TS_TST_INFO_bio 3842 EXIST::FUNCTION: -TS_TST_INFO_set_ordering 3843 EXIST::FUNCTION: -TS_TST_INFO_get_ext_by_OBJ 3844 EXIST::FUNCTION: -TS_CONF_get_tsa_section 3845 EXIST::FUNCTION: -TS_RESP_CTX_set_signer_key 3846 EXIST::FUNCTION: -i2d_ESS_SIGNING_CERT 3847 EXIST::FUNCTION: -TS_CONF_load_key 3848 EXIST::FUNCTION: -d2i_TS_MSG_IMPRINT_bio 3849 EXIST::FUNCTION: -TS_REQ_ext_free 3850 EXIST::FUNCTION: -TS_RESP_CTX_set_status_info 3851 EXIST::FUNCTION: -TS_MSG_IMPRINT_get_algo 3852 EXIST::FUNCTION: -TS_REQ_print_bio 3853 EXIST::FUNCTION: -TS_MSG_IMPRINT_print_bio 3854 EXIST::FUNCTION: -TS_REQ_get_policy_id 3855 EXIST::FUNCTION: -d2i_TS_ACCURACY 3856 EXIST::FUNCTION: -TS_CONF_set_tsa_name 3857 EXIST::FUNCTION: -TS_TST_INFO_get_ext_by_NID 3858 EXIST::FUNCTION: -TS_RESP_new 3859 EXIST::FUNCTION: -ESS_CERT_ID_dup 3860 EXIST::FUNCTION: -TS_STATUS_INFO_dup 3861 EXIST::FUNCTION: -TS_REQ_delete_ext 3862 EXIST::FUNCTION: -TS_REQ_get_msg_imprint 3863 EXIST::FUNCTION: -TS_TST_INFO_get_serial 3864 EXIST::FUNCTION: -TS_REQ_get_nonce 3865 EXIST::FUNCTION: -TS_STATUS_INFO_print_bio 3866 EXIST::FUNCTION: -d2i_TS_TST_INFO 3867 EXIST::FUNCTION: -d2i_TS_RESP_bio 3868 EXIST::FUNCTION: -OTHERNAME_cmp 3869 EXIST::FUNCTION: -TS_RESP_CTX_new 3870 EXIST::FUNCTION: -TS_RESP_set_tst_info 3871 EXIST::FUNCTION: -TS_RESP_CTX_set_signer_cert 3872 EXIST::FUNCTION: -TS_REQ_set_msg_imprint 3873 EXIST::FUNCTION: -TS_CONF_set_digests 3874 EXIST::FUNCTION: -d2i_TS_MSG_IMPRINT 3875 EXIST::FUNCTION: -TS_REQ_get_ext_by_NID 3876 EXIST::FUNCTION: -TS_ACCURACY_new 3877 EXIST::FUNCTION: -TS_TST_INFO_new 3878 EXIST::FUNCTION: -TS_CONF_set_default_engine 3879 EXIST::FUNCTION: -TS_ACCURACY_set_seconds 3880 EXIST::FUNCTION: -TS_TST_INFO_get_time 3881 EXIST::FUNCTION: -d2i_ESS_ISSUER_SERIAL 3882 EXIST::FUNCTION: -TS_OBJ_print_bio 3883 EXIST::FUNCTION: -TS_RESP_get_status_info 3884 EXIST::FUNCTION: -PKCS7_to_TS_TST_INFO 3885 EXIST::FUNCTION: -TS_TST_INFO_add_ext 3886 EXIST::FUNCTION: -i2d_TS_RESP_fp 3887 EXIST::FUNCTION: -i2d_TS_MSG_IMPRINT_bio 3888 EXIST::FUNCTION: -TS_RESP_CTX_set_accuracy 3889 EXIST::FUNCTION: -TS_REQ_set_nonce 3890 EXIST::FUNCTION: -ESS_CERT_ID_new 3891 EXIST::FUNCTION: -TS_REQ_get_ext_count 3892 EXIST::FUNCTION: -TS_TST_INFO_print_bio 3893 EXIST::FUNCTION: -i2d_TS_RESP 3894 EXIST::FUNCTION: -TS_VERIFY_CTX_cleanup 3895 EXIST::FUNCTION: -TS_STATUS_INFO_free 3896 EXIST::FUNCTION: -TS_RESP_verify_token 3897 EXIST::FUNCTION: -TS_TST_INFO_get_policy_id 3898 EXIST::FUNCTION: -TS_REQ_get_cert_req 3899 EXIST::FUNCTION: -d2i_TS_TST_INFO_fp 3900 EXIST::FUNCTION: -TS_TST_INFO_get_ext_d2i 3901 EXIST::FUNCTION: -TS_RESP_CTX_add_policy 3902 EXIST::FUNCTION: -d2i_TS_RESP 3903 EXIST::FUNCTION: -TS_CONF_load_certs 3904 EXIST::FUNCTION: -TS_TST_INFO_get_msg_imprint 3905 EXIST::FUNCTION: -ERR_load_TS_strings 3906 EXIST::FUNCTION: -TS_TST_INFO_get_version 3907 EXIST::FUNCTION: -TS_CONF_set_certs 3908 EXIST::FUNCTION: -TS_VERIFY_CTX_free 3909 EXIST::FUNCTION: -TS_REQ_get_ext_by_critical 3910 EXIST::FUNCTION: -TS_RESP_CTX_set_serial_cb 3911 EXIST::FUNCTION: -TS_RESP_CTX_set_time_cb 3912 EXIST::FUNCTION: -TS_MSG_IMPRINT_get_msg 3913 EXIST::FUNCTION: -TS_TST_INFO_ext_free 3914 EXIST::FUNCTION: -TS_REQ_get_version 3915 EXIST::FUNCTION: -TS_REQ_add_ext 3916 EXIST::FUNCTION: -d2i_TS_TST_INFO_bio 3917 EXIST::FUNCTION: -TS_TST_INFO_get_ordering 3918 EXIST::FUNCTION: -TS_RESP_print_bio 3919 EXIST::FUNCTION: -TS_TST_INFO_get_exts 3920 EXIST::FUNCTION: -TS_REQ_set_cert_req 3921 EXIST::FUNCTION: -TS_CONF_set_serial 3922 EXIST::FUNCTION: -TS_TST_INFO_free 3923 EXIST::FUNCTION: -d2i_TS_REQ_fp 3924 EXIST::FUNCTION: -TS_RESP_verify_response 3925 EXIST::FUNCTION: -i2d_ESS_ISSUER_SERIAL 3926 EXIST::FUNCTION: -TS_ACCURACY_get_seconds 3927 EXIST::FUNCTION: -TS_MSG_IMPRINT_dup 3928 EXIST::FUNCTION: -i2d_TS_REQ_bio 3929 EXIST::FUNCTION: -i2d_ESS_CERT_ID 3930 EXIST::FUNCTION: -TS_VERIFY_CTX_new 3931 EXIST::FUNCTION: -TS_RESP_CTX_set_extension_cb 3932 EXIST::FUNCTION: -TS_RESP_CTX_set_status_info_cond 3933 EXIST:!VMS:FUNCTION: -TS_RESP_CTX_set_stat_info_cond 3933 EXIST:VMS:FUNCTION: -TS_RESP_CTX_set_def_policy 3934 EXIST::FUNCTION: -TS_RESP_create_response 3935 EXIST::FUNCTION: -TS_TST_INFO_get_nonce 3936 EXIST::FUNCTION: -TS_TST_INFO_set_policy_id 3937 EXIST::FUNCTION: -TS_CONF_set_ess_cert_id_chain 3938 EXIST::FUNCTION: -d2i_TS_REQ 3939 EXIST::FUNCTION: -ESS_SIGNING_CERT_new 3940 EXIST::FUNCTION: -i2d_TS_REQ 3941 EXIST::FUNCTION: -TS_TST_INFO_delete_ext 3942 EXIST::FUNCTION: -ESS_ISSUER_SERIAL_free 3943 EXIST::FUNCTION: -TS_CONF_set_signer_key 3944 EXIST::FUNCTION: -TS_ACCURACY_get_millis 3945 EXIST::FUNCTION: -TS_RESP_get_token 3946 EXIST::FUNCTION: -TS_ACCURACY_dup 3947 EXIST::FUNCTION: -TS_RESP_free 3948 EXIST::FUNCTION: -ESS_ISSUER_SERIAL_new 3949 EXIST::FUNCTION: -TS_RESP_CTX_add_md 3950 EXIST::FUNCTION: -TS_TST_INFO_dup 3951 EXIST::FUNCTION: -TS_TST_INFO_get_accuracy 3952 EXIST::FUNCTION: -TS_TST_INFO_set_version 3953 EXIST::FUNCTION: -TS_RESP_CTX_get_tst_info 3954 EXIST::FUNCTION: -TS_RESP_verify_signature 3955 EXIST::FUNCTION: -TS_TST_INFO_get_tsa 3956 EXIST::FUNCTION: -TS_STATUS_INFO_new 3957 EXIST::FUNCTION: -TS_REQ_get_ext_d2i 3958 EXIST::FUNCTION: -TS_TST_INFO_get_ext_count 3959 EXIST::FUNCTION: -TS_RESP_CTX_get_request 3960 EXIST::FUNCTION: -ASN1_TYPE_cmp 3961 EXIST::FUNCTION: -d2i_TS_MSG_IMPRINT_fp 3962 EXIST::FUNCTION: -d2i_ESS_SIGNING_CERT 3963 EXIST::FUNCTION: -TS_CONF_set_ordering 3964 EXIST::FUNCTION: -TS_REQ_set_version 3965 EXIST::FUNCTION: -i2d_TS_STATUS_INFO 3966 EXIST::FUNCTION: -TS_TST_INFO_set_accuracy 3967 EXIST::FUNCTION: -TS_TST_INFO_set_tsa 3968 EXIST::FUNCTION: -TS_CONF_set_accuracy 3969 EXIST::FUNCTION: -ESS_SIGNING_CERT_dup 3970 EXIST::FUNCTION: -d2i_TS_REQ_bio 3971 EXIST::FUNCTION: -TS_RESP_CTX_add_flags 3972 EXIST::FUNCTION: -d2i_TS_STATUS_INFO 3973 EXIST::FUNCTION: -TS_MSG_IMPRINT_set_msg 3974 EXIST::FUNCTION: -TS_REQ_free 3975 EXIST::FUNCTION: -TS_REQ_get_exts 3976 EXIST::FUNCTION: -TS_RESP_CTX_set_clock_precision_digits 3977 EXIST:!VMS:FUNCTION: -TS_RESP_CTX_set_clk_prec_digits 3977 EXIST:VMS:FUNCTION: -TS_RESP_CTX_add_failure_info 3978 EXIST::FUNCTION: -i2d_TS_RESP_bio 3979 EXIST::FUNCTION: -TS_REQ_new 3980 EXIST::FUNCTION: -TS_MSG_IMPRINT_new 3981 EXIST::FUNCTION: -TS_TST_INFO_set_serial 3982 EXIST::FUNCTION: -TS_CONF_set_crypto_device 3983 EXIST::FUNCTION: -TS_CONF_set_policies 3984 EXIST::FUNCTION: -ESS_CERT_ID_free 3985 EXIST::FUNCTION: -TS_MSG_IMPRINT_free 3986 EXIST::FUNCTION: -TS_VERIFY_CTX_init 3987 EXIST::FUNCTION: -TS_RESP_CTX_set_certs 3988 EXIST::FUNCTION: -TS_CONF_set_def_policy 3989 EXIST::FUNCTION: -TS_ACCURACY_free 3990 EXIST::FUNCTION: -TS_RESP_get_tst_info 3991 EXIST::FUNCTION: -TS_CONF_set_clock_precision_digits 3992 EXIST:!VMS:FUNCTION: -TS_CONF_set_clk_prec_digits 3992 EXIST:VMS:FUNCTION: -ESS_ISSUER_SERIAL_dup 3993 EXIST::FUNCTION: -TS_ACCURACY_get_micros 3994 EXIST::FUNCTION: -ASN1_BIT_STRING_check 3995 EXIST::FUNCTION: -TS_X509_ALGOR_print_bio 3996 EXIST::FUNCTION: -ESS_SIGNING_CERT_free 3997 EXIST::FUNCTION: -TS_TST_INFO_set_msg_imprint 3998 EXIST::FUNCTION: -GENERAL_NAME_cmp 3999 EXIST::FUNCTION: -i2d_TS_REQ_fp 4000 EXIST::FUNCTION: -d2i_ESS_CERT_ID 4001 EXIST::FUNCTION: -TS_ext_print_bio 4002 EXIST::FUNCTION: -TS_ASN1_INTEGER_print_bio 4003 EXIST::FUNCTION: -TS_ACCURACY_set_micros 4004 EXIST::FUNCTION: -TS_REQ_to_TS_VERIFY_CTX 4005 EXIST::FUNCTION: -TS_TST_INFO_get_ext 4006 EXIST::FUNCTION: -TS_TST_INFO_get_ext_by_critical 4007 EXIST::FUNCTION: -TS_REQ_get_ext_by_OBJ 4008 EXIST::FUNCTION: -TS_CONF_set_signer_cert 4009 EXIST::FUNCTION: -EVP_PKEY_print_public 4010 EXIST::FUNCTION: -EVP_PKEY_CTX_new 4011 EXIST::FUNCTION: -EVP_PKEY_asn1_find 4012 EXIST::FUNCTION: -DSO_METHOD_beos 4013 EXIST::FUNCTION: -EVP_PKEY_sign_init 4014 EXIST::FUNCTION: -EVP_PKEY_asn1_add0 4015 EXIST::FUNCTION: -EVP_PKEY_meth_set_decrypt 4016 EXIST::FUNCTION: -EVP_PKEY_CTX_get_keygen_info 4017 EXIST::FUNCTION: -EVP_PKEY_keygen 4018 EXIST::FUNCTION: -EVP_PKEY_asn1_new 4019 EXIST::FUNCTION: -EVP_PKEY_encrypt_old 4020 EXIST::FUNCTION: -EVP_PKEY_encrypt_init 4021 EXIST::FUNCTION: -EVP_PKEY_asn1_set_public 4022 EXIST::FUNCTION: -EVP_PKEY_asn1_set_free 4023 EXIST::FUNCTION: -EVP_PKEY_verify_recover_init 4024 EXIST::FUNCTION: -EVP_PKEY_CTX_set_data 4025 EXIST::FUNCTION: -EVP_PKEY_keygen_init 4026 EXIST::FUNCTION: -EVP_PKEY_CTX_ctrl_str 4027 EXIST::FUNCTION: -BN_asc2bn 4028 EXIST::FUNCTION: -X509_ALGOR_get0 4029 EXIST::FUNCTION: -EVP_PKEY_print_params 4030 EXIST::FUNCTION: -X509_PUBKEY_set0_param 4031 EXIST::FUNCTION: -X509_ALGOR_set0 4032 EXIST::FUNCTION: -EVP_PKEY_CTX_get_data 4033 EXIST::FUNCTION: -EVP_PKEY_derive_init 4034 EXIST::FUNCTION: -EVP_PKEY_asn1_add_alias 4035 EXIST::FUNCTION: -EVP_PKEY_CTX_ctrl 4036 EXIST::FUNCTION: -EVP_PKEY_meth_set_ctrl 4037 EXIST::FUNCTION: -EVP_PKEY_meth_set_sign 4038 EXIST::FUNCTION: -EVP_PKEY_decrypt_init 4039 EXIST::FUNCTION: -EVP_PKEY_print_private 4040 EXIST::FUNCTION: -PKCS8_pkey_get0 4041 EXIST::FUNCTION: -EVP_PKEY_asn1_get0 4042 EXIST::FUNCTION: -EVP_PKEY_paramgen_init 4043 EXIST::FUNCTION: -EVP_PKEY_sign 4044 EXIST::FUNCTION: -EVP_PKEY_meth_set_init 4045 EXIST::FUNCTION: -EVP_PKEY_meth_set_verify_recover 4046 EXIST:!VMS:FUNCTION: -EVP_PKEY_meth_set_vrfy_recover 4046 EXIST:VMS:FUNCTION: -EVP_PKEY_CTX_set_cb 4047 EXIST::FUNCTION: -EVP_PKEY_meth_set_derive 4048 EXIST::FUNCTION: -BUF_reverse 4049 EXIST::FUNCTION: -ASN1_bn_print 4050 EXIST::FUNCTION:BIO -EVP_PKEY_asn1_get_count 4051 EXIST::FUNCTION: -PKCS8_pkey_set0 4052 EXIST::FUNCTION: -EVP_PKEY_asn1_set_private 4053 EXIST::FUNCTION: -EVP_PKEY_meth_set_verify 4054 EXIST::FUNCTION: -EVP_PKEY_asn1_get0_info 4055 EXIST::FUNCTION: -EVP_PKEY_CTX_set_app_data 4056 EXIST::FUNCTION: -EVP_PKEY_meth_set_verifyctx 4057 EXIST::FUNCTION: -EVP_PKEY_CTX_get_app_data 4058 EXIST::FUNCTION: -X509_PUBKEY_get0_param 4059 EXIST::FUNCTION: -EVP_PKEY_asn1_set_param 4060 EXIST::FUNCTION: -EVP_PKEY_meth_set_encrypt 4061 EXIST::FUNCTION: -EVP_PKEY_verify 4062 EXIST::FUNCTION: -EVP_PKEY_decrypt_old 4063 EXIST::FUNCTION: -EVP_PKEY_asn1_find_str 4064 EXIST::FUNCTION: -EVP_PKEY_derive 4065 EXIST::FUNCTION: -PEM_write_bio_Parameters 4066 EXIST::FUNCTION: -EVP_PKEY_meth_set_signctx 4067 EXIST::FUNCTION: -EVP_PKEY_CTX_free 4068 EXIST::FUNCTION: -EVP_PKEY_get0 4069 EXIST::FUNCTION: -EVP_PKEY_meth_find 4070 EXIST::FUNCTION: -EVP_PKEY_verify_init 4071 EXIST::FUNCTION: -EVP_PKEY_derive_set_peer 4072 EXIST::FUNCTION: -PEM_read_bio_Parameters 4073 EXIST::FUNCTION: -EVP_PKEY_meth_set_cleanup 4074 EXIST::FUNCTION: -EVP_PKEY_asn1_free 4075 EXIST::FUNCTION: -EVP_PKEY_meth_set_keygen 4076 EXIST::FUNCTION: -EVP_PKEY_paramgen 4077 EXIST::FUNCTION: -EVP_PKEY_meth_set_paramgen 4078 EXIST::FUNCTION: -EVP_PKEY_verify_recover 4079 EXIST::FUNCTION: -EVP_PKEY_asn1_set_ctrl 4080 EXIST::FUNCTION: -EVP_PKEY_CTX_new_id 4081 EXIST::FUNCTION: -EVP_PKEY_get_default_digest_nid 4082 EXIST::FUNCTION: -OBJ_find_sigid_by_algs 4083 EXIST::FUNCTION: -PKCS7_RECIP_INFO_get0_alg 4084 EXIST::FUNCTION: -EVP_PKEY_base_id 4085 EXIST::FUNCTION: -PKCS7_SIGNER_INFO_get0_algs 4086 EXIST::FUNCTION: -EVP_PKEY_CTX_get0_pkey 4087 EXIST::FUNCTION: -EVP_PKEY_meth_add0 4088 EXIST::FUNCTION: -EVP_PKEY_meth_new 4089 EXIST::FUNCTION: -ASN1_STRING_set0 4090 EXIST::FUNCTION: -EVP_PKEY_id 4091 EXIST::FUNCTION: -OBJ_find_sigid_algs 4092 EXIST::FUNCTION: -PKCS7_add0_attrib_signing_time 4093 EXIST::FUNCTION: -PKCS7_final 4094 EXIST::FUNCTION: -PKCS7_SIGNER_INFO_sign 4095 EXIST::FUNCTION: -PKCS7_sign_add_signer 4096 EXIST::FUNCTION: -PKCS5_pbe2_set_iv 4097 EXIST::FUNCTION: -EVP_PBE_find 4098 EXIST::FUNCTION: -PKCS7_add1_attrib_digest 4099 EXIST::FUNCTION: -EVP_PBE_alg_add_type 4100 EXIST::FUNCTION: -PKCS7_add_attrib_content_type 4101 EXIST::FUNCTION: -EVP_DigestSignInit 4102 EXIST::FUNCTION: -EVP_DigestVerifyFinal 4103 EXIST::FUNCTION: -EVP_DigestVerifyInit 4104 EXIST::FUNCTION: -EVP_DigestSignFinal 4105 EXIST::FUNCTION: -EVP_PKEY_CTX_dup 4106 EXIST::FUNCTION: -EVP_PKEY_meth_free 4107 EXIST::FUNCTION: -EVP_PKEY_meth_set_copy 4108 EXIST::FUNCTION: -ENGINE_register_pkey_meths 4109 EXIST::FUNCTION:ENGINE -ENGINE_get_pkey_meth 4110 EXIST::FUNCTION:ENGINE -EVP_PKEY_CTX_set0_keygen_info 4111 EXIST::FUNCTION: -ENGINE_get_pkey_meths 4112 EXIST::FUNCTION:ENGINE -ENGINE_register_all_pkey_meths 4113 EXIST::FUNCTION:ENGINE -EVP_PKEY_CTX_get_cb 4114 EXIST::FUNCTION: -EVP_PKEY_CTX_get_operation 4115 EXIST::FUNCTION: -ENGINE_unregister_pkey_meths 4116 EXIST::FUNCTION:ENGINE -ENGINE_set_pkey_meths 4117 EXIST::FUNCTION:ENGINE -ENGINE_get_pkey_asn1_meth 4118 EXIST::FUNCTION:ENGINE -ENGINE_set_default_pkey_meths 4119 EXIST::FUNCTION:ENGINE -ENGINE_get_pkey_asn1_meths 4120 EXIST::FUNCTION:ENGINE -ENGINE_set_pkey_asn1_meths 4121 EXIST::FUNCTION:ENGINE -ENGINE_get_pkey_meth_engine 4122 EXIST::FUNCTION:ENGINE +Camellia_cbc_encrypt 3784 EXIST::FUNCTION:CAMELLIA +Camellia_cfb128_encrypt 3785 EXIST::FUNCTION:CAMELLIA +Camellia_cfb1_encrypt 3786 EXIST::FUNCTION:CAMELLIA +Camellia_cfb8_encrypt 3787 EXIST::FUNCTION:CAMELLIA +Camellia_ctr128_encrypt 3788 EXIST::FUNCTION:CAMELLIA +Camellia_cfbr_encrypt_block 3789 EXIST::FUNCTION:CAMELLIA +Camellia_decrypt 3790 EXIST::FUNCTION:CAMELLIA +Camellia_ecb_encrypt 3791 EXIST::FUNCTION:CAMELLIA +Camellia_encrypt 3792 EXIST::FUNCTION:CAMELLIA +Camellia_ofb128_encrypt 3793 EXIST::FUNCTION:CAMELLIA +Camellia_set_key 3794 EXIST::FUNCTION:CAMELLIA +EVP_camellia_128_cbc 3795 EXIST::FUNCTION:CAMELLIA +EVP_camellia_128_cfb128 3796 EXIST::FUNCTION:CAMELLIA +EVP_camellia_128_cfb1 3797 EXIST::FUNCTION:CAMELLIA +EVP_camellia_128_cfb8 3798 EXIST::FUNCTION:CAMELLIA +EVP_camellia_128_ecb 3799 EXIST::FUNCTION:CAMELLIA +EVP_camellia_128_ofb 3800 EXIST::FUNCTION:CAMELLIA +EVP_camellia_192_cbc 3801 EXIST::FUNCTION:CAMELLIA +EVP_camellia_192_cfb128 3802 EXIST::FUNCTION:CAMELLIA +EVP_camellia_192_cfb1 3803 EXIST::FUNCTION:CAMELLIA +EVP_camellia_192_cfb8 3804 EXIST::FUNCTION:CAMELLIA +EVP_camellia_192_ecb 3805 EXIST::FUNCTION:CAMELLIA +EVP_camellia_192_ofb 3806 EXIST::FUNCTION:CAMELLIA +EVP_camellia_256_cbc 3807 EXIST::FUNCTION:CAMELLIA +EVP_camellia_256_cfb128 3808 EXIST::FUNCTION:CAMELLIA +EVP_camellia_256_cfb1 3809 EXIST::FUNCTION:CAMELLIA +EVP_camellia_256_cfb8 3810 EXIST::FUNCTION:CAMELLIA +EVP_camellia_256_ecb 3811 EXIST::FUNCTION:CAMELLIA +EVP_camellia_256_ofb 3812 EXIST::FUNCTION:CAMELLIA +TS_RESP_CTX_free 3813 EXIST::FUNCTION: +i2d_TS_ACCURACY 3814 EXIST::FUNCTION: +i2d_TS_MSG_IMPRINT_fp 3815 EXIST::FUNCTION: +i2d_TS_MSG_IMPRINT 3816 EXIST::FUNCTION: +EVP_PKEY_print_public 3817 EXIST::FUNCTION: +EVP_PKEY_CTX_new 3818 EXIST::FUNCTION: +i2d_TS_TST_INFO 3819 EXIST::FUNCTION: +EVP_PKEY_asn1_find 3820 EXIST::FUNCTION: +DSO_METHOD_beos 3821 EXIST::FUNCTION: +TS_CONF_load_cert 3822 EXIST::FUNCTION: +TS_REQ_get_ext 3823 EXIST::FUNCTION: +EVP_PKEY_sign_init 3824 EXIST::FUNCTION: +ASN1_item_print 3825 EXIST::FUNCTION: +TS_TST_INFO_set_nonce 3826 EXIST::FUNCTION: +TS_RESP_dup 3827 EXIST::FUNCTION: +ENGINE_register_pkey_meths 3828 EXIST::FUNCTION:ENGINE +EVP_PKEY_asn1_add0 3829 EXIST::FUNCTION: +PKCS7_add0_attrib_signing_time 3830 EXIST::FUNCTION: +i2d_TS_TST_INFO_fp 3831 EXIST::FUNCTION: +TS_TST_INFO_set_time 3832 EXIST::FUNCTION: +EVP_PKEY_meth_set_decrypt 3833 EXIST::FUNCTION: +EVP_PKEY_set_type_str 3834 EXIST::FUNCTION: +EVP_PKEY_CTX_get_keygen_info 3835 EXIST::FUNCTION: +TS_REQ_set_policy_id 3836 EXIST::FUNCTION: +d2i_TS_RESP_fp 3837 EXIST::FUNCTION: +ENGINE_get_pkey_asn1_meth_engine 3838 EXIST:!VMS:FUNCTION:ENGINE +ENGINE_get_pkey_asn1_meth_eng 3838 EXIST:VMS:FUNCTION:ENGINE +WHIRLPOOL_Init 3839 EXIST::FUNCTION:WHIRLPOOL +TS_RESP_set_status_info 3840 EXIST::FUNCTION: +EVP_PKEY_keygen 3841 EXIST::FUNCTION: +EVP_DigestSignInit 3842 EXIST::FUNCTION: +TS_ACCURACY_set_millis 3843 EXIST::FUNCTION: +TS_REQ_dup 3844 EXIST::FUNCTION: +GENERAL_NAME_dup 3845 EXIST::FUNCTION: +WHIRLPOOL 3846 EXIST::FUNCTION:WHIRLPOOL +ENGINE_get_pkey_asn1_meth 3847 EXIST::FUNCTION:ENGINE +EVP_PKEY_asn1_new 3848 EXIST::FUNCTION: +ENGINE_get_pkey_meth 3849 EXIST::FUNCTION:ENGINE +TS_MSG_IMPRINT_set_algo 3850 EXIST::FUNCTION: +i2d_TS_TST_INFO_bio 3851 EXIST::FUNCTION: +TS_TST_INFO_set_ordering 3852 EXIST::FUNCTION: +TS_TST_INFO_get_ext_by_OBJ 3853 EXIST::FUNCTION: +TS_CONF_get_tsa_section 3854 EXIST::FUNCTION: +TS_RESP_CTX_set_signer_key 3855 EXIST::FUNCTION: +EVP_PKEY_encrypt_old 3856 EXIST::FUNCTION: +EVP_PKEY_encrypt_init 3857 EXIST::FUNCTION: +ASN1_PCTX_get_cert_flags 3858 EXIST::FUNCTION: +i2d_ESS_SIGNING_CERT 3859 EXIST::FUNCTION: +TS_CONF_load_key 3860 EXIST::FUNCTION: +d2i_TS_MSG_IMPRINT_bio 3861 EXIST::FUNCTION: +EVP_PKEY_asn1_set_public 3862 EXIST::FUNCTION: +b2i_PublicKey_bio 3863 EXIST::FUNCTION: +TS_REQ_ext_free 3864 EXIST::FUNCTION: +EVP_PKEY_asn1_set_free 3865 EXIST::FUNCTION: +d2i_NETSCAPE_X509 3866 EXIST::FUNCTION: +EVP_PKEY_verify_recover_init 3867 EXIST::FUNCTION: +EVP_PKEY_CTX_set_data 3868 EXIST::FUNCTION: +EVP_PKEY_keygen_init 3869 EXIST::FUNCTION: +TS_RESP_CTX_set_status_info 3870 EXIST::FUNCTION: +TS_MSG_IMPRINT_get_algo 3871 EXIST::FUNCTION: +TS_REQ_print_bio 3872 EXIST::FUNCTION: +EVP_PKEY_CTX_ctrl_str 3873 EXIST::FUNCTION: +EVP_PKEY_get_default_digest_nid 3874 EXIST::FUNCTION: +TS_MSG_IMPRINT_print_bio 3875 EXIST::FUNCTION: +BN_asc2bn 3876 EXIST::FUNCTION: +TS_REQ_get_policy_id 3877 EXIST::FUNCTION: +ENGINE_set_default_pkey_asn1_meths 3878 EXIST:!VMS:FUNCTION:ENGINE +ENGINE_set_def_pkey_asn1_meths 3878 EXIST:VMS:FUNCTION:ENGINE +d2i_TS_ACCURACY 3879 EXIST::FUNCTION: +X509_ALGOR_get0 3880 EXIST::FUNCTION: +DSO_global_lookup 3881 EXIST::FUNCTION: +TS_CONF_set_tsa_name 3882 EXIST::FUNCTION: +WHIRLPOOL_BitUpdate 3883 EXIST::FUNCTION:WHIRLPOOL +ASN1_PCTX_get_flags 3884 EXIST::FUNCTION: +TS_TST_INFO_get_ext_by_NID 3885 EXIST::FUNCTION: +TS_RESP_new 3886 EXIST::FUNCTION: +ESS_CERT_ID_dup 3887 EXIST::FUNCTION: +TS_STATUS_INFO_dup 3888 EXIST::FUNCTION: +TS_REQ_delete_ext 3889 EXIST::FUNCTION: +EVP_DigestVerifyFinal 3890 EXIST::FUNCTION: +EVP_PKEY_print_params 3891 EXIST::FUNCTION: +TS_REQ_get_msg_imprint 3892 EXIST::FUNCTION: +OBJ_find_sigid_by_algs 3893 EXIST::FUNCTION: +TS_TST_INFO_get_serial 3894 EXIST::FUNCTION: +TS_REQ_get_nonce 3895 EXIST::FUNCTION: +X509_PUBKEY_set0_param 3896 EXIST::FUNCTION: +EVP_PKEY_CTX_set0_keygen_info 3897 EXIST::FUNCTION: +i2d_ISSUING_DIST_POINT 3898 EXIST::FUNCTION: +X509_ALGOR_set0 3899 EXIST::FUNCTION: +EVP_PKEY_CTX_get_data 3900 EXIST::FUNCTION: +TS_STATUS_INFO_print_bio 3901 EXIST::FUNCTION: +EVP_PKEY_derive_init 3902 EXIST::FUNCTION: +d2i_TS_TST_INFO 3903 EXIST::FUNCTION: +EVP_PKEY_asn1_add_alias 3904 EXIST::FUNCTION: +d2i_TS_RESP_bio 3905 EXIST::FUNCTION: +OTHERNAME_cmp 3906 EXIST::FUNCTION: +PKCS7_RECIP_INFO_get0_alg 3907 EXIST::FUNCTION: +TS_RESP_CTX_new 3908 EXIST::FUNCTION: +TS_RESP_set_tst_info 3909 EXIST::FUNCTION: +PKCS7_final 3910 EXIST::FUNCTION: +EVP_PKEY_base_id 3911 EXIST::FUNCTION: +TS_RESP_CTX_set_signer_cert 3912 EXIST::FUNCTION: +TS_REQ_set_msg_imprint 3913 EXIST::FUNCTION: +EVP_PKEY_CTX_ctrl 3914 EXIST::FUNCTION: +TS_CONF_set_digests 3915 EXIST::FUNCTION: +d2i_TS_MSG_IMPRINT 3916 EXIST::FUNCTION: +EVP_PKEY_meth_set_ctrl 3917 EXIST::FUNCTION: +TS_REQ_get_ext_by_NID 3918 EXIST::FUNCTION: +TS_ACCURACY_new 3919 EXIST::FUNCTION: +ASN1_PCTX_get_nm_flags 3920 EXIST::FUNCTION: +EVP_PKEY_meth_set_sign 3921 EXIST::FUNCTION: +EVP_PKEY_decrypt_init 3922 EXIST::FUNCTION: +NETSCAPE_X509_free 3923 EXIST::FUNCTION: +i2b_PVK_bio 3924 EXIST::FUNCTION: +EVP_PKEY_print_private 3925 EXIST::FUNCTION: +b2i_PVK_bio 3926 EXIST::FUNCTION: +TS_TST_INFO_new 3927 EXIST::FUNCTION: +TS_CONF_set_default_engine 3928 EXIST::FUNCTION: +TS_ACCURACY_set_seconds 3929 EXIST::FUNCTION: +TS_TST_INFO_get_time 3930 EXIST::FUNCTION: +PKCS8_pkey_get0 3931 EXIST::FUNCTION: +EVP_PKEY_asn1_get0 3932 EXIST::FUNCTION: +PKCS7_SIGNER_INFO_sign 3933 EXIST::FUNCTION: +EVP_PKEY_paramgen_init 3934 EXIST::FUNCTION: +EVP_PKEY_sign 3935 EXIST::FUNCTION: +EVP_PKEY_meth_set_init 3936 EXIST::FUNCTION: +d2i_ESS_ISSUER_SERIAL 3937 EXIST::FUNCTION: +ISSUING_DIST_POINT_new 3938 EXIST::FUNCTION: +TS_OBJ_print_bio 3939 EXIST::FUNCTION: +EVP_PKEY_meth_set_verify_recover 3940 EXIST:!VMS:FUNCTION: +EVP_PKEY_meth_set_vrfy_recover 3940 EXIST:VMS:FUNCTION: +TS_RESP_get_status_info 3941 EXIST::FUNCTION: +EVP_PKEY_CTX_set_cb 3942 EXIST::FUNCTION: +PKCS7_to_TS_TST_INFO 3943 EXIST::FUNCTION: +ASN1_PCTX_get_oid_flags 3944 EXIST::FUNCTION: +TS_TST_INFO_add_ext 3945 EXIST::FUNCTION: +EVP_PKEY_meth_set_derive 3946 EXIST::FUNCTION: +i2d_TS_RESP_fp 3947 EXIST::FUNCTION: +i2d_TS_MSG_IMPRINT_bio 3948 EXIST::FUNCTION: +TS_RESP_CTX_set_accuracy 3949 EXIST::FUNCTION: +TS_REQ_set_nonce 3950 EXIST::FUNCTION: +ESS_CERT_ID_new 3951 EXIST::FUNCTION: +TS_REQ_get_ext_count 3952 EXIST::FUNCTION: +BUF_reverse 3953 EXIST::FUNCTION: +TS_TST_INFO_print_bio 3954 EXIST::FUNCTION: +d2i_ISSUING_DIST_POINT 3955 EXIST::FUNCTION: +ENGINE_get_pkey_meths 3956 EXIST::FUNCTION:ENGINE +i2b_PrivateKey_bio 3957 EXIST::FUNCTION: +i2d_TS_RESP 3958 EXIST::FUNCTION: +b2i_PublicKey 3959 EXIST::FUNCTION: +TS_VERIFY_CTX_cleanup 3960 EXIST::FUNCTION: +TS_STATUS_INFO_free 3961 EXIST::FUNCTION: +TS_RESP_verify_token 3962 EXIST::FUNCTION: +ASN1_bn_print 3963 EXIST::FUNCTION:BIO +EVP_PKEY_asn1_get_count 3964 EXIST::FUNCTION: +ASN1_PCTX_set_nm_flags 3965 EXIST::FUNCTION: +EVP_DigestVerifyInit 3966 EXIST::FUNCTION: +ENGINE_set_default_pkey_meths 3967 EXIST::FUNCTION:ENGINE +TS_TST_INFO_get_policy_id 3968 EXIST::FUNCTION: +TS_REQ_get_cert_req 3969 EXIST::FUNCTION: +PKCS8_pkey_set0 3970 EXIST::FUNCTION: +d2i_TS_TST_INFO_fp 3971 EXIST::FUNCTION: +EVP_PKEY_asn1_set_private 3972 EXIST::FUNCTION: +TS_TST_INFO_get_ext_d2i 3973 EXIST::FUNCTION: +TS_RESP_CTX_add_policy 3974 EXIST::FUNCTION: +d2i_TS_RESP 3975 EXIST::FUNCTION: +TS_CONF_load_certs 3976 EXIST::FUNCTION: +TS_TST_INFO_get_msg_imprint 3977 EXIST::FUNCTION: +ERR_load_TS_strings 3978 EXIST::FUNCTION: +TS_TST_INFO_get_version 3979 EXIST::FUNCTION: +EVP_PKEY_CTX_dup 3980 EXIST::FUNCTION: +EVP_PKEY_meth_set_verify 3981 EXIST::FUNCTION: +i2b_PublicKey_bio 3982 EXIST::FUNCTION: +TS_CONF_set_certs 3983 EXIST::FUNCTION: +EVP_PKEY_asn1_get0_info 3984 EXIST::FUNCTION: +TS_VERIFY_CTX_free 3985 EXIST::FUNCTION: +TS_REQ_get_ext_by_critical 3986 EXIST::FUNCTION: +TS_RESP_CTX_set_serial_cb 3987 EXIST::FUNCTION: +TS_RESP_CTX_set_time_cb 3988 EXIST::FUNCTION: +TS_MSG_IMPRINT_get_msg 3989 EXIST::FUNCTION: +TS_TST_INFO_ext_free 3990 EXIST::FUNCTION: +TS_REQ_get_version 3991 EXIST::FUNCTION: +TS_REQ_add_ext 3992 EXIST::FUNCTION: +EVP_PKEY_CTX_set_app_data 3993 EXIST::FUNCTION: +EVP_PKEY_meth_set_verifyctx 3994 EXIST::FUNCTION: +PKCS7_sign_add_signer 3995 EXIST::FUNCTION: +d2i_TS_TST_INFO_bio 3996 EXIST::FUNCTION: +TS_TST_INFO_get_ordering 3997 EXIST::FUNCTION: +TS_RESP_print_bio 3998 EXIST::FUNCTION: +TS_TST_INFO_get_exts 3999 EXIST::FUNCTION: +PKCS5_pbe2_set_iv 4000 EXIST::FUNCTION: +ENGINE_get_pkey_asn1_meths 4001 EXIST::FUNCTION:ENGINE +b2i_PrivateKey 4002 EXIST::FUNCTION: +EVP_PKEY_CTX_get_app_data 4003 EXIST::FUNCTION: +TS_REQ_set_cert_req 4004 EXIST::FUNCTION: +TS_CONF_set_serial 4005 EXIST::FUNCTION: +TS_TST_INFO_free 4006 EXIST::FUNCTION: +d2i_TS_REQ_fp 4007 EXIST::FUNCTION: +TS_RESP_verify_response 4008 EXIST::FUNCTION: +i2d_ESS_ISSUER_SERIAL 4009 EXIST::FUNCTION: +TS_ACCURACY_get_seconds 4010 EXIST::FUNCTION: +b2i_PrivateKey_bio 4011 EXIST::FUNCTION: +X509_PUBKEY_get0_param 4012 EXIST::FUNCTION: +TS_MSG_IMPRINT_dup 4013 EXIST::FUNCTION: +PKCS7_print_ctx 4014 EXIST::FUNCTION: +i2d_TS_REQ_bio 4015 EXIST::FUNCTION: +EVP_whirlpool 4016 EXIST::FUNCTION:WHIRLPOOL +EVP_PKEY_asn1_set_param 4017 EXIST::FUNCTION: +EVP_PKEY_meth_set_encrypt 4018 EXIST::FUNCTION: +ASN1_PCTX_set_flags 4019 EXIST::FUNCTION: +i2d_ESS_CERT_ID 4020 EXIST::FUNCTION: +TS_VERIFY_CTX_new 4021 EXIST::FUNCTION: +TS_RESP_CTX_set_extension_cb 4022 EXIST::FUNCTION: +ENGINE_register_all_pkey_meths 4023 EXIST::FUNCTION:ENGINE +TS_RESP_CTX_set_status_info_cond 4024 EXIST:!VMS:FUNCTION: +TS_RESP_CTX_set_stat_info_cond 4024 EXIST:VMS:FUNCTION: +EVP_PKEY_verify 4025 EXIST::FUNCTION: +WHIRLPOOL_Final 4026 EXIST::FUNCTION:WHIRLPOOL +EVP_DigestSignFinal 4027 EXIST::FUNCTION: +TS_RESP_CTX_set_def_policy 4028 EXIST::FUNCTION: +NETSCAPE_X509_it 4029 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +NETSCAPE_X509_it 4029 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +TS_RESP_create_response 4030 EXIST::FUNCTION: +PKCS7_SIGNER_INFO_get0_algs 4031 EXIST::FUNCTION: +TS_TST_INFO_get_nonce 4032 EXIST::FUNCTION: +EVP_PKEY_decrypt_old 4033 EXIST::FUNCTION: +TS_TST_INFO_set_policy_id 4034 EXIST::FUNCTION: +TS_CONF_set_ess_cert_id_chain 4035 EXIST::FUNCTION: +EVP_PKEY_CTX_get0_pkey 4036 EXIST::FUNCTION: +d2i_TS_REQ 4037 EXIST::FUNCTION: +EVP_PKEY_asn1_find_str 4038 EXIST::FUNCTION: +ESS_SIGNING_CERT_new 4039 EXIST::FUNCTION: +EVP_PBE_find 4040 EXIST::FUNCTION: +EVP_PKEY_derive 4041 EXIST::FUNCTION: +i2d_TS_REQ 4042 EXIST::FUNCTION: +TS_TST_INFO_delete_ext 4043 EXIST::FUNCTION: +ESS_ISSUER_SERIAL_free 4044 EXIST::FUNCTION: +ASN1_PCTX_set_str_flags 4045 EXIST::FUNCTION: +ENGINE_get_pkey_asn1_meth_str 4046 EXIST::FUNCTION:ENGINE +TS_CONF_set_signer_key 4047 EXIST::FUNCTION: +TS_ACCURACY_get_millis 4048 EXIST::FUNCTION: +TS_RESP_get_token 4049 EXIST::FUNCTION: +TS_ACCURACY_dup 4050 EXIST::FUNCTION: +TS_RESP_free 4051 EXIST::FUNCTION: +ISSUING_DIST_POINT_free 4052 EXIST::FUNCTION: +ESS_ISSUER_SERIAL_new 4053 EXIST::FUNCTION: +PKCS7_add1_attrib_digest 4054 EXIST::FUNCTION: +TS_RESP_CTX_add_md 4055 EXIST::FUNCTION: +TS_TST_INFO_dup 4056 EXIST::FUNCTION: +ENGINE_set_pkey_asn1_meths 4057 EXIST::FUNCTION:ENGINE +PEM_write_bio_Parameters 4058 EXIST::FUNCTION: +TS_TST_INFO_get_accuracy 4059 EXIST::FUNCTION: +TS_TST_INFO_set_version 4060 EXIST::FUNCTION: +TS_RESP_CTX_get_tst_info 4061 EXIST::FUNCTION: +TS_RESP_verify_signature 4062 EXIST::FUNCTION: +TS_TST_INFO_get_tsa 4063 EXIST::FUNCTION: +TS_STATUS_INFO_new 4064 EXIST::FUNCTION: +EVP_PKEY_CTX_get_cb 4065 EXIST::FUNCTION: +TS_REQ_get_ext_d2i 4066 EXIST::FUNCTION: +TS_TST_INFO_get_ext_count 4067 EXIST::FUNCTION: +TS_RESP_CTX_get_request 4068 EXIST::FUNCTION: +i2d_NETSCAPE_X509 4069 EXIST::FUNCTION: +ENGINE_get_pkey_meth_engine 4070 EXIST::FUNCTION:ENGINE +EVP_PKEY_meth_set_signctx 4071 EXIST::FUNCTION: +ASN1_TYPE_cmp 4072 EXIST::FUNCTION: +EVP_PKEY_CTX_free 4073 EXIST::FUNCTION: +ISSUING_DIST_POINT_it 4074 EXIST:!EXPORT_VAR_AS_FUNCTION:VARIABLE: +ISSUING_DIST_POINT_it 4074 EXIST:EXPORT_VAR_AS_FUNCTION:FUNCTION: +d2i_TS_MSG_IMPRINT_fp 4075 EXIST::FUNCTION: +EVP_PKEY_CTX_get_operation 4076 EXIST::FUNCTION: +d2i_ESS_SIGNING_CERT 4077 EXIST::FUNCTION: +TS_CONF_set_ordering 4078 EXIST::FUNCTION: +EVP_PBE_alg_add_type 4079 EXIST::FUNCTION: +TS_REQ_set_version 4080 EXIST::FUNCTION: +EVP_PKEY_get0 4081 EXIST::FUNCTION: +i2d_TS_STATUS_INFO 4082 EXIST::FUNCTION: +TS_TST_INFO_set_accuracy 4083 EXIST::FUNCTION: +PKCS7_add_attrib_content_type 4084 EXIST::FUNCTION: +EVP_PKEY_meth_add0 4085 EXIST::FUNCTION: +TS_TST_INFO_set_tsa 4086 EXIST::FUNCTION: +EVP_PKEY_meth_new 4087 EXIST::FUNCTION: +WHIRLPOOL_Update 4088 EXIST::FUNCTION:WHIRLPOOL +TS_CONF_set_accuracy 4089 EXIST::FUNCTION: +ASN1_PCTX_set_oid_flags 4090 EXIST::FUNCTION: +ESS_SIGNING_CERT_dup 4091 EXIST::FUNCTION: +d2i_TS_REQ_bio 4092 EXIST::FUNCTION: +TS_RESP_CTX_add_flags 4093 EXIST::FUNCTION: +d2i_TS_STATUS_INFO 4094 EXIST::FUNCTION: +TS_MSG_IMPRINT_set_msg 4095 EXIST::FUNCTION: +TS_REQ_free 4096 EXIST::FUNCTION: +EVP_PKEY_meth_free 4097 EXIST::FUNCTION: +TS_REQ_get_exts 4098 EXIST::FUNCTION: +TS_RESP_CTX_set_clock_precision_digits 4099 EXIST:!VMS:FUNCTION: +TS_RESP_CTX_set_clk_prec_digits 4099 EXIST:VMS:FUNCTION: +TS_RESP_CTX_add_failure_info 4100 EXIST::FUNCTION: +i2d_TS_RESP_bio 4101 EXIST::FUNCTION: +ASN1_STRING_set0 4102 EXIST::FUNCTION: +TS_REQ_new 4103 EXIST::FUNCTION: +TS_MSG_IMPRINT_new 4104 EXIST::FUNCTION: +EVP_PKEY_meth_find 4105 EXIST::FUNCTION: +EVP_PKEY_id 4106 EXIST::FUNCTION: +TS_TST_INFO_set_serial 4107 EXIST::FUNCTION: +TS_CONF_set_crypto_device 4108 EXIST::FUNCTION: +EVP_PKEY_verify_init 4109 EXIST::FUNCTION: +TS_CONF_set_policies 4110 EXIST::FUNCTION: +ASN1_PCTX_new 4111 EXIST::FUNCTION: +ESS_CERT_ID_free 4112 EXIST::FUNCTION: +ENGINE_unregister_pkey_meths 4113 EXIST::FUNCTION:ENGINE +TS_MSG_IMPRINT_free 4114 EXIST::FUNCTION: +TS_VERIFY_CTX_init 4115 EXIST::FUNCTION: +TS_RESP_CTX_set_certs 4116 EXIST::FUNCTION: +TS_CONF_set_def_policy 4117 EXIST::FUNCTION: +NETSCAPE_X509_new 4118 EXIST::FUNCTION: +TS_ACCURACY_free 4119 EXIST::FUNCTION: +TS_RESP_get_tst_info 4120 EXIST::FUNCTION: +EVP_PKEY_derive_set_peer 4121 EXIST::FUNCTION: +PEM_read_bio_Parameters 4122 EXIST::FUNCTION: +TS_CONF_set_clock_precision_digits 4123 EXIST:!VMS:FUNCTION: +TS_CONF_set_clk_prec_digits 4123 EXIST:VMS:FUNCTION: +ESS_ISSUER_SERIAL_dup 4124 EXIST::FUNCTION: +TS_ACCURACY_get_micros 4125 EXIST::FUNCTION: +ASN1_PCTX_get_str_flags 4126 EXIST::FUNCTION: +ASN1_BIT_STRING_check 4127 EXIST::FUNCTION: +ASN1_PCTX_free 4128 EXIST::FUNCTION: +TS_X509_ALGOR_print_bio 4129 EXIST::FUNCTION: +EVP_PKEY_meth_set_cleanup 4130 EXIST::FUNCTION: +EVP_PKEY_asn1_free 4131 EXIST::FUNCTION: +ESS_SIGNING_CERT_free 4132 EXIST::FUNCTION: +TS_TST_INFO_set_msg_imprint 4133 EXIST::FUNCTION: +GENERAL_NAME_cmp 4134 EXIST::FUNCTION: +ENGINE_set_pkey_meths 4135 EXIST::FUNCTION:ENGINE +i2d_TS_REQ_fp 4136 EXIST::FUNCTION: +d2i_ESS_CERT_ID 4137 EXIST::FUNCTION: +OBJ_find_sigid_algs 4138 EXIST::FUNCTION: +EVP_PKEY_meth_set_keygen 4139 EXIST::FUNCTION: +EVP_PKEY_paramgen 4140 EXIST::FUNCTION: +EVP_PKEY_meth_set_paramgen 4141 EXIST::FUNCTION: +EVP_PKEY_verify_recover 4142 EXIST::FUNCTION: +TS_ext_print_bio 4143 EXIST::FUNCTION: +TS_ASN1_INTEGER_print_bio 4144 EXIST::FUNCTION: +DSO_pathbyaddr 4145 EXIST::FUNCTION: +EVP_PKEY_set_type 4146 EXIST::FUNCTION: +TS_ACCURACY_set_micros 4147 EXIST::FUNCTION: +TS_REQ_to_TS_VERIFY_CTX 4148 EXIST::FUNCTION: +EVP_PKEY_meth_set_copy 4149 EXIST::FUNCTION: +ASN1_PCTX_set_cert_flags 4150 EXIST::FUNCTION: +TS_TST_INFO_get_ext 4151 EXIST::FUNCTION: +EVP_PKEY_asn1_set_ctrl 4152 EXIST::FUNCTION: +TS_TST_INFO_get_ext_by_critical 4153 EXIST::FUNCTION: +EVP_PKEY_CTX_new_id 4154 EXIST::FUNCTION: +TS_REQ_get_ext_by_OBJ 4155 EXIST::FUNCTION: +TS_CONF_set_signer_cert 4156 EXIST::FUNCTION: diff --git a/util/mk1mf.pl b/util/mk1mf.pl index fe99d49d1dfaf4487956790f476dfeeb0b485747..24a5f2552de2acec35b70f4123737dd26f146a06 100755 --- a/util/mk1mf.pl +++ b/util/mk1mf.pl @@ -65,7 +65,7 @@ and [options] can be one of no-md2 no-md4 no-md5 no-sha no-mdc2 - Skip this digest no-ripemd no-rc2 no-rc4 no-rc5 no-idea no-des - Skip this symetric cipher - no-bf no-cast no-aes + no-bf no-cast no-aes no-camellia no-rsa no-dsa no-dh - Skip this public key cipher no-ssl2 no-ssl3 - Skip this version of SSL just-ssl - remove all non-ssl keys/digest @@ -199,6 +199,7 @@ $cflags= "$xcflags$cflags" if $xcflags ne ""; $cflags.=" -DOPENSSL_NO_IDEA" if $no_idea; $cflags.=" -DOPENSSL_NO_AES" if $no_aes; +$cflags.=" -DOPENSSL_NO_CAMELLIA" if $no_camellia; $cflags.=" -DOPENSSL_NO_RC2" if $no_rc2; $cflags.=" -DOPENSSL_NO_RC4" if $no_rc4; $cflags.=" -DOPENSSL_NO_RC5" if $no_rc5; @@ -741,6 +742,7 @@ sub var_add return("") if $no_hw && $dir =~ /\/hw/; return("") if $no_idea && $dir =~ /\/idea/; return("") if $no_aes && $dir =~ /\/aes/; + return("") if $no_camellia && $dir =~ /\/camellia/; return("") if $no_rc2 && $dir =~ /\/rc2/; return("") if $no_rc4 && $dir =~ /\/rc4/; return("") if $no_rc5 && $dir =~ /\/rc5/; @@ -775,6 +777,7 @@ sub var_add @a=grep(!/^e_.*_bf$/,@a) if $no_bf; @a=grep(!/^e_.*_c$/,@a) if $no_cast; @a=grep(!/^e_rc4$/,@a) if $no_rc4; + @a=grep(!/^e_camellia$/,@a) if $no_camellia; @a=grep(!/(^s2_)|(^s23_)/,@a) if $no_ssl2; @a=grep(!/(^s3_)|(^s23_)/,@a) if $no_ssl3; @@ -987,6 +990,7 @@ sub read_options "no-rc5" => \$no_rc5, "no-idea" => \$no_idea, "no-aes" => \$no_aes, + "no-camellia" => \$no_camellia, "no-des" => \$no_des, "no-bf" => \$no_bf, "no-cast" => \$no_cast, @@ -1005,6 +1009,7 @@ sub read_options "no-dh" => \$no_dh, "no-hmac" => \$no_hmac, "no-aes" => \$no_aes, + "no-camellia" => \$no_camellia, "no-asm" => \$no_asm, "nasm" => \$nasm, "nw-nasm" => \$nw_nasm, @@ -1024,7 +1029,7 @@ sub read_options [\$no_rc2, \$no_idea, \$no_des, \$no_bf, \$no_cast, \$no_md2, \$no_sha, \$no_mdc2, \$no_dsa, \$no_dh, \$no_ssl2, \$no_err, \$no_ripemd, \$no_rc5, - \$no_aes], + \$no_aes, \$no_camellia], "rsaref" => 0, "gcc" => \$gcc, "debug" => \$debug, diff --git a/util/mkdef.pl b/util/mkdef.pl index 1e337ce86e568da74b4be6284f7193f1db9abb78..b6fc9791599917f1e1efba96bc12d7a665b0cb06 100755 --- a/util/mkdef.pl +++ b/util/mkdef.pl @@ -85,7 +85,7 @@ my @known_algorithms = ( "RC2", "RC4", "RC5", "IDEA", "DES", "BF", "CAST", "MD2", "MD4", "MD5", "SHA", "SHA0", "SHA1", "SHA256", "SHA512", "RIPEMD", "MDC2", "RSA", "DSA", "DH", "EC", "ECDH", "ECDSA", - "HMAC", "AES", "WHIRLPOOL", + "HMAC", "AES", "WHIRLPOOL", "CAMELLIA", # Envelope "algorithms" "EVP", "X509", "ASN1_TYPEDEFS", # Helper "algorithms" @@ -111,7 +111,7 @@ close(IN); # defined with ifndef(NO_XXX) are not included in the .def file, and everything # in directory xxx is ignored. my $no_rc2; my $no_rc4; my $no_rc5; my $no_idea; my $no_des; my $no_bf; -my $no_cast; my $no_whirlpool; +my $no_cast; my $no_whirlpool; my $no_camellia; 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_ecdsa; my $no_ecdh; my $no_engine; my $no_hw; @@ -180,6 +180,7 @@ foreach (@ARGV, split(/ /, $options)) elsif (/^no-ecdh$/) { $no_ecdh=1; } elsif (/^no-hmac$/) { $no_hmac=1; } elsif (/^no-aes$/) { $no_aes=1; } + elsif (/^no-camellia$/) { $no_camellia=1; } elsif (/^no-evp$/) { $no_evp=1; } elsif (/^no-lhash$/) { $no_lhash=1; } elsif (/^no-stack$/) { $no_stack=1; } @@ -247,6 +248,7 @@ $crypto.=" crypto/mdc2/mdc2.h" ; # unless $no_mdc2; $crypto.=" crypto/sha/sha.h" ; # unless $no_sha; $crypto.=" crypto/ripemd/ripemd.h" ; # unless $no_ripemd; $crypto.=" crypto/aes/aes.h" ; # unless $no_aes; +$crypto.=" crypto/camellia/camellia.h" ; # unless $no_camellia; $crypto.=" crypto/bn/bn.h"; $crypto.=" crypto/rsa/rsa.h" ; # unless $no_rsa; @@ -1097,6 +1099,7 @@ sub is_valid if ($keyword eq "ECDH" && $no_ecdh) { return 0; } if ($keyword eq "HMAC" && $no_hmac) { return 0; } if ($keyword eq "AES" && $no_aes) { return 0; } + if ($keyword eq "CAMELLIA" && $no_camellia) { return 0; } if ($keyword eq "EVP" && $no_evp) { return 0; } if ($keyword eq "LHASH" && $no_lhash) { return 0; } if ($keyword eq "STACK" && $no_stack) { return 0; } diff --git a/util/mkfiles.pl b/util/mkfiles.pl index 56bf1798e2862ff13317bbe8ad15ef6c1b748760..45e9e24734ea510a7b0214e4c43f6c998408851c 100755 --- a/util/mkfiles.pl +++ b/util/mkfiles.pl @@ -24,6 +24,7 @@ my @dirs = ( "crypto/bf", "crypto/cast", "crypto/aes", +"crypto/camellia", "crypto/bn", "crypto/rsa", "crypto/dsa",