Commit 354c3ace authored by Ben Laurie's avatar Ben Laurie
Browse files

Add first cut symmetric crypto support.

parent 52129c0b
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -12,6 +12,9 @@
         *) applies to 0.9.6a/0.9.6b/0.9.6c and 0.9.7
         *) applies to 0.9.6a/0.9.6b/0.9.6c and 0.9.7
         +) applies to 0.9.7 only
         +) applies to 0.9.7 only


  +) Add symmetric cipher support to ENGINE. Expect the API to change!
     [Ben Laurie]

  +) New CRL functions: X509_CRL_set_version(), X509_CRL_set_issuer_name()
  +) New CRL functions: X509_CRL_set_version(), X509_CRL_set_issuer_name()
     X509_CRL_set_lastUpdate(), X509_CRL_set_nextUpdate(), X509_CRL_sort(),
     X509_CRL_set_lastUpdate(), X509_CRL_set_nextUpdate(), X509_CRL_sort(),
     X509_REVOKED_set_serialNumber(), and X509_REVOKED_set_revocationDate().
     X509_REVOKED_set_serialNumber(), and X509_REVOKED_set_revocationDate().
+89 −42
Original line number Original line Diff line number Diff line
Output of `Configure TABLE':


*** BC-16
*** BC-16
$cc           = bcc
$cc           = bcc
@@ -70,7 +71,7 @@ $ranlib =


*** CygWin32
*** CygWin32
$cc           = gcc
$cc           = gcc
$cflags       = -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall
$cflags       = -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -mcpu=i486 -Wall
$unistd       = 
$unistd       = 
$thread_cflag = 
$thread_cflag = 
$sys_id       = CYGWIN32
$sys_id       = CYGWIN32
@@ -93,7 +94,7 @@ $ranlib =


*** FreeBSD
*** FreeBSD
$cc           = gcc
$cc           = gcc
$cflags       = -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall
$cflags       = -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -mcpu=i486 -Wall
$unistd       = 
$unistd       = 
$thread_cflag = (unknown)
$thread_cflag = (unknown)
$sys_id       = 
$sys_id       = 
@@ -139,7 +140,7 @@ $ranlib =


*** FreeBSD-elf
*** FreeBSD-elf
$cc           = gcc
$cc           = gcc
$cflags       = -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall
$cflags       = -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -mcpu=i486 -Wall
$unistd       = 
$unistd       = 
$thread_cflag = -pthread -D_REENTRANT -D_THREAD_SAFE -D_THREADSAFE
$thread_cflag = -pthread -D_REENTRANT -D_THREAD_SAFE -D_THREADSAFE
$sys_id       = 
$sys_id       = 
@@ -185,7 +186,7 @@ $ranlib =


*** Mingw32
*** Mingw32
$cc           = gcc
$cc           = gcc
$cflags       = -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall
$cflags       = -DL_ENDIAN -fomit-frame-pointer -O3 -mcpu=i486 -Wall
$unistd       = 
$unistd       = 
$thread_cflag = 
$thread_cflag = 
$sys_id       = 
$sys_id       = 
@@ -254,7 +255,7 @@ $ranlib =


*** NetBSD-x86
*** NetBSD-x86
$cc           = gcc
$cc           = gcc
$cflags       = -DTERMIOS -O3 -fomit-frame-pointer -m486 -Wall
$cflags       = -DTERMIOS -O3 -fomit-frame-pointer -mcpu=i486 -Wall
$unistd       = 
$unistd       = 
$thread_cflag = (unknown)
$thread_cflag = (unknown)
$sys_id       = 
$sys_id       = 
@@ -369,7 +370,7 @@ $ranlib =


*** OpenBSD-x86
*** OpenBSD-x86
$cc           = gcc
$cc           = gcc
$cflags       = -DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486
$cflags       = -DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -mcpu=i486
$unistd       = 
$unistd       = 
$thread_cflag = (unknown)
$thread_cflag = (unknown)
$sys_id       = 
$sys_id       = 
@@ -691,12 +692,12 @@ $ranlib =


*** alpha-cc
*** alpha-cc
$cc           = cc
$cc           = cc
$cflags       = -std1 -tune host -O4 -readonly_strings
$cflags       = -std1 -tune host -fast -readonly_strings
$unistd       = 
$unistd       = 
$thread_cflag = (unknown)
$thread_cflag = -pthread
$sys_id       = 
$sys_id       = 
$lflags       = 
$lflags       = SIXTY_FOUR_BIT_LONG RC4_CHUNK
$bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK
$bn_ops       = 
$bn_obj       = 
$bn_obj       = 
$des_obj      = 
$des_obj      = 
$bf_obj       = 
$bf_obj       = 
@@ -705,11 +706,34 @@ $sha1_obj =
$cast_obj     = 
$cast_obj     = 
$rc4_obj      = 
$rc4_obj      = 
$rmd160_obj   = 
$rmd160_obj   = 
$rc5_obj      = 
$rc5_obj      = dlfcn
$dso_scheme   = dlfcn
$dso_scheme   = tru64-shared
$shared_target= tru64-shared
$shared_target= 
$shared_cflag = 
$shared_cflag = .so
$shared_extension = .so
$shared_extension = 
$ranlib       = 

*** alpha-cc-rpath
$cc           = cc
$cflags       = -std1 -tune host -fast -readonly_strings
$unistd       = 
$thread_cflag = -pthread
$sys_id       = 
$lflags       = SIXTY_FOUR_BIT_LONG RC4_CHUNK
$bn_ops       = 
$bn_obj       = 
$des_obj      = 
$bf_obj       = 
$md5_obj      = 
$sha1_obj     = 
$cast_obj     = 
$rc4_obj      = 
$rmd160_obj   = 
$rc5_obj      = dlfcn
$dso_scheme   = tru64-shared-rpath
$shared_target= 
$shared_cflag = .so
$shared_extension = 
$ranlib       = 
$ranlib       = 


*** alpha-gcc
*** alpha-gcc
@@ -718,8 +742,8 @@ $cflags = -O3
$unistd       = 
$unistd       = 
$thread_cflag = (unknown)
$thread_cflag = (unknown)
$sys_id       = 
$sys_id       = 
$lflags       = 
$lflags       = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_RISC1
$bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_RISC1
$bn_ops       = 
$bn_obj       = 
$bn_obj       = 
$des_obj      = 
$des_obj      = 
$bf_obj       = 
$bf_obj       = 
@@ -728,21 +752,44 @@ $sha1_obj =
$cast_obj     = 
$cast_obj     = 
$rc4_obj      = 
$rc4_obj      = 
$rmd160_obj   = 
$rmd160_obj   = 
$rc5_obj      = 
$rc5_obj      = dlfcn
$dso_scheme   = dlfcn
$dso_scheme   = alpha-osf1-shared
$shared_target= tru64-shared
$shared_target= 
$shared_cflag = 
$shared_cflag = .so
$shared_extension = .so
$shared_extension = 
$ranlib       = 
$ranlib       = 


*** alpha164-cc
*** alpha164-cc
$cc           = cc
$cc           = cc
$cflags       = -std1 -tune host -fast -readonly_strings
$cflags       = -std1 -tune host -fast -readonly_strings
$unistd       = 
$unistd       = 
$thread_cflag = -pthread
$sys_id       = 
$lflags       = SIXTY_FOUR_BIT_LONG RC4_CHUNK
$bn_ops       = 
$bn_obj       = 
$des_obj      = 
$bf_obj       = 
$md5_obj      = 
$sha1_obj     = 
$cast_obj     = 
$rc4_obj      = 
$rmd160_obj   = 
$rc5_obj      = dlfcn
$dso_scheme   = tru64-shared
$shared_target= 
$shared_cflag = .so
$shared_extension = 
$ranlib       = 

*** alphaold-cc
$cc           = cc
$cflags       = -std1 -tune host -O4 -readonly_strings
$unistd       = 
$thread_cflag = (unknown)
$thread_cflag = (unknown)
$sys_id       = 
$sys_id       = 
$lflags       = 
$lflags       = SIXTY_FOUR_BIT_LONG RC4_CHUNK
$bn_ops       = SIXTY_FOUR_BIT_LONG RC4_CHUNK
$bn_ops       = 
$bn_obj       = 
$bn_obj       = 
$des_obj      = 
$des_obj      = 
$bf_obj       = 
$bf_obj       = 
@@ -751,16 +798,16 @@ $sha1_obj =
$cast_obj     = 
$cast_obj     = 
$rc4_obj      = 
$rc4_obj      = 
$rmd160_obj   = 
$rmd160_obj   = 
$rc5_obj      = 
$rc5_obj      = dlfcn
$dso_scheme   = dlfcn
$dso_scheme   = alpha-osf1-shared
$shared_target= tru64-shared
$shared_target= 
$shared_cflag = 
$shared_cflag = .so
$shared_extension = .so
$shared_extension = 
$ranlib       = 
$ranlib       = 


*** bsdi-elf-gcc
*** bsdi-elf-gcc
$cc           = gcc
$cc           = gcc
$cflags       = -DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall
$cflags       = -DPERL5 -DL_ENDIAN -fomit-frame-pointer -O3 -mcpu=i486 -Wall
$unistd       = 
$unistd       = 
$thread_cflag = (unknown)
$thread_cflag = (unknown)
$sys_id       = 
$sys_id       = 
@@ -783,7 +830,7 @@ $ranlib =


*** bsdi-gcc
*** bsdi-gcc
$cc           = gcc
$cc           = gcc
$cflags       = -O3 -ffast-math -DL_ENDIAN -DPERL5 -m486
$cflags       = -O3 -ffast-math -DL_ENDIAN -DPERL5 -mcpu=i486
$unistd       = 
$unistd       = 
$thread_cflag = (unknown)
$thread_cflag = (unknown)
$sys_id       = 
$sys_id       = 
@@ -1036,7 +1083,7 @@ $ranlib =


*** debug-bodo
*** debug-bodo
$cc           = gcc
$cc           = gcc
$cflags       = -DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DBIO_PAIR_DEBUG -DPEDANTIC -g -m486 -pedantic -Wshadow -Wall
$cflags       = -DL_ENDIAN -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DBIO_PAIR_DEBUG -DPEDANTIC -g -mcpu=i486 -pedantic -Wshadow -Wall
$unistd       = 
$unistd       = 
$thread_cflag = -D_REENTRANT
$thread_cflag = -D_REENTRANT
$sys_id       = 
$sys_id       = 
@@ -1059,7 +1106,7 @@ $ranlib =


*** debug-levitte-linux-elf
*** debug-levitte-linux-elf
$cc           = gcc
$cc           = gcc
$cflags       = -DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -m486 -pedantic -ansi -Wall -Wshadow -Wid-clash-31 -Wno-long-long -pipe
$cflags       = -DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wid-clash-31 -Wno-long-long -pipe
$unistd       = 
$unistd       = 
$thread_cflag = -D_REENTRANT
$thread_cflag = -D_REENTRANT
$sys_id       = 
$sys_id       = 
@@ -1082,7 +1129,7 @@ $ranlib =


*** debug-levitte-linux-noasm
*** debug-levitte-linux-noasm
$cc           = gcc
$cc           = gcc
$cflags       = -DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -m486 -pedantic -ansi -Wall -Wshadow -Wid-clash-31 -Wno-long-long -pipe
$cflags       = -DLEVITTE_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DOPENSSL_NO_ASM -DL_ENDIAN -DTERMIO -D_POSIX_SOURCE -DPEDANTIC -ggdb -g3 -mcpu=i486 -pedantic -ansi -Wall -Wshadow -Wid-clash-31 -Wno-long-long -pipe
$unistd       = 
$unistd       = 
$thread_cflag = -D_REENTRANT
$thread_cflag = -D_REENTRANT
$sys_id       = 
$sys_id       = 
@@ -1105,7 +1152,7 @@ $ranlib =


*** debug-linux-elf
*** debug-linux-elf
$cc           = gcc
$cc           = gcc
$cflags       = -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall
$cflags       = -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=i486 -Wall
$unistd       = 
$unistd       = 
$thread_cflag = -D_REENTRANT
$thread_cflag = -D_REENTRANT
$sys_id       = 
$sys_id       = 
@@ -1128,7 +1175,7 @@ $ranlib =


*** debug-linux-elf-noefence
*** debug-linux-elf-noefence
$cc           = gcc
$cc           = gcc
$cflags       = -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -m486 -Wall
$cflags       = -DBN_DEBUG -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG -DL_ENDIAN -DTERMIO -g -mcpu=i486 -Wall
$unistd       = 
$unistd       = 
$thread_cflag = -D_REENTRANT
$thread_cflag = -D_REENTRANT
$sys_id       = 
$sys_id       = 
@@ -1266,7 +1313,7 @@ $ranlib =


*** debug-steve
*** debug-steve
$cc           = gcc
$cc           = gcc
$cflags       = -DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -g -m486 -pedantic -Wall -Werror -Wshadow -pipe
$cflags       = -DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_CTX_DEBUG -DDEBUG_SAFESTACK -DCRYPTO_MDEBUG_ALL -DPEDANTIC -g -mcpu=i486 -pedantic -Wall -Werror -Wshadow -pipe
$unistd       = 
$unistd       = 
$thread_cflag = -D_REENTRANT
$thread_cflag = -D_REENTRANT
$sys_id       = 
$sys_id       = 
@@ -1289,7 +1336,7 @@ $ranlib =


*** debug-ulf
*** debug-ulf
$cc           = gcc
$cc           = gcc
$cflags       = -DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -g -O2 -m486 -Wall -Werror -Wshadow -pipe
$cflags       = -DL_ENDIAN -DREF_CHECK -DCONF_DEBUG -DBN_DEBUG -DBN_CTX_DEBUG -DCRYPTO_MDEBUG_ALL -g -O2 -mcpu=i486 -Wall -Werror -Wshadow -pipe
$unistd       = 
$unistd       = 
$thread_cflag = -D_REENTRANT
$thread_cflag = -D_REENTRANT
$sys_id       = 
$sys_id       = 
@@ -1818,7 +1865,7 @@ $ranlib =


*** hurd-x86
*** hurd-x86
$cc           = gcc
$cc           = gcc
$cflags       = -DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -m486 -Wall
$cflags       = -DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -mcpu=i486 -Wall
$unistd       = 
$unistd       = 
$thread_cflag = -D_REENTRANT
$thread_cflag = -D_REENTRANT
$sys_id       = 
$sys_id       = 
@@ -2071,7 +2118,7 @@ $ranlib =


*** linux-aout
*** linux-aout
$cc           = gcc
$cc           = gcc
$cflags       = -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall
$cflags       = -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -mcpu=i486 -Wall
$unistd       = 
$unistd       = 
$thread_cflag = (unknown)
$thread_cflag = (unknown)
$sys_id       = 
$sys_id       = 
@@ -2094,7 +2141,7 @@ $ranlib =


*** linux-elf
*** linux-elf
$cc           = gcc
$cc           = gcc
$cflags       = -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall
$cflags       = -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -mcpu=i486 -Wall
$unistd       = 
$unistd       = 
$thread_cflag = -D_REENTRANT
$thread_cflag = -D_REENTRANT
$sys_id       = 
$sys_id       = 
@@ -2807,7 +2854,7 @@ $ranlib =


*** solaris-x86-gcc
*** solaris-x86-gcc
$cc           = gcc
$cc           = gcc
$cflags       = -O3 -fomit-frame-pointer -m486 -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM
$cflags       = -O3 -fomit-frame-pointer -mcpu=i486 -Wall -DL_ENDIAN -DOPENSSL_NO_INLINE_ASM
$unistd       = 
$unistd       = 
$thread_cflag = -D_REENTRANT
$thread_cflag = -D_REENTRANT
$sys_id       = 
$sys_id       = 
+4 −0
Original line number Original line Diff line number Diff line
@@ -1165,7 +1165,11 @@ ENGINE *setup_engine(BIO *err, const char *engine, int debug)
			BIO_printf(err,"can't use that engine\n");
			BIO_printf(err,"can't use that engine\n");
			return NULL;
			return NULL;
			}
			}

		ENGINE_load_engine_ciphers(e);

		BIO_printf(err,"engine \"%s\" set.\n", engine);
		BIO_printf(err,"engine \"%s\" set.\n", engine);

		/* Free our "structural" reference. */
		/* Free our "structural" reference. */
		ENGINE_free(e);
		ENGINE_free(e);
		}
		}
+9 −1
Original line number Original line Diff line number Diff line
@@ -94,7 +94,7 @@ static void identity(void *ptr)
	return;
	return;
	}
	}


static int append_buf(char **buf, char *s, int *size, int step)
static int append_buf(char **buf, const char *s, int *size, int step)
	{
	{
	int l = strlen(s);
	int l = strlen(s);


@@ -430,6 +430,7 @@ skip_arg_loop:
				{
				{
				int cap_size = 256;
				int cap_size = 256;
				char *cap_buf = NULL;
				char *cap_buf = NULL;
				int k,n;


				if (ENGINE_get_RSA(e) != NULL
				if (ENGINE_get_RSA(e) != NULL
					&& !append_buf(&cap_buf, "RSA",
					&& !append_buf(&cap_buf, "RSA",
@@ -448,6 +449,13 @@ skip_arg_loop:
						&cap_size, 256))
						&cap_size, 256))
					goto end;
					goto end;


				n=ENGINE_cipher_num(e);
				for(k=0 ; k < n ; ++k)
					if(!append_buf(&cap_buf,
						       OBJ_nid2sn(ENGINE_get_cipher(e, k)->nid),
						       &cap_size, 256))
						goto end;

				if (cap_buf && (*cap_buf != '\0'))
				if (cap_buf && (*cap_buf != '\0'))
					BIO_printf(bio_out, " [%s]", cap_buf);
					BIO_printf(bio_out, " [%s]", cap_buf);


+1 −2
Original line number Original line Diff line number Diff line
@@ -152,8 +152,7 @@ cfb64enc.o: ../../include/openssl/opensslconf.h cfb64enc.c des_locl.h
cfb_enc.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
cfb_enc.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
cfb_enc.o: ../../include/openssl/opensslconf.h cfb_enc.c des_locl.h
cfb_enc.o: ../../include/openssl/opensslconf.h cfb_enc.c des_locl.h
des_enc.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
des_enc.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
des_enc.o: ../../include/openssl/opensslconf.h des_enc.c des_locl.h des_locl.h
des_enc.o: ../../include/openssl/opensslconf.h des_enc.c des_locl.h ncbc_enc.c
des_enc.o: ncbc_enc.c
ecb3_enc.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
ecb3_enc.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
ecb3_enc.o: ../../include/openssl/opensslconf.h des_locl.h ecb3_enc.c
ecb3_enc.o: ../../include/openssl/opensslconf.h des_locl.h ecb3_enc.c
ecb_enc.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
ecb_enc.o: ../../include/openssl/des.h ../../include/openssl/e_os2.h
Loading