summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Parlane <parlane@gmail.com>2013-08-15 23:36:17 +1200
committerMatthew Parlane <parlane@gmail.com>2013-08-15 23:36:17 +1200
commitd8b39b9dcfb4e8a3d854d28428a8d992cce73f53 (patch)
tree722ec6f6937274faf8b67e3b690c348a52d45e85
parente1f8146d96fe9a6e027a59c618c98bba53215798 (diff)
Support PolarSSL on *nix
Removed unneeded PolarSSL directories. Remove duplicate sha1 and md5 files. Define out SSL test file writing. Fix format string bug and warning.
-rw-r--r--CMakeLists.txt5
-rw-r--r--CMakeTests/FindGnuTLS.cmake51
-rw-r--r--Externals/polarssl/CMakeLists.txt13
-rw-r--r--Externals/polarssl/include/CMakeLists.txt11
-rw-r--r--Externals/polarssl/programs/.gitignore39
-rw-r--r--Externals/polarssl/programs/CMakeLists.txt8
-rw-r--r--Externals/polarssl/programs/Makefile211
-rw-r--r--Externals/polarssl/programs/aes/CMakeLists.txt9
-rw-r--r--Externals/polarssl/programs/aes/aescrypt2.c428
-rw-r--r--Externals/polarssl/programs/aes/crypt_and_hash.c501
-rw-r--r--Externals/polarssl/programs/hash/CMakeLists.txt18
-rw-r--r--Externals/polarssl/programs/hash/generic_sum.c216
-rw-r--r--Externals/polarssl/programs/hash/hello.c71
-rw-r--r--Externals/polarssl/programs/hash/md5sum.c174
-rw-r--r--Externals/polarssl/programs/hash/sha1sum.c174
-rw-r--r--Externals/polarssl/programs/hash/sha2sum.c174
-rw-r--r--Externals/polarssl/programs/pkey/CMakeLists.txt42
-rw-r--r--Externals/polarssl/programs/pkey/dh_client.c291
-rw-r--r--Externals/polarssl/programs/pkey/dh_genprime.c162
-rw-r--r--Externals/polarssl/programs/pkey/dh_prime.txt2
-rw-r--r--Externals/polarssl/programs/pkey/dh_server.c292
-rw-r--r--Externals/polarssl/programs/pkey/key_app.c256
-rw-r--r--Externals/polarssl/programs/pkey/key_app_writer.c339
-rw-r--r--Externals/polarssl/programs/pkey/mpi_demo.c101
-rw-r--r--Externals/polarssl/programs/pkey/rsa_decrypt.c155
-rw-r--r--Externals/polarssl/programs/pkey/rsa_encrypt.c164
-rw-r--r--Externals/polarssl/programs/pkey/rsa_genkey.c166
-rw-r--r--Externals/polarssl/programs/pkey/rsa_priv.txt8
-rw-r--r--Externals/polarssl/programs/pkey/rsa_pub.txt2
-rw-r--r--Externals/polarssl/programs/pkey/rsa_sign.c160
-rw-r--r--Externals/polarssl/programs/pkey/rsa_sign_pss.c165
-rw-r--r--Externals/polarssl/programs/pkey/rsa_verify.c155
-rw-r--r--Externals/polarssl/programs/pkey/rsa_verify_pss.c148
-rw-r--r--Externals/polarssl/programs/random/CMakeLists.txt12
-rw-r--r--Externals/polarssl/programs/random/gen_entropy.c87
-rw-r--r--Externals/polarssl/programs/random/gen_random_ctr_drbg.c117
-rw-r--r--Externals/polarssl/programs/random/gen_random_havege.c91
-rw-r--r--Externals/polarssl/programs/ssl/CA-HOWTO.txt144
-rw-r--r--Externals/polarssl/programs/ssl/CMakeLists.txt33
-rw-r--r--Externals/polarssl/programs/ssl/ssl_client1.c294
-rw-r--r--Externals/polarssl/programs/ssl/ssl_client2.c649
-rw-r--r--Externals/polarssl/programs/ssl/ssl_fork_server.c376
-rw-r--r--Externals/polarssl/programs/ssl/ssl_mail_client.c803
-rw-r--r--Externals/polarssl/programs/ssl/ssl_server.c381
-rw-r--r--Externals/polarssl/programs/ssl/ssl_server2.c742
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/cert_digest.key27
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/cert_example.crt77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/cert_example_multi.crt80
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/cert_example_wildcard.crt77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/cert_example_www.crt77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/cert_md2.crt0
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/cert_md4.crt77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/cert_md5.crt77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/cert_sha1.crt77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/cert_sha224.crt77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/cert_sha256.crt77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/cert_sha384.crt77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/cert_sha512.crt77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/client1.crt77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/client1.key27
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/client2.crt77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/client2.key27
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/client2.pfxbin2437 -> 0 bytes
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/crl.pem11
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/crl_md2.pem0
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/crl_md4.pem11
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/crl_md5.pem11
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/crl_sha1.pem11
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/crl_sha224.pem11
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/crl_sha256.pem11
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/crl_sha384.pem11
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/crl_sha512.pem11
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/gen_test_ca.sh108
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/index17
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/index.attr1
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/01.pem77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/02.pem77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/03.pem77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/04.pem77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/05.pem77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/06.pem77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/07.pem77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/08.pem77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/09.pem77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/0A.pem77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/0B.pem77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/0C.pem77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/0D.pem77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/0E.pem77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/0F.pem80
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/10.pem80
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/newcerts/11.pem80
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/serial1
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/server1.crt77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/server1.key27
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/server1.pub9
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/server2.crt77
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/server2.key27
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/sslconf.txt50
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/test-ca.crt80
-rw-r--r--Externals/polarssl/programs/ssl/test-ca/test-ca.key30
-rw-r--r--Externals/polarssl/programs/test/CMakeLists.txt39
-rw-r--r--Externals/polarssl/programs/test/benchmark.c517
-rw-r--r--Externals/polarssl/programs/test/o_p_test.c244
-rw-r--r--Externals/polarssl/programs/test/selftest.c172
-rw-r--r--Externals/polarssl/programs/test/ssl_cert_test.c253
-rw-r--r--Externals/polarssl/programs/test/ssl_test.c607
-rw-r--r--Externals/polarssl/programs/util/CMakeLists.txt10
-rw-r--r--Externals/polarssl/programs/util/strerror.c79
-rw-r--r--Externals/polarssl/programs/wince_main.c49
-rw-r--r--Externals/polarssl/programs/x509/CMakeLists.txt21
-rw-r--r--Externals/polarssl/programs/x509/cert_app.c346
-rw-r--r--Externals/polarssl/programs/x509/cert_req.c297
-rw-r--r--Externals/polarssl/programs/x509/crl_app.c170
-rw-r--r--Externals/polarssl/scripts/bump_version.sh81
-rw-r--r--Externals/polarssl/scripts/check_doxy_blocks.pl57
-rw-r--r--Externals/polarssl/scripts/data_files/error.fmt109
-rw-r--r--Externals/polarssl/scripts/generate_errors.pl128
-rw-r--r--Externals/polarssl/tests/.gitignore2
-rw-r--r--Externals/polarssl/tests/CMakeLists.txt70
-rw-r--r--Externals/polarssl/tests/Makefile292
-rw-r--r--Externals/polarssl/tests/compat.sh185
-rw-r--r--Externals/polarssl/tests/data_files/cert_example_multi.crt80
-rw-r--r--Externals/polarssl/tests/data_files/cert_example_multi_nocn.crt33
-rw-r--r--Externals/polarssl/tests/data_files/cert_example_wildcard.crt77
-rw-r--r--Externals/polarssl/tests/data_files/cert_md2.crt77
-rw-r--r--Externals/polarssl/tests/data_files/cert_md4.crt77
-rw-r--r--Externals/polarssl/tests/data_files/cert_md5.crt77
-rw-r--r--Externals/polarssl/tests/data_files/cert_sha1.crt77
-rw-r--r--Externals/polarssl/tests/data_files/cert_sha224.crt77
-rw-r--r--Externals/polarssl/tests/data_files/cert_sha256.crt77
-rw-r--r--Externals/polarssl/tests/data_files/cert_sha384.crt77
-rw-r--r--Externals/polarssl/tests/data_files/cert_sha512.crt77
-rw-r--r--Externals/polarssl/tests/data_files/crl.pem11
-rw-r--r--Externals/polarssl/tests/data_files/crl_expired.pem11
-rw-r--r--Externals/polarssl/tests/data_files/crl_md2.pem11
-rw-r--r--Externals/polarssl/tests/data_files/crl_md4.pem11
-rw-r--r--Externals/polarssl/tests/data_files/crl_md5.pem11
-rw-r--r--Externals/polarssl/tests/data_files/crl_sha1.pem11
-rw-r--r--Externals/polarssl/tests/data_files/crl_sha224.pem11
-rw-r--r--Externals/polarssl/tests/data_files/crl_sha256.pem11
-rw-r--r--Externals/polarssl/tests/data_files/crl_sha384.pem11
-rw-r--r--Externals/polarssl/tests/data_files/crl_sha512.pem11
-rw-r--r--Externals/polarssl/tests/data_files/format_gen.key16
-rw-r--r--Externals/polarssl/tests/data_files/format_gen.pub6
-rw-r--r--Externals/polarssl/tests/data_files/format_pkcs12.fmtbin3381 -> 0 bytes
-rw-r--r--Externals/polarssl/tests/data_files/format_rsa.key15
-rw-r--r--Externals/polarssl/tests/data_files/hash_file_1bin5120 -> 0 bytes
-rw-r--r--Externals/polarssl/tests/data_files/hash_file_22
-rw-r--r--Externals/polarssl/tests/data_files/hash_file_3bin13 -> 0 bytes
-rw-r--r--Externals/polarssl/tests/data_files/hash_file_40
-rw-r--r--Externals/polarssl/tests/data_files/keyfile15
-rw-r--r--Externals/polarssl/tests/data_files/keyfile.3des18
-rw-r--r--Externals/polarssl/tests/data_files/keyfile.aes12818
-rw-r--r--Externals/polarssl/tests/data_files/keyfile.aes19218
-rw-r--r--Externals/polarssl/tests/data_files/keyfile.aes25618
-rw-r--r--Externals/polarssl/tests/data_files/keyfile.des18
-rw-r--r--Externals/polarssl/tests/data_files/mpi_101
-rw-r--r--Externals/polarssl/tests/data_files/mpi_too_big1
-rw-r--r--Externals/polarssl/tests/data_files/pkcs8_pbe_sha1_2des.key29
-rw-r--r--Externals/polarssl/tests/data_files/pkcs8_pbe_sha1_3des.derbin1262 -> 0 bytes
-rw-r--r--Externals/polarssl/tests/data_files/pkcs8_pbe_sha1_3des.key29
-rw-r--r--Externals/polarssl/tests/data_files/pkcs8_pbe_sha1_rc4_128.key29
-rw-r--r--Externals/polarssl/tests/data_files/pkcs8_pbes2_pbkdf2_3des.derbin1298 -> 0 bytes
-rw-r--r--Externals/polarssl/tests/data_files/pkcs8_pbes2_pbkdf2_3des.key30
-rw-r--r--Externals/polarssl/tests/data_files/pkcs8_pbes2_pbkdf2_des.key29
-rw-r--r--Externals/polarssl/tests/data_files/server1.crt77
-rw-r--r--Externals/polarssl/tests/data_files/server1.key27
-rw-r--r--Externals/polarssl/tests/data_files/server1.req.md416
-rw-r--r--Externals/polarssl/tests/data_files/server1.req.md516
-rw-r--r--Externals/polarssl/tests/data_files/server1.req.sha116
-rw-r--r--Externals/polarssl/tests/data_files/server1.req.sha22416
-rw-r--r--Externals/polarssl/tests/data_files/server1.req.sha25616
-rw-r--r--Externals/polarssl/tests/data_files/server1.req.sha38416
-rw-r--r--Externals/polarssl/tests/data_files/server1.req.sha51216
-rw-r--r--Externals/polarssl/tests/data_files/server2.crt77
-rw-r--r--Externals/polarssl/tests/data_files/server2.key27
-rw-r--r--Externals/polarssl/tests/data_files/test-ca.crt80
-rw-r--r--Externals/polarssl/tests/data_files/test-ca.key30
-rw-r--r--Externals/polarssl/tests/fct.h3959
-rw-r--r--Externals/polarssl/tests/scripts/gen_ctr_drbg.pl93
-rw-r--r--Externals/polarssl/tests/scripts/gen_gcm_decrypt.pl94
-rw-r--r--Externals/polarssl/tests/scripts/gen_gcm_encrypt.pl77
-rw-r--r--Externals/polarssl/tests/scripts/gen_pkcs1_v21_sign_verify.pl72
-rw-r--r--Externals/polarssl/tests/scripts/generate_code.pl151
-rw-r--r--Externals/polarssl/tests/suites/helpers.function218
-rw-r--r--Source/Core/Common/CMakeLists.txt4
-rw-r--r--Source/Core/Common/Src/Crypto/md5.cpp573
-rw-r--r--Source/Core/Common/Src/Crypto/md5.h138
-rw-r--r--Source/Core/Common/Src/Crypto/sha1.cpp614
-rw-r--r--Source/Core/Common/Src/Crypto/sha1.h138
-rw-r--r--Source/Core/Common/Src/Crypto/tools.h2
-rw-r--r--Source/Core/Core/CMakeLists.txt13
-rw-r--r--Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp12
-rw-r--r--Source/Core/Core/Src/Movie.cpp2
-rw-r--r--Source/Core/Core/Src/ec_wii.cpp2
-rw-r--r--Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp2
-rw-r--r--Source/Core/DolphinWX/Src/MemoryCards/WiiSaveCrypted.h2
198 files changed, 22 insertions, 22945 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 48a461ca8a..a28738c069 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -564,6 +564,11 @@ else()
include_directories(Externals/SFML/include)
endif()
+
+message("Using PolarSSL from Externals")
+add_subdirectory(Externals/polarssl/)
+include_directories(Externals/polarssl/include)
+
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND NOT ANDROID)
check_lib(SOIL SOIL SOIL/SOIL.h QUIET)
endif()
diff --git a/CMakeTests/FindGnuTLS.cmake b/CMakeTests/FindGnuTLS.cmake
deleted file mode 100644
index cf0b76ecff..0000000000
--- a/CMakeTests/FindGnuTLS.cmake
+++ /dev/null
@@ -1,51 +0,0 @@
-# - Try to find GNUTLS
-# Find GNUTLS headers, libraries and the answer to all questions.
-#
-# GNUTLS_FOUND True if gnutls got found
-# GNUTLS_INCLUDE_DIRS Location of gnutls headers
-# GNUTLS_LIBRARIES List of libaries to use gnutls
-#
-# Copyright (c) 2007 Bjoern Ricks <b.ricks@fh-osnabrueck.de>
-#
-# Redistribution and use is allowed according to the terms of the New
-# BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-#
-
-INCLUDE( FindPkgConfig )
-
-IF ( GNUTLS_FIND_REQUIRED )
- SET( _pkgconfig_REQUIRED "REQUIRED" )
-ELSE( GNUTLS_FIND_REQUIRED )
- SET( _pkgconfig_REQUIRED "" )
-ENDIF ( GNUTLS_FIND_REQUIRED )
-
-IF ( GNUTLS_MIN_VERSION )
- PKG_SEARCH_MODULE( GNUTLS ${_pkgconfig_REQUIRED} gnutls>=${GNUTLS_MIN_VERSION} )
-ELSE ( GNUTLS_MIN_VERSION )
- PKG_SEARCH_MODULE( GNUTLS ${_pkgconfig_REQUIRED} gnutls )
-ENDIF ( GNUTLS_MIN_VERSION )
-
-
-IF( NOT GNUTLS_FOUND AND NOT PKG_CONFIG_FOUND )
- FIND_PATH( GNUTLS_INCLUDE_DIRS gnutls/gnutls.h )
- FIND_LIBRARY( GNUTLS_LIBRARIES gnutls)
-
- # Report results
- IF ( GNUTLS_LIBRARIES AND GNUTLS_INCLUDE_DIRS )
- SET( GNUTLS_FOUND 1 )
- IF ( NOT GNUTLS_FIND_QUIETLY )
- MESSAGE( STATUS "Found gnutls: ${GNUTLS_LIBRARIES}" )
- ENDIF ( NOT GNUTLS_FIND_QUIETLY )
- ELSE ( GNUTLS_LIBRARIES AND GNUTLS_INCLUDE_DIRS )
- IF ( GNUTLS_FIND_REQUIRED )
- MESSAGE( SEND_ERROR "Could NOT find gnutls" )
- ELSE ( GNUTLS_FIND_REQUIRED )
- IF ( NOT GNUTLS_FIND_QUIETLY )
- MESSAGE( STATUS "Could NOT find gnutls" )
- ENDIF ( NOT GNUTLS_FIND_QUIETLY )
- ENDIF ( GNUTLS_FIND_REQUIRED )
- ENDIF ( GNUTLS_LIBRARIES AND GNUTLS_INCLUDE_DIRS )
-ENDIF( NOT GNUTLS_FOUND AND NOT PKG_CONFIG_FOUND )
-
-MARK_AS_ADVANCED( GNUTLS_LIBRARIES GNUTLS_INCLUDE_DIRS )
diff --git a/Externals/polarssl/CMakeLists.txt b/Externals/polarssl/CMakeLists.txt
index 2a25057b17..54aa012fdb 100644
--- a/Externals/polarssl/CMakeLists.txt
+++ b/Externals/polarssl/CMakeLists.txt
@@ -1,8 +1,6 @@
cmake_minimum_required(VERSION 2.6)
project(POLARSSL C)
-enable_testing()
-
if(CMAKE_COMPILER_IS_GNUCC)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2 -Wall -Wextra -W -Wdeclaration-after-statement")
set(CMAKE_C_FLAGS_DEBUG "-g3 -O0")
@@ -35,14 +33,5 @@ if(ENABLE_ZLIB_SUPPORT)
endif(ENABLE_ZLIB_SUPPORT)
add_subdirectory(library)
-add_subdirectory(include)
-
-if(CMAKE_COMPILER_IS_GNUCC)
- add_subdirectory(tests)
-endif(CMAKE_COMPILER_IS_GNUCC)
-
-add_subdirectory(programs)
-ADD_CUSTOM_TARGET(apidoc
- COMMAND doxygen doxygen/polarssl.doxyfile
- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
+
diff --git a/Externals/polarssl/include/CMakeLists.txt b/Externals/polarssl/include/CMakeLists.txt
deleted file mode 100644
index 8468871dc5..0000000000
--- a/Externals/polarssl/include/CMakeLists.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-option(INSTALL_POLARSSL_HEADERS "Install PolarSSL headers." ON)
-
-if(INSTALL_POLARSSL_HEADERS)
-
-file(GLOB headers "polarssl/*.h")
-
-install(FILES ${headers}
- DESTINATION include/polarssl
- PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)
-
-endif(INSTALL_POLARSSL_HEADERS)
diff --git a/Externals/polarssl/programs/.gitignore b/Externals/polarssl/programs/.gitignore
deleted file mode 100644
index d6d9efcf6e..0000000000
--- a/Externals/polarssl/programs/.gitignore
+++ /dev/null
@@ -1,39 +0,0 @@
-*/Makefile
-aes/aescrypt2
-aes/crypt_and_hash
-hash/generic_sum
-hash/hello
-hash/md5sum
-hash/sha1sum
-hash/sha2sum
-pkey/dh_client
-pkey/dh_genprime
-pkey/dh_server
-pkey/key_app
-pkey/key_app_writer
-pkey/mpi_demo
-pkey/rsa_decrypt
-pkey/rsa_encrypt
-pkey/rsa_genkey
-pkey/rsa_sign
-pkey/rsa_sign_pss
-pkey/rsa_verify
-pkey/rsa_verify_pss
-random/gen_entropy
-random/gen_random_ctr_drbg
-random/gen_random_havege
-ssl/ssl_client1
-ssl/ssl_client2
-ssl/ssl_fork_server
-ssl/ssl_mail_client
-ssl/ssl_server
-ssl/ssl_server2
-test/benchmark
-test/o_p_test
-test/selftest
-test/ssl_cert_test
-test/ssl_test
-util/strerror
-x509/cert_app
-x509/cert_req
-x509/crl_app
diff --git a/Externals/polarssl/programs/CMakeLists.txt b/Externals/polarssl/programs/CMakeLists.txt
deleted file mode 100644
index 4cdae7821b..0000000000
--- a/Externals/polarssl/programs/CMakeLists.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-add_subdirectory(aes)
-add_subdirectory(hash)
-add_subdirectory(pkey)
-add_subdirectory(random)
-add_subdirectory(ssl)
-add_subdirectory(test)
-add_subdirectory(x509)
-add_subdirectory(util)
diff --git a/Externals/polarssl/programs/Makefile b/Externals/polarssl/programs/Makefile
deleted file mode 100644
index 9b0d1f531b..0000000000
--- a/Externals/polarssl/programs/Makefile
+++ /dev/null
@@ -1,211 +0,0 @@
-
-# To compile on SunOS: add "-lsocket -lnsl" to LDFLAGS
-# To compile on MinGW: add "-lws2_32" to LDFLAGS or define WINDOWS in your env
-# To compile with PKCS11: add "-lpkcs11-helper" to LDFLAGS
-
-CFLAGS += -I../include -D_FILE_OFFSET_BITS=64 -Wall -W -Wdeclaration-after-statement
-OFLAGS = -O2
-LDFLAGS += -L../library -lpolarssl $(SYS_LDFLAGS)
-
-ifdef DEBUG
-CFLAGS += -g3
-endif
-
-ifdef WINDOWS
-LDFLAGS += -lws2_32
-endif
-
-# Zlib shared library extensions:
-ifdef ZLIB
-LDFLAGS += -lz
-endif
-
-APPS = aes/aescrypt2 aes/crypt_and_hash \
- hash/hello hash/generic_sum \
- hash/md5sum hash/sha1sum \
- hash/sha2sum pkey/dh_client \
- pkey/dh_genprime pkey/dh_server \
- pkey/key_app pkey/key_app_writer \
- pkey/mpi_demo pkey/rsa_genkey \
- pkey/rsa_decrypt pkey/rsa_encrypt \
- pkey/rsa_sign pkey/rsa_verify \
- pkey/rsa_sign_pss pkey/rsa_verify_pss \
- ssl/ssl_client1 ssl/ssl_client2 \
- ssl/ssl_server ssl/ssl_server2 \
- ssl/ssl_fork_server \
- ssl/ssl_mail_client random/gen_entropy \
- random/gen_random_havege \
- random/gen_random_ctr_drbg \
- test/ssl_cert_test test/benchmark \
- test/selftest test/ssl_test \
- util/strerror \
- x509/cert_app x509/crl_app \
- x509/cert_req
-
-ifdef OPENSSL
-APPS += test/o_p_test
-endif
-
-.SILENT:
-
-all: $(APPS)
-
-aes/aescrypt2: aes/aescrypt2.c ../library/libpolarssl.a
- echo " CC aes/aescrypt2.c"
- $(CC) $(CFLAGS) $(OFLAGS) aes/aescrypt2.c $(LDFLAGS) -o $@
-
-aes/crypt_and_hash: aes/crypt_and_hash.c ../library/libpolarssl.a
- echo " CC aes/crypt_and_hash.c"
- $(CC) $(CFLAGS) $(OFLAGS) aes/crypt_and_hash.c $(LDFLAGS) -o $@
-
-hash/hello: hash/hello.c ../library/libpolarssl.a
- echo " CC hash/hello.c"
- $(CC) $(CFLAGS) $(OFLAGS) hash/hello.c $(LDFLAGS) -o $@
-
-hash/generic_sum: hash/generic_sum.c ../library/libpolarssl.a
- echo " CC hash/generic_sum.c"
- $(CC) $(CFLAGS) $(OFLAGS) hash/generic_sum.c $(LDFLAGS) -o $@
-
-hash/md5sum: hash/md5sum.c ../library/libpolarssl.a
- echo " CC hash/md5sum.c"
- $(CC) $(CFLAGS) $(OFLAGS) hash/md5sum.c $(LDFLAGS) -o $@
-
-hash/sha1sum: hash/sha1sum.c ../library/libpolarssl.a
- echo " CC hash/sha1sum.c"
- $(CC) $(CFLAGS) $(OFLAGS) hash/sha1sum.c $(LDFLAGS) -o $@
-
-hash/sha2sum: hash/sha2sum.c ../library/libpolarssl.a
- echo " CC hash/sha2sum.c"
- $(CC) $(CFLAGS) $(OFLAGS) hash/sha2sum.c $(LDFLAGS) -o $@
-
-pkey/dh_client: pkey/dh_client.c ../library/libpolarssl.a
- echo " CC pkey/dh_client.c"
- $(CC) $(CFLAGS) $(OFLAGS) pkey/dh_client.c $(LDFLAGS) -o $@
-
-pkey/dh_genprime: pkey/dh_genprime.c ../library/libpolarssl.a
- echo " CC pkey/dh_genprime.c"
- $(CC) $(CFLAGS) $(OFLAGS) pkey/dh_genprime.c $(LDFLAGS) -o $@
-
-pkey/dh_server: pkey/dh_server.c ../library/libpolarssl.a
- echo " CC pkey/dh_server.c"
- $(CC) $(CFLAGS) $(OFLAGS) pkey/dh_server.c $(LDFLAGS) -o $@
-
-pkey/key_app: pkey/key_app.c ../library/libpolarssl.a
- echo " CC pkey/key_app.c"
- $(CC) $(CFLAGS) $(OFLAGS) pkey/key_app.c $(LDFLAGS) -o $@
-
-pkey/key_app_writer: pkey/key_app_writer.c ../library/libpolarssl.a
- echo " CC pkey/key_app_writer.c"
- $(CC) $(CFLAGS) $(OFLAGS) pkey/key_app_writer.c $(LDFLAGS) -o $@
-
-pkey/mpi_demo: pkey/mpi_demo.c ../library/libpolarssl.a
- echo " CC pkey/mpi_demo.c"
- $(CC) $(CFLAGS) $(OFLAGS) pkey/mpi_demo.c $(LDFLAGS) -o $@
-
-pkey/rsa_genkey: pkey/rsa_genkey.c ../library/libpolarssl.a
- echo " CC pkey/rsa_genkey.c"
- $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_genkey.c $(LDFLAGS) -o $@
-
-pkey/rsa_sign: pkey/rsa_sign.c ../library/libpolarssl.a
- echo " CC pkey/rsa_sign.c"
- $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_sign.c $(LDFLAGS) -o $@
-
-pkey/rsa_verify: pkey/rsa_verify.c ../library/libpolarssl.a
- echo " CC pkey/rsa_verify.c"
- $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_verify.c $(LDFLAGS) -o $@
-
-pkey/rsa_sign_pss: pkey/rsa_sign_pss.c ../library/libpolarssl.a
- echo " CC pkey/rsa_sign_pss.c"
- $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_sign_pss.c $(LDFLAGS) -o $@
-
-pkey/rsa_verify_pss: pkey/rsa_verify_pss.c ../library/libpolarssl.a
- echo " CC pkey/rsa_verify_pss.c"
- $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_verify_pss.c $(LDFLAGS) -o $@
-
-pkey/rsa_decrypt: pkey/rsa_decrypt.c ../library/libpolarssl.a
- echo " CC pkey/rsa_decrypt.c"
- $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_decrypt.c $(LDFLAGS) -o $@
-
-pkey/rsa_encrypt: pkey/rsa_encrypt.c ../library/libpolarssl.a
- echo " CC pkey/rsa_encrypt.c"
- $(CC) $(CFLAGS) $(OFLAGS) pkey/rsa_encrypt.c $(LDFLAGS) -o $@
-
-random/gen_entropy: random/gen_entropy.c ../library/libpolarssl.a
- echo " CC random/gen_entropy.c"
- $(CC) $(CFLAGS) $(OFLAGS) random/gen_entropy.c $(LDFLAGS) -o $@
-
-random/gen_random_havege: random/gen_random_havege.c ../library/libpolarssl.a
- echo " CC random/gen_random_havege.c"
- $(CC) $(CFLAGS) $(OFLAGS) random/gen_random_havege.c $(LDFLAGS) -o $@
-
-random/gen_random_ctr_drbg: random/gen_random_ctr_drbg.c ../library/libpolarssl.a
- echo " CC random/gen_random_ctr_drbg.c"
- $(CC) $(CFLAGS) $(OFLAGS) random/gen_random_ctr_drbg.c $(LDFLAGS) -o $@
-
-ssl/ssl_client1: ssl/ssl_client1.c ../library/libpolarssl.a
- echo " CC ssl/ssl_client1.c"
- $(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_client1.c $(LDFLAGS) -o $@
-
-ssl/ssl_client2: ssl/ssl_client2.c ../library/libpolarssl.a
- echo " CC ssl/ssl_client2.c"
- $(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_client2.c $(LDFLAGS) -o $@
-
-ssl/ssl_server: ssl/ssl_server.c ../library/libpolarssl.a
- echo " CC ssl/ssl_server.c"
- $(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_server.c $(LDFLAGS) -o $@
-
-ssl/ssl_server2: ssl/ssl_server2.c ../library/libpolarssl.a
- echo " CC ssl/ssl_server2.c"
- $(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_server2.c $(LDFLAGS) -o $@
-
-ssl/ssl_fork_server: ssl/ssl_fork_server.c ../library/libpolarssl.a
- echo " CC ssl/ssl_fork_server.c"
- $(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_fork_server.c $(LDFLAGS) -o $@
-
-ssl/ssl_mail_client: ssl/ssl_mail_client.c ../library/libpolarssl.a
- echo " CC ssl/ssl_mail_client.c"
- $(CC) $(CFLAGS) $(OFLAGS) ssl/ssl_mail_client.c $(LDFLAGS) -o $@
-
-test/ssl_cert_test: test/ssl_cert_test.c ../library/libpolarssl.a
- echo " CC test/ssl_cert_test.c"
- $(CC) $(CFLAGS) $(OFLAGS) test/ssl_cert_test.c $(LDFLAGS) -o $@
-
-test/benchmark: test/benchmark.c ../library/libpolarssl.a
- echo " CC test/benchmark.c"
- $(CC) $(CFLAGS) $(OFLAGS) test/benchmark.c $(LDFLAGS) -o $@
-
-test/selftest: test/selftest.c ../library/libpolarssl.a
- echo " CC test/selftest.c"
- $(CC) $(CFLAGS) $(OFLAGS) test/selftest.c $(LDFLAGS) -o $@
-
-test/ssl_test: test/ssl_test.c ../library/libpolarssl.a
- echo " CC test/ssl_test.c"
- $(CC) $(CFLAGS) $(OFLAGS) test/ssl_test.c $(LDFLAGS) -o $@
-
-test/o_p_test: test/o_p_test.c ../library/libpolarssl.a
- echo " CC test/o_p_test.c"
- $(CC) $(CFLAGS) $(OFLAGS) test/o_p_test.c $(LDFLAGS) -o $@ -lssl -lcrypto
-
-util/strerror: util/strerror.c ../library/libpolarssl.a
- echo " CC util/strerror.c"
- $(CC) $(CFLAGS) $(OFLAGS) util/strerror.c $(LDFLAGS) -o $@
-
-x509/cert_app: x509/cert_app.c ../library/libpolarssl.a
- echo " CC x509/cert_app.c"
- $(CC) $(CFLAGS) $(OFLAGS) x509/cert_app.c $(LDFLAGS) -o $@
-
-x509/crl_app: x509/crl_app.c ../library/libpolarssl.a
- echo " CC x509/crl_app.c"
- $(CC) $(CFLAGS) $(OFLAGS) x509/crl_app.c $(LDFLAGS) -o $@
-
-x509/cert_req: x509/cert_req.c ../library/libpolarssl.a
- echo " CC x509/cert_req.c"
- $(CC) $(CFLAGS) $(OFLAGS) x509/cert_req.c $(LDFLAGS) -o $@
-
-clean:
-ifndef WINDOWS
- rm -f $(APPS)
-endif
-ifdef WINDOWS
- del /S /Q /F *.o *.exe
-endif
diff --git a/Externals/polarssl/programs/aes/CMakeLists.txt b/Externals/polarssl/programs/aes/CMakeLists.txt
deleted file mode 100644
index 9bac94a72a..0000000000
--- a/Externals/polarssl/programs/aes/CMakeLists.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-add_executable(aescrypt2 aescrypt2.c)
-target_link_libraries(aescrypt2 polarssl)
-
-add_executable(crypt_and_hash crypt_and_hash.c)
-target_link_libraries(crypt_and_hash polarssl)
-
-install(TARGETS aescrypt2 crypt_and_hash
- DESTINATION "bin"
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
diff --git a/Externals/polarssl/programs/aes/aescrypt2.c b/Externals/polarssl/programs/aes/aescrypt2.c
deleted file mode 100644
index 1bc657414f..0000000000
--- a/Externals/polarssl/programs/aes/aescrypt2.c
+++ /dev/null
@@ -1,428 +0,0 @@
-/*
- * AES-256 file encryption program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#if defined(_WIN32)
-#include <windows.h>
-#if !defined(_WIN32_WCE)
-#include <io.h>
-#endif
-#else
-#include <sys/types.h>
-#include <unistd.h>
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <time.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/aes.h"
-#include "polarssl/sha2.h"
-
-#define MODE_ENCRYPT 0
-#define MODE_DECRYPT 1
-
-#define USAGE \
- "\n aescrypt2 <mode> <input filename> <output filename> <key>\n" \
- "\n <mode>: 0 = encrypt, 1 = decrypt\n" \
- "\n example: aescrypt2 0 file file.aes hex:E76B2413958B00E193\n" \
- "\n"
-
-#if !defined(POLARSSL_AES_C) || !defined(POLARSSL_SHA2_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
- printf("POLARSSL_AES_C and/or POLARSSL_SHA2_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int ret = 1;
-
- int i, n;
- int mode, lastn;
- size_t keylen;
- FILE *fkey, *fin = NULL, *fout = NULL;
-
- char *p;
- unsigned char IV[16];
- unsigned char key[512];
- unsigned char digest[32];
- unsigned char buffer[1024];
-
- aes_context aes_ctx;
- sha2_context sha_ctx;
-
-#if defined(_WIN32_WCE)
- long filesize, offset;
-#elif defined(_WIN32)
- LARGE_INTEGER li_size;
- __int64 filesize, offset;
-#else
- off_t filesize, offset;
-#endif
-
- /*
- * Parse the command-line arguments.
- */
- if( argc != 5 )
- {
- printf( USAGE );
-
-#if defined(_WIN32)
- printf( "\n Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- goto exit;
- }
-
- mode = atoi( argv[1] );
-
- if( mode != MODE_ENCRYPT && mode != MODE_DECRYPT )
- {
- fprintf( stderr, "invalide operation mode\n" );
- goto exit;
- }
-
- if( strcmp( argv[2], argv[3] ) == 0 )
- {
- fprintf( stderr, "input and output filenames must differ\n" );
- goto exit;
- }
-
- if( ( fin = fopen( argv[2], "rb" ) ) == NULL )
- {
- fprintf( stderr, "fopen(%s,rb) failed\n", argv[2] );
- goto exit;
- }
-
- if( ( fout = fopen( argv[3], "wb+" ) ) == NULL )
- {
- fprintf( stderr, "fopen(%s,wb+) failed\n", argv[3] );
- goto exit;
- }
-
- /*
- * Read the secret key and clean the command line.
- */
- if( ( fkey = fopen( argv[4], "rb" ) ) != NULL )
- {
- keylen = fread( key, 1, sizeof( key ), fkey );
- fclose( fkey );
- }
- else
- {
- if( memcmp( argv[4], "hex:", 4 ) == 0 )
- {
- p = &argv[4][4];
- keylen = 0;
-
- while( sscanf( p, "%02X", &n ) > 0 &&
- keylen < (int) sizeof( key ) )
- {
- key[keylen++] = (unsigned char) n;
- p += 2;
- }
- }
- else
- {
- keylen = strlen( argv[4] );
-
- if( keylen > (int) sizeof( key ) )
- keylen = (int) sizeof( key );
-
- memcpy( key, argv[4], keylen );
- }
- }
-
- memset( argv[4], 0, strlen( argv[4] ) );
-
-#if defined(_WIN32_WCE)
- filesize = fseek( fin, 0L, SEEK_END );
-#else
-#if defined(_WIN32)
- /*
- * Support large files (> 2Gb) on Win32
- */
- li_size.QuadPart = 0;
- li_size.LowPart =
- SetFilePointer( (HANDLE) _get_osfhandle( _fileno( fin ) ),
- li_size.LowPart, &li_size.HighPart, FILE_END );
-
- if( li_size.LowPart == 0xFFFFFFFF && GetLastError() != NO_ERROR )
- {
- fprintf( stderr, "SetFilePointer(0,FILE_END) failed\n" );
- goto exit;
- }
-
- filesize = li_size.QuadPart;
-#else
- if( ( filesize = lseek( fileno( fin ), 0, SEEK_END ) ) < 0 )
- {
- perror( "lseek" );
- goto exit;
- }
-#endif
-#endif
-
- if( fseek( fin, 0, SEEK_SET ) < 0 )
- {
- fprintf( stderr, "fseek(0,SEEK_SET) failed\n" );
- goto exit;
- }
-
- if( mode == MODE_ENCRYPT )
- {
- /*
- * Generate the initialization vector as:
- * IV = SHA-256( filesize || filename )[0..15]
- */
- for( i = 0; i < 8; i++ )
- buffer[i] = (unsigned char)( filesize >> ( i << 3 ) );
-
- p = argv[2];
-
- sha2_starts( &sha_ctx, 0 );
- sha2_update( &sha_ctx, buffer, 8 );
- sha2_update( &sha_ctx, (unsigned char *) p, strlen( p ) );
- sha2_finish( &sha_ctx, digest );
-
- memcpy( IV, digest, 16 );
-
- /*
- * The last four bits in the IV are actually used
- * to store the file size modulo the AES block size.
- */
- lastn = (int)( filesize & 0x0F );
-
- IV[15] = (unsigned char)
- ( ( IV[15] & 0xF0 ) | lastn );
-
- /*
- * Append the IV at the beginning of the output.
- */
- if( fwrite( IV, 1, 16, fout ) != 16 )
- {
- fprintf( stderr, "fwrite(%d bytes) failed\n", 16 );
- goto exit;
- }
-
- /*
- * Hash the IV and the secret key together 8192 times
- * using the result to setup the AES context and HMAC.
- */
- memset( digest, 0, 32 );
- memcpy( digest, IV, 16 );
-
- for( i = 0; i < 8192; i++ )
- {
- sha2_starts( &sha_ctx, 0 );
- sha2_update( &sha_ctx, digest, 32 );
- sha2_update( &sha_ctx, key, keylen );
- sha2_finish( &sha_ctx, digest );
- }
-
- memset( key, 0, sizeof( key ) );
- aes_setkey_enc( &aes_ctx, digest, 256 );
- sha2_hmac_starts( &sha_ctx, digest, 32, 0 );
-
- /*
- * Encrypt and write the ciphertext.
- */
- for( offset = 0; offset < filesize; offset += 16 )
- {
- n = ( filesize - offset > 16 ) ? 16 : (int)
- ( filesize - offset );
-
- if( fread( buffer, 1, n, fin ) != (size_t) n )
- {
- fprintf( stderr, "fread(%d bytes) failed\n", n );
- goto exit;
- }
-
- for( i = 0; i < 16; i++ )
- buffer[i] = (unsigned char)( buffer[i] ^ IV[i] );
-
- aes_crypt_ecb( &aes_ctx, AES_ENCRYPT, buffer, buffer );
- sha2_hmac_update( &sha_ctx, buffer, 16 );
-
- if( fwrite( buffer, 1, 16, fout ) != 16 )
- {
- fprintf( stderr, "fwrite(%d bytes) failed\n", 16 );
- goto exit;
- }
-
- memcpy( IV, buffer, 16 );
- }
-
- /*
- * Finally write the HMAC.
- */
- sha2_hmac_finish( &sha_ctx, digest );
-
- if( fwrite( digest, 1, 32, fout ) != 32 )
- {
- fprintf( stderr, "fwrite(%d bytes) failed\n", 16 );
- goto exit;
- }
- }
-
- if( mode == MODE_DECRYPT )
- {
- unsigned char tmp[16];
-
- /*
- * The encrypted file must be structured as follows:
- *
- * 00 .. 15 Initialization Vector
- * 16 .. 31 AES Encrypted Block #1
- * ..
- * N*16 .. (N+1)*16 - 1 AES Encrypted Block #N
- * (N+1)*16 .. (N+1)*16 + 32 HMAC-SHA-256(ciphertext)
- */
- if( filesize < 48 )
- {
- fprintf( stderr, "File too short to be encrypted.\n" );
- goto exit;
- }
-
- if( ( filesize & 0x0F ) != 0 )
- {
- fprintf( stderr, "File size not a multiple of 16.\n" );
- goto exit;
- }
-
- /*
- * Substract the IV + HMAC length.
- */
- filesize -= ( 16 + 32 );
-
- /*
- * Read the IV and original filesize modulo 16.
- */
- if( fread( buffer, 1, 16, fin ) != 16 )
- {
- fprintf( stderr, "fread(%d bytes) failed\n", 16 );
- goto exit;
- }
-
- memcpy( IV, buffer, 16 );
- lastn = IV[15] & 0x0F;
-
- /*
- * Hash the IV and the secret key together 8192 times
- * using the result to setup the AES context and HMAC.
- */
- memset( digest, 0, 32 );
- memcpy( digest, IV, 16 );
-
- for( i = 0; i < 8192; i++ )
- {
- sha2_starts( &sha_ctx, 0 );
- sha2_update( &sha_ctx, digest, 32 );
- sha2_update( &sha_ctx, key, keylen );
- sha2_finish( &sha_ctx, digest );
- }
-
- memset( key, 0, sizeof( key ) );
- aes_setkey_dec( &aes_ctx, digest, 256 );
- sha2_hmac_starts( &sha_ctx, digest, 32, 0 );
-
- /*
- * Decrypt and write the plaintext.
- */
- for( offset = 0; offset < filesize; offset += 16 )
- {
- if( fread( buffer, 1, 16, fin ) != 16 )
- {
- fprintf( stderr, "fread(%d bytes) failed\n", 16 );
- goto exit;
- }
-
- memcpy( tmp, buffer, 16 );
-
- sha2_hmac_update( &sha_ctx, buffer, 16 );
- aes_crypt_ecb( &aes_ctx, AES_DECRYPT, buffer, buffer );
-
- for( i = 0; i < 16; i++ )
- buffer[i] = (unsigned char)( buffer[i] ^ IV[i] );
-
- memcpy( IV, tmp, 16 );
-
- n = ( lastn > 0 && offset == filesize - 16 )
- ? lastn : 16;
-
- if( fwrite( buffer, 1, n, fout ) != (size_t) n )
- {
- fprintf( stderr, "fwrite(%d bytes) failed\n", n );
- goto exit;
- }
- }
-
- /*
- * Verify the message authentication code.
- */
- sha2_hmac_finish( &sha_ctx, digest );
-
- if( fread( buffer, 1, 32, fin ) != 32 )
- {
- fprintf( stderr, "fread(%d bytes) failed\n", 32 );
- goto exit;
- }
-
- if( memcmp( digest, buffer, 32 ) != 0 )
- {
- fprintf( stderr, "HMAC check failed: wrong key, "
- "or file corrupted.\n" );
- goto exit;
- }
- }
-
- ret = 0;
-
-exit:
- if( fin )
- fclose( fin );
- if( fout )
- fclose( fout );
-
- memset( buffer, 0, sizeof( buffer ) );
- memset( digest, 0, sizeof( digest ) );
-
- memset( &aes_ctx, 0, sizeof( aes_context ) );
- memset( &sha_ctx, 0, sizeof( sha2_context ) );
-
- return( ret );
-}
-#endif /* POLARSSL_AES_C && POLARSSL_SHA2_C */
diff --git a/Externals/polarssl/programs/aes/crypt_and_hash.c b/Externals/polarssl/programs/aes/crypt_and_hash.c
deleted file mode 100644
index 47b17d5238..0000000000
--- a/Externals/polarssl/programs/aes/crypt_and_hash.c
+++ /dev/null
@@ -1,501 +0,0 @@
-/*
- * \brief Generic file encryption program using generic wrappers for configured
- * security.
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#if defined(_WIN32)
-#include <windows.h>
-#if !defined(_WIN32_WCE)
-#include <io.h>
-#endif
-#else
-#include <sys/types.h>
-#include <unistd.h>
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <time.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/cipher.h"
-#include "polarssl/md.h"
-
-#define MODE_ENCRYPT 0
-#define MODE_DECRYPT 1
-
-#define USAGE \
- "\n crypt_and_hash <mode> <input filename> <output filename> <cipher> <md> <key>\n" \
- "\n <mode>: 0 = encrypt, 1 = decrypt\n" \
- "\n example: crypt_and_hash 0 file file.aes AES-128-CBC SHA1 hex:E76B2413958B00E193\n" \
- "\n"
-
-#if !defined(POLARSSL_CIPHER_C) || !defined(POLARSSL_MD_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_CIPHER_C and/or POLARSSL_MD_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int ret = 1, i, n;
- int mode, lastn;
- size_t keylen, ilen, olen;
- FILE *fkey, *fin = NULL, *fout = NULL;
-
- char *p;
- unsigned char IV[16];
- unsigned char key[512];
- unsigned char digest[POLARSSL_MD_MAX_SIZE];
- unsigned char buffer[1024];
- unsigned char output[1024];
-
- const cipher_info_t *cipher_info;
- const md_info_t *md_info;
- cipher_context_t cipher_ctx;
- md_context_t md_ctx;
-#if defined(_WIN32_WCE)
- long filesize, offset;
-#elif defined(_WIN32)
- LARGE_INTEGER li_size;
- __int64 filesize, offset;
-#else
- off_t filesize, offset;
-#endif
-
- memset( &cipher_ctx, 0, sizeof( cipher_context_t ));
- memset( &md_ctx, 0, sizeof( md_context_t ));
-
- /*
- * Parse the command-line arguments.
- */
- if( argc != 7 )
- {
- const int *list;
-
- printf( USAGE );
-
- printf( "Available ciphers:\n" );
- list = cipher_list();
- while( *list )
- {
- cipher_info = cipher_info_from_type( *list );
- printf( " %s\n", cipher_info->name );
- list++;
- }
-
- printf( "\nAvailable message digests:\n" );
- list = md_list();
- while( *list )
- {
- md_info = md_info_from_type( *list );
- printf( " %s\n", md_info->name );
- list++;
- }
-
-#if defined(_WIN32)
- printf( "\n Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- goto exit;
- }
-
- mode = atoi( argv[1] );
-
- if( mode != MODE_ENCRYPT && mode != MODE_DECRYPT )
- {
- fprintf( stderr, "invalid operation mode\n" );
- goto exit;
- }
-
- if( strcmp( argv[2], argv[3] ) == 0 )
- {
- fprintf( stderr, "input and output filenames must differ\n" );
- goto exit;
- }
-
- if( ( fin = fopen( argv[2], "rb" ) ) == NULL )
- {
- fprintf( stderr, "fopen(%s,rb) failed\n", argv[2] );
- goto exit;
- }
-
- if( ( fout = fopen( argv[3], "wb+" ) ) == NULL )
- {
- fprintf( stderr, "fopen(%s,wb+) failed\n", argv[3] );
- goto exit;
- }
-
- /*
- * Read the Cipher and MD from the command line
- */
- cipher_info = cipher_info_from_string( argv[4] );
- if( cipher_info == NULL )
- {
- fprintf( stderr, "Cipher '%s' not found\n", argv[4] );
- goto exit;
- }
- cipher_init_ctx( &cipher_ctx, cipher_info);
-
- md_info = md_info_from_string( argv[5] );
- if( md_info == NULL )
- {
- fprintf( stderr, "Message Digest '%s' not found\n", argv[5] );
- goto exit;
- }
- md_init_ctx( &md_ctx, md_info);
-
- /*
- * Read the secret key and clean the command line.
- */
- if( ( fkey = fopen( argv[6], "rb" ) ) != NULL )
- {
- keylen = fread( key, 1, sizeof( key ), fkey );
- fclose( fkey );
- }
- else
- {
- if( memcmp( argv[6], "hex:", 4 ) == 0 )
- {
- p = &argv[6][4];
- keylen = 0;
-
- while( sscanf( p, "%02X", &n ) > 0 &&
- keylen < (int) sizeof( key ) )
- {
- key[keylen++] = (unsigned char) n;
- p += 2;
- }
- }
- else
- {
- keylen = strlen( argv[6] );
-
- if( keylen > (int) sizeof( key ) )
- keylen = (int) sizeof( key );
-
- memcpy( key, argv[6], keylen );
- }
- }
-
- memset( argv[6], 0, strlen( argv[6] ) );
-
-#if defined(_WIN32_WCE)
- filesize = fseek( fin, 0L, SEEK_END );
-#else
-#if defined(_WIN32)
- /*
- * Support large files (> 2Gb) on Win32
- */
- li_size.QuadPart = 0;
- li_size.LowPart =
- SetFilePointer( (HANDLE) _get_osfhandle( _fileno( fin ) ),
- li_size.LowPart, &li_size.HighPart, FILE_END );
-
- if( li_size.LowPart == 0xFFFFFFFF && GetLastError() != NO_ERROR )
- {
- fprintf( stderr, "SetFilePointer(0,FILE_END) failed\n" );
- goto exit;
- }
-
- filesize = li_size.QuadPart;
-#else
- if( ( filesize = lseek( fileno( fin ), 0, SEEK_END ) ) < 0 )
- {
- perror( "lseek" );
- goto exit;
- }
-#endif
-#endif
-
- if( fseek( fin, 0, SEEK_SET ) < 0 )
- {
- fprintf( stderr, "fseek(0,SEEK_SET) failed\n" );
- goto exit;
- }
-
- if( mode == MODE_ENCRYPT )
- {
- /*
- * Generate the initialization vector as:
- * IV = SHA-256( filesize || filename )[0..15]
- */
- for( i = 0; i < 8; i++ )
- buffer[i] = (unsigned char)( filesize >> ( i << 3 ) );
-
- p = argv[2];
-
- md_starts( &md_ctx );
- md_update( &md_ctx, buffer, 8 );
- md_update( &md_ctx, (unsigned char *) p, strlen( p ) );
- md_finish( &md_ctx, digest );
-
- memcpy( IV, digest, 16 );
-
- /*
- * The last four bits in the IV are actually used
- * to store the file size modulo the AES block size.
- */
- lastn = (int)( filesize & 0x0F );
-
- IV[15] = (unsigned char)
- ( ( IV[15] & 0xF0 ) | lastn );
-
- /*
- * Append the IV at the beginning of the output.
- */
- if( fwrite( IV, 1, 16, fout ) != 16 )
- {
- fprintf( stderr, "fwrite(%d bytes) failed\n", 16 );
- goto exit;
- }
-
- /*
- * Hash the IV and the secret key together 8192 times
- * using the result to setup the AES context and HMAC.
- */
- memset( digest, 0, 32 );
- memcpy( digest, IV, 16 );
-
- for( i = 0; i < 8192; i++ )
- {
- md_starts( &md_ctx );
- md_update( &md_ctx, digest, 32 );
- md_update( &md_ctx, key, keylen );
- md_finish( &md_ctx, digest );
-
- }
-
- memset( key, 0, sizeof( key ) );
-
- if( cipher_setkey( &cipher_ctx, digest, cipher_info->key_length,
- POLARSSL_ENCRYPT ) != 0 )
- {
- fprintf( stderr, "cipher_setkey() returned error\n");
- goto exit;
- }
- if( cipher_reset( &cipher_ctx, IV ) != 0 )
- {
- fprintf( stderr, "cipher_reset() returned error\n");
- goto exit;
- }
-
- md_hmac_starts( &md_ctx, digest, 32 );
-
- /*
- * Encrypt and write the ciphertext.
- */
- for( offset = 0; offset < filesize; offset += cipher_get_block_size( &cipher_ctx ) )
- {
- ilen = ( (unsigned int) filesize - offset > cipher_get_block_size( &cipher_ctx ) ) ?
- cipher_get_block_size( &cipher_ctx ) : (unsigned int) ( filesize - offset );
-
- if( fread( buffer, 1, ilen, fin ) != ilen )
- {
- fprintf( stderr, "fread(%ld bytes) failed\n", (long) n );
- goto exit;
- }
-
- cipher_update( &cipher_ctx, buffer, ilen, output, &olen );
- md_hmac_update( &md_ctx, output, olen );
-
- if( fwrite( output, 1, olen, fout ) != olen )
- {
- fprintf( stderr, "fwrite(%ld bytes) failed\n", (long) olen );
- goto exit;
- }
- }
-
- if( cipher_finish( &cipher_ctx, output, &olen ) != 0 )
- {
- fprintf( stderr, "cipher_finish() returned error\n" );
- goto exit;
- }
- md_hmac_update( &md_ctx, output, olen );
-
- if( fwrite( output, 1, olen, fout ) != olen )
- {
- fprintf( stderr, "fwrite(%ld bytes) failed\n", (long) olen );
- goto exit;
- }
-
- /*
- * Finally write the HMAC.
- */
- md_hmac_finish( &md_ctx, digest );
-
- if( fwrite( digest, 1, md_get_size( md_info ), fout ) != md_get_size( md_info ) )
- {
- fprintf( stderr, "fwrite(%d bytes) failed\n", md_get_size( md_info ) );
- goto exit;
- }
- }
-
- if( mode == MODE_DECRYPT )
- {
- /*
- * The encrypted file must be structured as follows:
- *
- * 00 .. 15 Initialization Vector
- * 16 .. 31 AES Encrypted Block #1
- * ..
- * N*16 .. (N+1)*16 - 1 AES Encrypted Block #N
- * (N+1)*16 .. (N+1)*16 + 32 HMAC-SHA-256(ciphertext)
- */
- if( filesize < 16 + md_get_size( md_info ) )
- {
- fprintf( stderr, "File too short to be encrypted.\n" );
- goto exit;
- }
-
- if( ( ( filesize - md_get_size( md_info ) ) %
- cipher_get_block_size( &cipher_ctx ) ) != 0 )
- {
- fprintf( stderr, "File content not a multiple of the block size (%d).\n",
- cipher_get_block_size( &cipher_ctx ));
- goto exit;
- }
-
- /*
- * Substract the IV + HMAC length.
- */
- filesize -= ( 16 + md_get_size( md_info ) );
-
- /*
- * Read the IV and original filesize modulo 16.
- */
- if( fread( buffer, 1, 16, fin ) != 16 )
- {
- fprintf( stderr, "fread(%d bytes) failed\n", 16 );
- goto exit;
- }
-
- memcpy( IV, buffer, 16 );
- lastn = IV[15] & 0x0F;
-
- /*
- * Hash the IV and the secret key together 8192 times
- * using the result to setup the AES context and HMAC.
- */
- memset( digest, 0, 32 );
- memcpy( digest, IV, 16 );
-
- for( i = 0; i < 8192; i++ )
- {
- md_starts( &md_ctx );
- md_update( &md_ctx, digest, 32 );
- md_update( &md_ctx, key, keylen );
- md_finish( &md_ctx, digest );
- }
-
- memset( key, 0, sizeof( key ) );
-
- cipher_setkey( &cipher_ctx, digest, cipher_info->key_length,
- POLARSSL_DECRYPT );
- cipher_reset( &cipher_ctx, IV);
-
- md_hmac_starts( &md_ctx, digest, 32 );
-
- /*
- * Decrypt and write the plaintext.
- */
- for( offset = 0; offset < filesize; offset += cipher_get_block_size( &cipher_ctx ) )
- {
- if( fread( buffer, 1, cipher_get_block_size( &cipher_ctx ), fin ) !=
- (size_t) cipher_get_block_size( &cipher_ctx ) )
- {
- fprintf( stderr, "fread(%d bytes) failed\n",
- cipher_get_block_size( &cipher_ctx ) );
- goto exit;
- }
-
- md_hmac_update( &md_ctx, buffer, cipher_get_block_size( &cipher_ctx ) );
- cipher_update( &cipher_ctx, buffer, cipher_get_block_size( &cipher_ctx ),
- output, &olen );
-
- if( fwrite( output, 1, olen, fout ) != olen )
- {
- fprintf( stderr, "fwrite(%ld bytes) failed\n", (long) olen );
- goto exit;
- }
- }
-
- /*
- * Write the final block of data
- */
- cipher_finish( &cipher_ctx, output, &olen );
-
- if( fwrite( output, 1, olen, fout ) != olen )
- {
- fprintf( stderr, "fwrite(%ld bytes) failed\n", (long) olen );
- goto exit;
- }
-
- /*
- * Verify the message authentication code.
- */
- md_hmac_finish( &md_ctx, digest );
-
- if( fread( buffer, 1, md_get_size( md_info ), fin ) != md_get_size( md_info ) )
- {
- fprintf( stderr, "fread(%d bytes) failed\n", md_get_size( md_info ) );
- goto exit;
- }
-
- if( memcmp( digest, buffer, md_get_size( md_info ) ) != 0 )
- {
- fprintf( stderr, "HMAC check failed: wrong key, "
- "or file corrupted.\n" );
- goto exit;
- }
- }
-
- ret = 0;
-
-exit:
- if( fin )
- fclose( fin );
- if( fout )
- fclose( fout );
-
- memset( buffer, 0, sizeof( buffer ) );
- memset( digest, 0, sizeof( digest ) );
-
- cipher_free_ctx( &cipher_ctx );
- md_free_ctx( &md_ctx );
-
- return( ret );
-}
-#endif /* POLARSSL_CIPHER_C && POLARSSL_MD_C */
diff --git a/Externals/polarssl/programs/hash/CMakeLists.txt b/Externals/polarssl/programs/hash/CMakeLists.txt
deleted file mode 100644
index 870b8a0b7b..0000000000
--- a/Externals/polarssl/programs/hash/CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-add_executable(hello hello.c)
-target_link_libraries(hello polarssl)
-
-add_executable(generic_sum generic_sum.c)
-target_link_libraries(generic_sum polarssl)
-
-add_executable(md5sum md5sum.c)
-target_link_libraries(md5sum polarssl)
-
-add_executable(sha1sum sha1sum.c)
-target_link_libraries(sha1sum polarssl)
-
-add_executable(sha2sum sha2sum.c)
-target_link_libraries(sha2sum polarssl)
-
-install(TARGETS hello md5sum sha1sum sha2sum generic_sum
- DESTINATION "bin"
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
diff --git a/Externals/polarssl/programs/hash/generic_sum.c b/Externals/polarssl/programs/hash/generic_sum.c
deleted file mode 100644
index 10692a98ff..0000000000
--- a/Externals/polarssl/programs/hash/generic_sum.c
+++ /dev/null
@@ -1,216 +0,0 @@
-/*
- * generic message digest layer demonstration program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/md.h"
-
-#if !defined(POLARSSL_MD_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_MD_C not defined.\n");
- return( 0 );
-}
-#else
-static int generic_wrapper( const md_info_t *md_info, char *filename, unsigned char *sum )
-{
- int ret = md_file( md_info, filename, sum );
-
- if( ret == 1 )
- fprintf( stderr, "failed to open: %s\n", filename );
-
- if( ret == 2 )
- fprintf( stderr, "failed to read: %s\n", filename );
-
- return( ret );
-}
-
-static int generic_print( const md_info_t *md_info, char *filename )
-{
- int i;
- unsigned char sum[POLARSSL_MD_MAX_SIZE];
-
- if( generic_wrapper( md_info, filename, sum ) != 0 )
- return( 1 );
-
- for( i = 0; i < md_info->size; i++ )
- printf( "%02x", sum[i] );
-
- printf( " %s\n", filename );
- return( 0 );
-}
-
-static int generic_check( const md_info_t *md_info, char *filename )
-{
- int i;
- size_t n;
- FILE *f;
- int nb_err1, nb_err2;
- int nb_tot1, nb_tot2;
- unsigned char sum[POLARSSL_MD_MAX_SIZE];
- char buf[POLARSSL_MD_MAX_SIZE * 2 + 1], line[1024];
-
- if( ( f = fopen( filename, "rb" ) ) == NULL )
- {
- printf( "failed to open: %s\n", filename );
- return( 1 );
- }
-
- nb_err1 = nb_err2 = 0;
- nb_tot1 = nb_tot2 = 0;
-
- memset( line, 0, sizeof( line ) );
-
- n = sizeof( line );
-
- while( fgets( line, (int) n - 1, f ) != NULL )
- {
- n = strlen( line );
-
- if( n < (size_t) 2 * md_info->size + 4 )
- {
- printf("No '%s' hash found on line.\n", md_info->name);
- continue;
- }
-
- if( line[2 * md_info->size] != ' ' || line[2 * md_info->size + 1] != ' ' )
- {
- printf("No '%s' hash found on line.\n", md_info->name);
- continue;
- }
-
- if( line[n - 1] == '\n' ) { n--; line[n] = '\0'; }
- if( line[n - 1] == '\r' ) { n--; line[n] = '\0'; }
-
- nb_tot1++;
-
- if( generic_wrapper( md_info, line + 2 + 2 * md_info->size, sum ) != 0 )
- {
- nb_err1++;
- continue;
- }
-
- nb_tot2++;
-
- for( i = 0; i < md_info->size; i++ )
- sprintf( buf + i * 2, "%02x", sum[i] );
-
- if( memcmp( line, buf, 2 * md_info->size ) != 0 )
- {
- nb_err2++;
- fprintf( stderr, "wrong checksum: %s\n", line + 66 );
- }
-
- n = sizeof( line );
- }
-
- if( nb_err1 != 0 )
- {
- printf( "WARNING: %d (out of %d) input files could "
- "not be read\n", nb_err1, nb_tot1 );
- }
-
- if( nb_err2 != 0 )
- {
- printf( "WARNING: %d (out of %d) computed checksums did "
- "not match\n", nb_err2, nb_tot2 );
- }
-
- return( nb_err1 != 0 || nb_err2 != 0 );
-}
-
-int main( int argc, char *argv[] )
-{
- int ret, i;
- const md_info_t *md_info;
- md_context_t md_ctx;
-
- memset( &md_ctx, 0, sizeof( md_context_t ));
-
- if( argc == 1 )
- {
- const int *list;
-
- printf( "print mode: generic_sum <md> <file> <file> ...\n" );
- printf( "check mode: generic_sum <md> -c <checksum file>\n" );
-
- printf( "\nAvailable message digests:\n" );
- list = md_list();
- while( *list )
- {
- md_info = md_info_from_type( *list );
- printf( " %s\n", md_info->name );
- list++;
- }
-
-#if defined(_WIN32)
- printf( "\n Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( 1 );
- }
-
- /*
- * Read the MD from the command line
- */
- md_info = md_info_from_string( argv[1] );
- if( md_info == NULL )
- {
- fprintf( stderr, "Message Digest '%s' not found\n", argv[1] );
- return( 1 );
- }
- if( md_init_ctx( &md_ctx, md_info) )
- {
- fprintf( stderr, "Failed to initialize context.\n" );
- return( 1 );
- }
-
- ret = 0;
- if( argc == 4 && strcmp( "-c", argv[2] ) == 0 )
- {
- ret |= generic_check( md_info, argv[3] );
- goto exit;
- }
-
- for( i = 2; i < argc; i++ )
- ret |= generic_print( md_info, argv[i] );
-
-exit:
- md_free_ctx( &md_ctx );
-
- return( ret );
-}
-#endif /* POLARSSL_MD_C */
diff --git a/Externals/polarssl/programs/hash/hello.c b/Externals/polarssl/programs/hash/hello.c
deleted file mode 100644
index d4c362fb10..0000000000
--- a/Externals/polarssl/programs/hash/hello.c
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Classic "Hello, world" demonstration program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/md5.h"
-
-#if !defined(POLARSSL_MD5_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_MD5_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int i;
- unsigned char digest[16];
- char str[] = "Hello, world!";
-
- ((void) argc);
- ((void) argv);
-
- printf( "\n MD5('%s') = ", str );
-
- md5( (unsigned char *) str, 13, digest );
-
- for( i = 0; i < 16; i++ )
- printf( "%02x", digest[i] );
-
- printf( "\n\n" );
-
-#if defined(_WIN32)
- printf( " Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( 0 );
-}
-#endif /* POLARSSL_MD5_C */
diff --git a/Externals/polarssl/programs/hash/md5sum.c b/Externals/polarssl/programs/hash/md5sum.c
deleted file mode 100644
index 1ca7e879fa..0000000000
--- a/Externals/polarssl/programs/hash/md5sum.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * md5sum demonstration program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/md5.h"
-
-#if !defined(POLARSSL_MD5_C) || !defined(POLARSSL_FS_IO)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_MD5_C and/or POLARSSL_FS_IO not defined.\n");
- return( 0 );
-}
-#else
-static int md5_wrapper( char *filename, unsigned char *sum )
-{
- int ret = md5_file( filename, sum );
-
- if( ret == 1 )
- fprintf( stderr, "failed to open: %s\n", filename );
-
- if( ret == 2 )
- fprintf( stderr, "failed to read: %s\n", filename );
-
- return( ret );
-}
-
-static int md5_print( char *filename )
-{
- int i;
- unsigned char sum[16];
-
- if( md5_wrapper( filename, sum ) != 0 )
- return( 1 );
-
- for( i = 0; i < 16; i++ )
- printf( "%02x", sum[i] );
-
- printf( " %s\n", filename );
- return( 0 );
-}
-
-static int md5_check( char *filename )
-{
- int i;
- size_t n;
- FILE *f;
- int nb_err1, nb_err2;
- int nb_tot1, nb_tot2;
- unsigned char sum[16];
- char buf[33], line[1024];
-
- if( ( f = fopen( filename, "rb" ) ) == NULL )
- {
- printf( "failed to open: %s\n", filename );
- return( 1 );
- }
-
- nb_err1 = nb_err2 = 0;
- nb_tot1 = nb_tot2 = 0;
-
- memset( line, 0, sizeof( line ) );
-
- n = sizeof( line );
-
- while( fgets( line, (int) n - 1, f ) != NULL )
- {
- n = strlen( line );
-
- if( n < 36 )
- continue;
-
- if( line[32] != ' ' || line[33] != ' ' )
- continue;
-
- if( line[n - 1] == '\n' ) { n--; line[n] = '\0'; }
- if( line[n - 1] == '\r' ) { n--; line[n] = '\0'; }
-
- nb_tot1++;
-
- if( md5_wrapper( line + 34, sum ) != 0 )
- {
- nb_err1++;
- continue;
- }
-
- nb_tot2++;
-
- for( i = 0; i < 16; i++ )
- sprintf( buf + i * 2, "%02x", sum[i] );
-
- if( memcmp( line, buf, 32 ) != 0 )
- {
- nb_err2++;
- fprintf( stderr, "wrong checksum: %s\n", line + 34 );
- }
-
- n = sizeof( line );
- }
-
- if( nb_err1 != 0 )
- {
- printf( "WARNING: %d (out of %d) input files could "
- "not be read\n", nb_err1, nb_tot1 );
- }
-
- if( nb_err2 != 0 )
- {
- printf( "WARNING: %d (out of %d) computed checksums did "
- "not match\n", nb_err2, nb_tot2 );
- }
-
- return( nb_err1 != 0 || nb_err2 != 0 );
-}
-
-int main( int argc, char *argv[] )
-{
- int ret, i;
-
- if( argc == 1 )
- {
- printf( "print mode: md5sum <file> <file> ...\n" );
- printf( "check mode: md5sum -c <checksum file>\n" );
-
-#if defined(_WIN32)
- printf( "\n Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( 1 );
- }
-
- if( argc == 3 && strcmp( "-c", argv[1] ) == 0 )
- return( md5_check( argv[2] ) );
-
- ret = 0;
- for( i = 1; i < argc; i++ )
- ret |= md5_print( argv[i] );
-
- return( ret );
-}
-#endif /* POLARSSL_MD5_C && POLARSSL_FS_IO */
diff --git a/Externals/polarssl/programs/hash/sha1sum.c b/Externals/polarssl/programs/hash/sha1sum.c
deleted file mode 100644
index 92f8406625..0000000000
--- a/Externals/polarssl/programs/hash/sha1sum.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * sha1sum demonstration program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/sha1.h"
-
-#if !defined(POLARSSL_SHA1_C) || !defined(POLARSSL_FS_IO)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_SHA1_C and/or POLARSSL_FS_IO not defined.\n");
- return( 0 );
-}
-#else
-static int sha1_wrapper( char *filename, unsigned char *sum )
-{
- int ret = sha1_file( filename, sum );
-
- if( ret == 1 )
- fprintf( stderr, "failed to open: %s\n", filename );
-
- if( ret == 2 )
- fprintf( stderr, "failed to read: %s\n", filename );
-
- return( ret );
-}
-
-static int sha1_print( char *filename )
-{
- int i;
- unsigned char sum[20];
-
- if( sha1_wrapper( filename, sum ) != 0 )
- return( 1 );
-
- for( i = 0; i < 20; i++ )
- printf( "%02x", sum[i] );
-
- printf( " %s\n", filename );
- return( 0 );
-}
-
-static int sha1_check( char *filename )
-{
- int i;
- size_t n;
- FILE *f;
- int nb_err1, nb_err2;
- int nb_tot1, nb_tot2;
- unsigned char sum[20];
- char buf[41], line[1024];
-
- if( ( f = fopen( filename, "rb" ) ) == NULL )
- {
- printf( "failed to open: %s\n", filename );
- return( 1 );
- }
-
- nb_err1 = nb_err2 = 0;
- nb_tot1 = nb_tot2 = 0;
-
- memset( line, 0, sizeof( line ) );
-
- n = sizeof( line );
-
- while( fgets( line, (int) n - 1, f ) != NULL )
- {
- n = strlen( line );
-
- if( n < 44 )
- continue;
-
- if( line[40] != ' ' || line[41] != ' ' )
- continue;
-
- if( line[n - 1] == '\n' ) { n--; line[n] = '\0'; }
- if( line[n - 1] == '\r' ) { n--; line[n] = '\0'; }
-
- nb_tot1++;
-
- if( sha1_wrapper( line + 42, sum ) != 0 )
- {
- nb_err1++;
- continue;
- }
-
- nb_tot2++;
-
- for( i = 0; i < 20; i++ )
- sprintf( buf + i * 2, "%02x", sum[i] );
-
- if( memcmp( line, buf, 40 ) != 0 )
- {
- nb_err2++;
- fprintf( stderr, "wrong checksum: %s\n", line + 42 );
- }
-
- n = sizeof( line );
- }
-
- if( nb_err1 != 0 )
- {
- printf( "WARNING: %d (out of %d) input files could "
- "not be read\n", nb_err1, nb_tot1 );
- }
-
- if( nb_err2 != 0 )
- {
- printf( "WARNING: %d (out of %d) computed checksums did "
- "not match\n", nb_err2, nb_tot2 );
- }
-
- return( nb_err1 != 0 || nb_err2 != 0 );
-}
-
-int main( int argc, char *argv[] )
-{
- int ret, i;
-
- if( argc == 1 )
- {
- printf( "print mode: sha1sum <file> <file> ...\n" );
- printf( "check mode: sha1sum -c <checksum file>\n" );
-
-#if defined(_WIN32)
- printf( "\n Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( 1 );
- }
-
- if( argc == 3 && strcmp( "-c", argv[1] ) == 0 )
- return( sha1_check( argv[2] ) );
-
- ret = 0;
- for( i = 1; i < argc; i++ )
- ret |= sha1_print( argv[i] );
-
- return( ret );
-}
-#endif /* POLARSSL_SHA1_C && POLARSSL_FS_IO */
diff --git a/Externals/polarssl/programs/hash/sha2sum.c b/Externals/polarssl/programs/hash/sha2sum.c
deleted file mode 100644
index 83124cf3c2..0000000000
--- a/Externals/polarssl/programs/hash/sha2sum.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * sha2sum demonstration program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/sha2.h"
-
-#if !defined(POLARSSL_SHA2_C) || !defined(POLARSSL_FS_IO)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_SHA2_C and/or POLARSSL_FS_IO not defined.\n");
- return( 0 );
-}
-#else
-static int sha2_wrapper( char *filename, unsigned char *sum )
-{
- int ret = sha2_file( filename, sum, 0 );
-
- if( ret == 1 )
- fprintf( stderr, "failed to open: %s\n", filename );
-
- if( ret == 2 )
- fprintf( stderr, "failed to read: %s\n", filename );
-
- return( ret );
-}
-
-static int sha2_print( char *filename )
-{
- int i;
- unsigned char sum[32];
-
- if( sha2_wrapper( filename, sum ) != 0 )
- return( 1 );
-
- for( i = 0; i < 32; i++ )
- printf( "%02x", sum[i] );
-
- printf( " %s\n", filename );
- return( 0 );
-}
-
-static int sha2_check( char *filename )
-{
- int i;
- size_t n;
- FILE *f;
- int nb_err1, nb_err2;
- int nb_tot1, nb_tot2;
- unsigned char sum[32];
- char buf[65], line[1024];
-
- if( ( f = fopen( filename, "rb" ) ) == NULL )
- {
- printf( "failed to open: %s\n", filename );
- return( 1 );
- }
-
- nb_err1 = nb_err2 = 0;
- nb_tot1 = nb_tot2 = 0;
-
- memset( line, 0, sizeof( line ) );
-
- n = sizeof( line );
-
- while( fgets( line, (int) n - 1, f ) != NULL )
- {
- n = strlen( line );
-
- if( n < 68 )
- continue;
-
- if( line[64] != ' ' || line[65] != ' ' )
- continue;
-
- if( line[n - 1] == '\n' ) { n--; line[n] = '\0'; }
- if( line[n - 1] == '\r' ) { n--; line[n] = '\0'; }
-
- nb_tot1++;
-
- if( sha2_wrapper( line + 66, sum ) != 0 )
- {
- nb_err1++;
- continue;
- }
-
- nb_tot2++;
-
- for( i = 0; i < 32; i++ )
- sprintf( buf + i * 2, "%02x", sum[i] );
-
- if( memcmp( line, buf, 64 ) != 0 )
- {
- nb_err2++;
- fprintf( stderr, "wrong checksum: %s\n", line + 66 );
- }
-
- n = sizeof( line );
- }
-
- if( nb_err1 != 0 )
- {
- printf( "WARNING: %d (out of %d) input files could "
- "not be read\n", nb_err1, nb_tot1 );
- }
-
- if( nb_err2 != 0 )
- {
- printf( "WARNING: %d (out of %d) computed checksums did "
- "not match\n", nb_err2, nb_tot2 );
- }
-
- return( nb_err1 != 0 || nb_err2 != 0 );
-}
-
-int main( int argc, char *argv[] )
-{
- int ret, i;
-
- if( argc == 1 )
- {
- printf( "print mode: sha2sum <file> <file> ...\n" );
- printf( "check mode: sha2sum -c <checksum file>\n" );
-
-#if defined(_WIN32)
- printf( "\n Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( 1 );
- }
-
- if( argc == 3 && strcmp( "-c", argv[1] ) == 0 )
- return( sha2_check( argv[2] ) );
-
- ret = 0;
- for( i = 1; i < argc; i++ )
- ret |= sha2_print( argv[i] );
-
- return( ret );
-}
-#endif /* POLARSSL_SHA2_C && POLARSSL_FS_IO */
diff --git a/Externals/polarssl/programs/pkey/CMakeLists.txt b/Externals/polarssl/programs/pkey/CMakeLists.txt
deleted file mode 100644
index c8551a6233..0000000000
--- a/Externals/polarssl/programs/pkey/CMakeLists.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-add_executable(dh_client dh_client.c)
-target_link_libraries(dh_client polarssl)
-
-add_executable(dh_genprime dh_genprime.c)
-target_link_libraries(dh_genprime polarssl)
-
-add_executable(dh_server dh_server.c)
-target_link_libraries(dh_server polarssl)
-
-add_executable(key_app key_app.c)
-target_link_libraries(key_app polarssl)
-
-add_executable(key_app_writer key_app_writer.c)
-target_link_libraries(key_app_writer polarssl)
-
-add_executable(mpi_demo mpi_demo.c)
-target_link_libraries(mpi_demo polarssl)
-
-add_executable(rsa_genkey rsa_genkey.c)
-target_link_libraries(rsa_genkey polarssl)
-
-add_executable(rsa_sign rsa_sign.c)
-target_link_libraries(rsa_sign polarssl)
-
-add_executable(rsa_verify rsa_verify.c)
-target_link_libraries(rsa_verify polarssl)
-
-add_executable(rsa_sign_pss rsa_sign_pss.c)
-target_link_libraries(rsa_sign_pss polarssl)
-
-add_executable(rsa_verify_pss rsa_verify_pss.c)
-target_link_libraries(rsa_verify_pss polarssl)
-
-add_executable(rsa_encrypt rsa_encrypt.c)
-target_link_libraries(rsa_encrypt polarssl)
-
-add_executable(rsa_decrypt rsa_decrypt.c)
-target_link_libraries(rsa_decrypt polarssl)
-
-install(TARGETS dh_client dh_genprime dh_server key_app mpi_demo rsa_genkey rsa_sign rsa_verify rsa_encrypt rsa_decrypt
- DESTINATION "bin"
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
diff --git a/Externals/polarssl/programs/pkey/dh_client.c b/Externals/polarssl/programs/pkey/dh_client.c
deleted file mode 100644
index b3a2476744..0000000000
--- a/Externals/polarssl/programs/pkey/dh_client.c
+++ /dev/null
@@ -1,291 +0,0 @@
-/*
- * Diffie-Hellman-Merkle key exchange (client side)
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/net.h"
-#include "polarssl/aes.h"
-#include "polarssl/dhm.h"
-#include "polarssl/rsa.h"
-#include "polarssl/sha1.h"
-#include "polarssl/entropy.h"
-#include "polarssl/ctr_drbg.h"
-
-#define SERVER_NAME "localhost"
-#define SERVER_PORT 11999
-
-#if !defined(POLARSSL_AES_C) || !defined(POLARSSL_DHM_C) || \
- !defined(POLARSSL_ENTROPY_C) || !defined(POLARSSL_NET_C) || \
- !defined(POLARSSL_RSA_C) || !defined(POLARSSL_SHA1_C) || \
- !defined(POLARSSL_FS_IO) || !defined(POLARSSL_CTR_DRBG_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_AES_C and/or POLARSSL_DHM_C and/or POLARSSL_ENTROPY_C "
- "and/or POLARSSL_NET_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_SHA1_C and/or POLARSSL_FS_IO and/or "
- "POLARSSL_CTR_DRBG_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- FILE *f;
-
- int ret;
- size_t n, buflen;
- int server_fd = -1;
-
- unsigned char *p, *end;
- unsigned char buf[2048];
- unsigned char hash[20];
- const char *pers = "dh_client";
-
- entropy_context entropy;
- ctr_drbg_context ctr_drbg;
- rsa_context rsa;
- dhm_context dhm;
- aes_context aes;
-
- ((void) argc);
- ((void) argv);
-
- memset( &rsa, 0, sizeof( rsa ) );
- memset( &dhm, 0, sizeof( dhm ) );
-
- /*
- * 1. Setup the RNG
- */
- printf( "\n . Seeding the random number generator" );
- fflush( stdout );
-
- entropy_init( &entropy );
- if( ( ret = ctr_drbg_init( &ctr_drbg, entropy_func, &entropy,
- (const unsigned char *) pers,
- strlen( pers ) ) ) != 0 )
- {
- printf( " failed\n ! ctr_drbg_init returned %d\n", ret );
- goto exit;
- }
-
- /*
- * 2. Read the server's public RSA key
- */
- printf( "\n . Reading public key from rsa_pub.txt" );
- fflush( stdout );
-
- if( ( f = fopen( "rsa_pub.txt", "rb" ) ) == NULL )
- {
- ret = 1;
- printf( " failed\n ! Could not open rsa_pub.txt\n" \
- " ! Please run rsa_genkey first\n\n" );
- goto exit;
- }
-
- rsa_init( &rsa, RSA_PKCS_V15, 0 );
-
- if( ( ret = mpi_read_file( &rsa.N, 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.E, 16, f ) ) != 0 )
- {
- printf( " failed\n ! mpi_read_file returned %d\n\n", ret );
- goto exit;
- }
-
- rsa.len = ( mpi_msb( &rsa.N ) + 7 ) >> 3;
-
- fclose( f );
-
- /*
- * 3. Initiate the connection
- */
- printf( "\n . Connecting to tcp/%s/%d", SERVER_NAME,
- SERVER_PORT );
- fflush( stdout );
-
- if( ( ret = net_connect( &server_fd, SERVER_NAME,
- SERVER_PORT ) ) != 0 )
- {
- printf( " failed\n ! net_connect returned %d\n\n", ret );
- goto exit;
- }
-
- /*
- * 4a. First get the buffer length
- */
- printf( "\n . Receiving the server's DH parameters" );
- fflush( stdout );
-
- memset( buf, 0, sizeof( buf ) );
-
- if( ( ret = net_recv( &server_fd, buf, 2 ) ) != 2 )
- {
- printf( " failed\n ! net_recv returned %d\n\n", ret );
- goto exit;
- }
-
- n = buflen = ( buf[0] << 8 ) | buf[1];
- if( buflen < 1 || buflen > sizeof( buf ) )
- {
- printf( " failed\n ! Got an invalid buffer length\n\n" );
- goto exit;
- }
-
- /*
- * 4b. Get the DHM parameters: P, G and Ys = G^Xs mod P
- */
- memset( buf, 0, sizeof( buf ) );
-
- if( ( ret = net_recv( &server_fd, buf, n ) ) != (int) n )
- {
- printf( " failed\n ! net_recv returned %d\n\n", ret );
- goto exit;
- }
-
- p = buf, end = buf + buflen;
-
- if( ( ret = dhm_read_params( &dhm, &p, end ) ) != 0 )
- {
- printf( " failed\n ! dhm_read_params returned %d\n\n", ret );
- goto exit;
- }
-
- if( dhm.len < 64 || dhm.len > 512 )
- {
- ret = 1;
- printf( " failed\n ! Invalid DHM modulus size\n\n" );
- goto exit;
- }
-
- /*
- * 5. Check that the server's RSA signature matches
- * the SHA-1 hash of (P,G,Ys)
- */
- printf( "\n . Verifying the server's RSA signature" );
- fflush( stdout );
-
- p += 2;
-
- if( ( n = (size_t) ( end - p ) ) != rsa.len )
- {
- ret = 1;
- printf( " failed\n ! Invalid RSA signature size\n\n" );
- goto exit;
- }
-
- sha1( buf, (int)( p - 2 - buf ), hash );
-
- if( ( ret = rsa_pkcs1_verify( &rsa, RSA_PUBLIC, SIG_RSA_SHA1,
- 0, hash, p ) ) != 0 )
- {
- printf( " failed\n ! rsa_pkcs1_verify returned %d\n\n", ret );
- goto exit;
- }
-
- /*
- * 6. Send our public value: Yc = G ^ Xc mod P
- */
- printf( "\n . Sending own public value to server" );
- fflush( stdout );
-
- n = dhm.len;
- if( ( ret = dhm_make_public( &dhm, dhm.len, buf, n,
- ctr_drbg_random, &ctr_drbg ) ) != 0 )
- {
- printf( " failed\n ! dhm_make_public returned %d\n\n", ret );
- goto exit;
- }
-
- if( ( ret = net_send( &server_fd, buf, n ) ) != (int) n )
- {
- printf( " failed\n ! net_send returned %d\n\n", ret );
- goto exit;
- }
-
- /*
- * 7. Derive the shared secret: K = Ys ^ Xc mod P
- */
- printf( "\n . Shared secret: " );
- fflush( stdout );
-
- n = dhm.len;
- if( ( ret = dhm_calc_secret( &dhm, buf, &n ) ) != 0 )
- {
- printf( " failed\n ! dhm_calc_secret returned %d\n\n", ret );
- goto exit;
- }
-
- for( n = 0; n < 16; n++ )
- printf( "%02x", buf[n] );
-
- /*
- * 8. Setup the AES-256 decryption key
- *
- * This is an overly simplified example; best practice is
- * to hash the shared secret with a random value to derive
- * the keying material for the encryption/decryption keys,
- * IVs and MACs.
- */
- printf( "...\n . Receiving and decrypting the ciphertext" );
- fflush( stdout );
-
- aes_setkey_dec( &aes, buf, 256 );
-
- memset( buf, 0, sizeof( buf ) );
-
- if( ( ret = net_recv( &server_fd, buf, 16 ) ) != 16 )
- {
- printf( " failed\n ! net_recv returned %d\n\n", ret );
- goto exit;
- }
-
- aes_crypt_ecb( &aes, AES_DECRYPT, buf, buf );
- buf[16] = '\0';
- printf( "\n . Plaintext is \"%s\"\n\n", (char *) buf );
-
-exit:
-
- net_close( server_fd );
- rsa_free( &rsa );
- dhm_free( &dhm );
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_AES_C && POLARSSL_DHM_C && POLARSSL_ENTROPY_C &&
- POLARSSL_NET_C && POLARSSL_RSA_C && POLARSSL_SHA1_C &&
- POLARSSL_FS_IO && POLARSSL_CTR_DRBG_C */
diff --git a/Externals/polarssl/programs/pkey/dh_genprime.c b/Externals/polarssl/programs/pkey/dh_genprime.c
deleted file mode 100644
index 5732f507ed..0000000000
--- a/Externals/polarssl/programs/pkey/dh_genprime.c
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Diffie-Hellman-Merkle key exchange (prime generation)
- *
- * Copyright (C) 2006-2012, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/bignum.h"
-#include "polarssl/entropy.h"
-#include "polarssl/ctr_drbg.h"
-
-/*
- * Note: G = 4 is always a quadratic residue mod P,
- * so it is a generator of order Q (with P = 2*Q+1).
- */
-#define DH_P_SIZE 1024
-#define GENERATOR "4"
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_ENTROPY_C) || \
- !defined(POLARSSL_FS_IO) || !defined(POLARSSL_CTR_DRBG_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_ENTROPY_C and/or "
- "POLARSSL_FS_IO and/or POLARSSL_CTR_DRBG_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int ret = 1;
-
-#if defined(POLARSSL_GENPRIME)
- mpi G, P, Q;
- entropy_context entropy;
- ctr_drbg_context ctr_drbg;
- const char *pers = "dh_genprime";
- FILE *fout;
-
- ((void) argc);
- ((void) argv);
-
- mpi_init( &G ); mpi_init( &P ); mpi_init( &Q );
- mpi_read_string( &G, 10, GENERATOR );
-
- printf( "\nWARNING: You should not generate and use your own DHM primes\n" );
- printf( " unless you are very certain of what you are doing!\n" );
- printf( " Failing to follow this instruction may result in\n" );
- printf( " weak security for your connections! Use the\n" );
- printf( " predefined DHM parameters from dhm.h instead!\n\n" );
- printf( "============================================================\n\n" );
-
- printf( "\n . Seeding the random number generator..." );
- fflush( stdout );
-
- entropy_init( &entropy );
- if( ( ret = ctr_drbg_init( &ctr_drbg, entropy_func, &entropy,
- (const unsigned char *) pers,
- strlen( pers ) ) ) != 0 )
- {
- printf( " failed\n ! ctr_drbg_init returned %d\n", ret );
- goto exit;
- }
-
- printf( " ok\n . Generating the modulus, please wait..." );
- fflush( stdout );
-
- /*
- * This can take a long time...
- */
- if( ( ret = mpi_gen_prime( &P, DH_P_SIZE, 1,
- ctr_drbg_random, &ctr_drbg ) ) != 0 )
- {
- printf( " failed\n ! mpi_gen_prime returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n . Verifying that Q = (P-1)/2 is prime..." );
- fflush( stdout );
-
- if( ( ret = mpi_sub_int( &Q, &P, 1 ) ) != 0 )
- {
- printf( " failed\n ! mpi_sub_int returned %d\n\n", ret );
- goto exit;
- }
-
- if( ( ret = mpi_div_int( &Q, NULL, &Q, 2 ) ) != 0 )
- {
- printf( " failed\n ! mpi_div_int returned %d\n\n", ret );
- goto exit;
- }
-
- if( ( ret = mpi_is_prime( &Q, ctr_drbg_random, &ctr_drbg ) ) != 0 )
- {
- printf( " failed\n ! mpi_is_prime returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n . Exporting the value in dh_prime.txt..." );
- fflush( stdout );
-
- if( ( fout = fopen( "dh_prime.txt", "wb+" ) ) == NULL )
- {
- ret = 1;
- printf( " failed\n ! Could not create dh_prime.txt\n\n" );
- goto exit;
- }
-
- if( ( ret = mpi_write_file( "P = ", &P, 16, fout ) != 0 ) ||
- ( ret = mpi_write_file( "G = ", &G, 16, fout ) != 0 ) )
- {
- printf( " failed\n ! mpi_write_file returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n\n" );
- fclose( fout );
-
-exit:
-
- mpi_free( &G ); mpi_free( &P ); mpi_free( &Q );
-#else
- printf( "\n ! Prime-number generation is not available.\n\n" );
-#endif
-
-#if defined(_WIN32)
- printf( " Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_ENTROPY_C && POLARSSL_FS_IO &&
- POLARSSL_CTR_DRBG_C */
diff --git a/Externals/polarssl/programs/pkey/dh_prime.txt b/Externals/polarssl/programs/pkey/dh_prime.txt
deleted file mode 100644
index de0c281483..0000000000
--- a/Externals/polarssl/programs/pkey/dh_prime.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-P = FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD129024E088A67CC74020BBEA63B139B22514A08798E3404DDEF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7EDEE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3DC2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F83655D23DCA3AD961C62F356208552BB9ED529077096966D670C354E4ABC9804F1746C08CA18217C32905E462E36CE3BE39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9DE2BCBF6955817183995497CEA956AE515D2261898FA051015728E5A8AACAA68FFFFFFFFFFFFFFFF
-G = 02
diff --git a/Externals/polarssl/programs/pkey/dh_server.c b/Externals/polarssl/programs/pkey/dh_server.c
deleted file mode 100644
index 9ea2a783a3..0000000000
--- a/Externals/polarssl/programs/pkey/dh_server.c
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * Diffie-Hellman-Merkle key exchange (server side)
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/net.h"
-#include "polarssl/aes.h"
-#include "polarssl/dhm.h"
-#include "polarssl/rsa.h"
-#include "polarssl/sha1.h"
-#include "polarssl/entropy.h"
-#include "polarssl/ctr_drbg.h"
-
-#define SERVER_PORT 11999
-#define PLAINTEXT "==Hello there!=="
-
-#if !defined(POLARSSL_AES_C) || !defined(POLARSSL_DHM_C) || \
- !defined(POLARSSL_ENTROPY_C) || !defined(POLARSSL_NET_C) || \
- !defined(POLARSSL_RSA_C) || !defined(POLARSSL_SHA1_C) || \
- !defined(POLARSSL_FS_IO) || !defined(POLARSSL_CTR_DRBG_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_AES_C and/or POLARSSL_DHM_C and/or POLARSSL_ENTROPY_C "
- "and/or POLARSSL_NET_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_SHA1_C and/or POLARSSL_FS_IO and/or "
- "POLARSSL_CTR_DBRG_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- FILE *f;
-
- int ret;
- size_t n, buflen;
- int listen_fd = -1;
- int client_fd = -1;
-
- unsigned char buf[2048];
- unsigned char hash[20];
- unsigned char buf2[2];
- const char *pers = "dh_server";
-
- entropy_context entropy;
- ctr_drbg_context ctr_drbg;
- rsa_context rsa;
- dhm_context dhm;
- aes_context aes;
-
- ((void) argc);
- ((void) argv);
-
- memset( &rsa, 0, sizeof( rsa ) );
- memset( &dhm, 0, sizeof( dhm ) );
-
- /*
- * 1. Setup the RNG
- */
- printf( "\n . Seeding the random number generator" );
- fflush( stdout );
-
- entropy_init( &entropy );
- if( ( ret = ctr_drbg_init( &ctr_drbg, entropy_func, &entropy,
- (const unsigned char *) pers,
- strlen( pers ) ) ) != 0 )
- {
- printf( " failed\n ! ctr_drbg_init returned %d\n", ret );
- goto exit;
- }
-
- /*
- * 2a. Read the server's private RSA key
- */
- printf( "\n . Reading private key from rsa_priv.txt" );
- fflush( stdout );
-
- if( ( f = fopen( "rsa_priv.txt", "rb" ) ) == NULL )
- {
- ret = 1;
- printf( " failed\n ! Could not open rsa_priv.txt\n" \
- " ! Please run rsa_genkey first\n\n" );
- goto exit;
- }
-
- rsa_init( &rsa, RSA_PKCS_V15, 0 );
-
- if( ( ret = mpi_read_file( &rsa.N , 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.E , 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.D , 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.P , 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.Q , 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.DP, 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.DQ, 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.QP, 16, f ) ) != 0 )
- {
- printf( " failed\n ! mpi_read_file returned %d\n\n", ret );
- goto exit;
- }
-
- rsa.len = ( mpi_msb( &rsa.N ) + 7 ) >> 3;
-
- fclose( f );
-
- /*
- * 2b. Get the DHM modulus and generator
- */
- printf( "\n . Reading DH parameters from dh_prime.txt" );
- fflush( stdout );
-
- if( ( f = fopen( "dh_prime.txt", "rb" ) ) == NULL )
- {
- ret = 1;
- printf( " failed\n ! Could not open dh_prime.txt\n" \
- " ! Please run dh_genprime first\n\n" );
- goto exit;
- }
-
- if( mpi_read_file( &dhm.P, 16, f ) != 0 ||
- mpi_read_file( &dhm.G, 16, f ) != 0 )
- {
- printf( " failed\n ! Invalid DH parameter file\n\n" );
- goto exit;
- }
-
- fclose( f );
-
- /*
- * 3. Wait for a client to connect
- */
- printf( "\n . Waiting for a remote connection" );
- fflush( stdout );
-
- if( ( ret = net_bind( &listen_fd, NULL, SERVER_PORT ) ) != 0 )
- {
- printf( " failed\n ! net_bind returned %d\n\n", ret );
- goto exit;
- }
-
- if( ( ret = net_accept( listen_fd, &client_fd, NULL ) ) != 0 )
- {
- printf( " failed\n ! net_accept returned %d\n\n", ret );
- goto exit;
- }
-
- /*
- * 4. Setup the DH parameters (P,G,Ys)
- */
- printf( "\n . Sending the server's DH parameters" );
- fflush( stdout );
-
- memset( buf, 0, sizeof( buf ) );
-
- if( ( ret = dhm_make_params( &dhm, mpi_size( &dhm.P ), buf, &n,
- ctr_drbg_random, &ctr_drbg ) ) != 0 )
- {
- printf( " failed\n ! dhm_make_params returned %d\n\n", ret );
- goto exit;
- }
-
- /*
- * 5. Sign the parameters and send them
- */
- sha1( buf, n, hash );
-
- buf[n ] = (unsigned char)( rsa.len >> 8 );
- buf[n + 1] = (unsigned char)( rsa.len );
-
- if( ( ret = rsa_pkcs1_sign( &rsa, NULL, NULL, RSA_PRIVATE, SIG_RSA_SHA1,
- 0, hash, buf + n + 2 ) ) != 0 )
- {
- printf( " failed\n ! rsa_pkcs1_sign returned %d\n\n", ret );
- goto exit;
- }
-
- buflen = n + 2 + rsa.len;
- buf2[0] = (unsigned char)( buflen >> 8 );
- buf2[1] = (unsigned char)( buflen );
-
- if( ( ret = net_send( &client_fd, buf2, 2 ) ) != 2 ||
- ( ret = net_send( &client_fd, buf, buflen ) ) != (int) buflen )
- {
- printf( " failed\n ! net_send returned %d\n\n", ret );
- goto exit;
- }
-
- /*
- * 6. Get the client's public value: Yc = G ^ Xc mod P
- */
- printf( "\n . Receiving the client's public value" );
- fflush( stdout );
-
- memset( buf, 0, sizeof( buf ) );
- n = dhm.len;
-
- if( ( ret = net_recv( &client_fd, buf, n ) ) != (int) n )
- {
- printf( " failed\n ! net_recv returned %d\n\n", ret );
- goto exit;
- }
-
- if( ( ret = dhm_read_public( &dhm, buf, dhm.len ) ) != 0 )
- {
- printf( " failed\n ! dhm_read_public returned %d\n\n", ret );
- goto exit;
- }
-
- /*
- * 7. Derive the shared secret: K = Ys ^ Xc mod P
- */
- printf( "\n . Shared secret: " );
- fflush( stdout );
-
- if( ( ret = dhm_calc_secret( &dhm, buf, &n ) ) != 0 )
- {
- printf( " failed\n ! dhm_calc_secret returned %d\n\n", ret );
- goto exit;
- }
-
- for( n = 0; n < 16; n++ )
- printf( "%02x", buf[n] );
-
- /*
- * 8. Setup the AES-256 encryption key
- *
- * This is an overly simplified example; best practice is
- * to hash the shared secret with a random value to derive
- * the keying material for the encryption/decryption keys
- * and MACs.
- */
- printf( "...\n . Encrypting and sending the ciphertext" );
- fflush( stdout );
-
- aes_setkey_enc( &aes, buf, 256 );
- memcpy( buf, PLAINTEXT, 16 );
- aes_crypt_ecb( &aes, AES_ENCRYPT, buf, buf );
-
- if( ( ret = net_send( &client_fd, buf, 16 ) ) != 16 )
- {
- printf( " failed\n ! net_send returned %d\n\n", ret );
- goto exit;
- }
-
- printf( "\n\n" );
-
-exit:
-
- net_close( client_fd );
- rsa_free( &rsa );
- dhm_free( &dhm );
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_AES_C && POLARSSL_DHM_C && POLARSSL_ENTROPY_C &&
- POLARSSL_NET_C && POLARSSL_RSA_C && POLARSSL_SHA1_C &&
- POLARSSL_FS_IO && POLARSSL_CTR_DRBG_C */
diff --git a/Externals/polarssl/programs/pkey/key_app.c b/Externals/polarssl/programs/pkey/key_app.c
deleted file mode 100644
index fc0269e28a..0000000000
--- a/Externals/polarssl/programs/pkey/key_app.c
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Key reading application
- *
- * Copyright (C) 2006-2012, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/error.h"
-#include "polarssl/rsa.h"
-#include "polarssl/x509.h"
-
-#define MODE_NONE 0
-#define MODE_PRIVATE 1
-#define MODE_PUBLIC 2
-
-#define DFL_MODE MODE_NONE
-#define DFL_FILENAME "keyfile.key"
-#define DFL_PASSWORD ""
-#define DFL_PASSWORD_FILE ""
-#define DFL_DEBUG_LEVEL 0
-
-/*
- * global options
- */
-struct options
-{
- int mode; /* the mode to run the application in */
- const char *filename; /* filename of the key file */
- const char *password; /* password for the private key */
- const char *password_file; /* password_file for the private key */
- int debug_level; /* level of debugging */
-} opt;
-
-void my_debug( void *ctx, int level, const char *str )
-{
- if( level < opt.debug_level )
- {
- fprintf( (FILE *) ctx, "%s", str );
- fflush( (FILE *) ctx );
- }
-}
-
-#define USAGE \
- "\n usage: key_app param=<>...\n" \
- "\n acceptable parameters:\n" \
- " mode=private|public default: none\n" \
- " filename=%%s default: keyfile.key\n" \
- " password=%%s default: \"\"\n" \
- " password_file=%%s default: \"\"\n" \
- " debug_level=%%d default: 0 (disabled)\n" \
- "\n"
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_RSA_C) || \
- !defined(POLARSSL_X509_PARSE_C) || !defined(POLARSSL_FS_IO)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_X509_PARSE_C and/or POLARSSL_FS_IO not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int ret = 0;
- rsa_context rsa;
- char buf[1024];
- int i;
- char *p, *q;
-
- /*
- * Set to sane values
- */
- memset( &rsa, 0, sizeof( rsa_context ) );
- memset( buf, 0, 1024 );
-
- if( argc == 0 )
- {
- usage:
- printf( USAGE );
- goto exit;
- }
-
- opt.mode = DFL_MODE;
- opt.filename = DFL_FILENAME;
- opt.password = DFL_PASSWORD;
- opt.password_file = DFL_PASSWORD_FILE;
- opt.debug_level = DFL_DEBUG_LEVEL;
-
- for( i = 1; i < argc; i++ )
- {
- p = argv[i];
- if( ( q = strchr( p, '=' ) ) == NULL )
- goto usage;
- *q++ = '\0';
-
- if( strcmp( p, "mode" ) == 0 )
- {
- if( strcmp( q, "private" ) == 0 )
- opt.mode = MODE_PRIVATE;
- else if( strcmp( q, "public" ) == 0 )
- opt.mode = MODE_PUBLIC;
- else
- goto usage;
- }
- else if( strcmp( p, "filename" ) == 0 )
- opt.filename = q;
- else if( strcmp( p, "password" ) == 0 )
- opt.password = q;
- else if( strcmp( p, "password_file" ) == 0 )
- opt.password_file = q;
- else if( strcmp( p, "debug_level" ) == 0 )
- {
- opt.debug_level = atoi( q );
- if( opt.debug_level < 0 || opt.debug_level > 65535 )
- goto usage;
- }
- else
- goto usage;
- }
-
- if( opt.mode == MODE_PRIVATE )
- {
- if( strlen( opt.password ) && strlen( opt.password_file ) )
- {
- printf( "Error: cannot have both password and password_file\n" );
- goto usage;
- }
-
- if( strlen( opt.password_file ) )
- {
- FILE *f;
-
- printf( "\n . Loading the password file ..." );
- if( ( f = fopen( opt.password_file, "rb" ) ) == NULL )
- {
- printf( " failed\n ! fopen returned NULL\n" );
- goto exit;
- }
- fgets( buf, 1024, f );
- fclose( f );
-
- i = strlen( buf );
- if( buf[i - 1] == '\n' ) buf[i - 1] = '\0';
- if( buf[i - 2] == '\r' ) buf[i - 2] = '\0';
- opt.password = buf;
- }
-
- /*
- * 1.1. Load the key
- */
- printf( "\n . Loading the private key ..." );
- fflush( stdout );
-
- ret = x509parse_keyfile( &rsa, opt.filename, opt.password );
-
- if( ret != 0 )
- {
-#ifdef POLARSSL_ERROR_C
- error_strerror( ret, buf, 1024 );
-#endif
- printf( " failed\n ! x509parse_key returned %d - %s\n\n", ret, buf );
- rsa_free( &rsa );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 1.2 Print the key
- */
- printf( " . Key information ...\n" );
- mpi_write_file( "N: ", &rsa.N, 16, NULL );
- mpi_write_file( "E: ", &rsa.E, 16, NULL );
- mpi_write_file( "D: ", &rsa.D, 16, NULL );
- mpi_write_file( "P: ", &rsa.P, 16, NULL );
- mpi_write_file( "Q: ", &rsa.Q, 16, NULL );
- mpi_write_file( "DP: ", &rsa.DP, 16, NULL );
- mpi_write_file( "DQ: ", &rsa.DQ, 16, NULL );
- mpi_write_file( "QP: ", &rsa.QP, 16, NULL );
- }
- else if( opt.mode == MODE_PUBLIC )
- {
- /*
- * 1.1. Load the key
- */
- printf( "\n . Loading the public key ..." );
- fflush( stdout );
-
- ret = x509parse_public_keyfile( &rsa, opt.filename );
-
- if( ret != 0 )
- {
-#ifdef POLARSSL_ERROR_C
- error_strerror( ret, buf, 1024 );
-#endif
- printf( " failed\n ! x509parse_public_key returned %d - %s\n\n", ret, buf );
- rsa_free( &rsa );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 1.2 Print the key
- */
- printf( " . Key information ...\n" );
- mpi_write_file( "N: ", &rsa.N, 16, NULL );
- mpi_write_file( "E: ", &rsa.E, 16, NULL );
- }
- else
- goto usage;
-
-exit:
-
- rsa_free( &rsa );
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_RSA_C &&
- POLARSSL_X509_PARSE_C && POLARSSL_FS_IO */
diff --git a/Externals/polarssl/programs/pkey/key_app_writer.c b/Externals/polarssl/programs/pkey/key_app_writer.c
deleted file mode 100644
index d8465ca758..0000000000
--- a/Externals/polarssl/programs/pkey/key_app_writer.c
+++ /dev/null
@@ -1,339 +0,0 @@
-/*
- * Key reading application
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/error.h"
-#include "polarssl/rsa.h"
-#include "polarssl/x509.h"
-#include "polarssl/base64.h"
-#include "polarssl/x509write.h"
-
-#define MODE_NONE 0
-#define MODE_PRIVATE 1
-#define MODE_PUBLIC 2
-
-#define OUTPUT_MODE_NONE 0
-#define OUTPUT_MODE_PRIVATE 1
-#define OUTPUT_MODE_PUBLIC 2
-
-#define DFL_MODE MODE_NONE
-#define DFL_FILENAME "keyfile.key"
-#define DFL_DEBUG_LEVEL 0
-#define DFL_OUTPUT_MODE OUTPUT_MODE_NONE
-#define DFL_OUTPUT_FILENAME "keyfile.pem"
-
-/*
- * global options
- */
-struct options
-{
- int mode; /* the mode to run the application in */
- const char *filename; /* filename of the key file */
- int debug_level; /* level of debugging */
- int output_mode; /* the output mode to use */
- const char *output_file; /* where to store the constructed key file */
-} opt;
-
-void my_debug( void *ctx, int level, const char *str )
-{
- if( level < opt.debug_level )
- {
- fprintf( (FILE *) ctx, "%s", str );
- fflush( (FILE *) ctx );
- }
-}
-
-void write_public_key( rsa_context *rsa, const char *output_file )
-{
- FILE *f;
- unsigned char output_buf[16000];
- unsigned char base_buf[16000];
- unsigned char *c;
- int ret;
- size_t len = 0, olen = 16000;
-
- memset(output_buf, 0, 16000);
- ret = x509_write_pubkey_der( output_buf, 16000, rsa );
-
- if( ret < 0 )
- return;
-
- len = ret;
- c = output_buf + 15999 - len;
-
- base64_encode( base_buf, &olen, c, len );
-
- c = base_buf;
-
- f = fopen( output_file, "w" );
- fprintf(f, "-----BEGIN PUBLIC KEY-----\n");
- while (olen)
- {
- int use_len = olen;
- if (use_len > 64) use_len = 64;
- fwrite( c, 1, use_len, f );
- olen -= use_len;
- c += use_len;
- fprintf(f, "\n");
- }
- fprintf(f, "-----END PUBLIC KEY-----\n");
- fclose(f);
-}
-
-void write_private_key( rsa_context *rsa, const char *output_file )
-{
- FILE *f;
- unsigned char output_buf[16000];
- unsigned char base_buf[16000];
- unsigned char *c;
- int ret;
- size_t len = 0, olen = 16000;
-
- memset(output_buf, 0, 16000);
- ret = x509_write_key_der( output_buf, 16000, rsa );
- if( ret < 0 )
- return;
-
- len = ret;
- c = output_buf + 15999 - len;
-
- base64_encode( base_buf, &olen, c, len );
-
- c = base_buf;
-
- f = fopen( output_file, "w" );
- fprintf(f, "-----BEGIN RSA PRIVATE KEY-----\n");
- while (olen)
- {
- int use_len = olen;
- if (use_len > 64) use_len = 64;
- fwrite( c, 1, use_len, f );
- olen -= use_len;
- c += use_len;
- fprintf(f, "\n");
- }
- fprintf(f, "-----END RSA PRIVATE KEY-----\n");
- fclose(f);
-}
-
-#define USAGE \
- "\n usage: key_app param=<>...\n" \
- "\n acceptable parameters:\n" \
- " mode=private|public default: none\n" \
- " filename=%%s default: keyfile.key\n" \
- " debug_level=%%d default: 0 (disabled)\n" \
- " output_mode=private|public default: none\n" \
- " output_file=%%s defeult: keyfile.pem\n" \
- "\n"
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_RSA_C) || \
- !defined(POLARSSL_X509_PARSE_C) || !defined(POLARSSL_FS_IO)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_X509_PARSE_C and/or POLARSSL_FS_IO not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int ret = 0;
- rsa_context rsa;
- char buf[1024];
- int i;
- char *p, *q;
-
- /*
- * Set to sane values
- */
- memset( &rsa, 0, sizeof( rsa_context ) );
- memset( buf, 0, 1024 );
-
- if( argc == 0 )
- {
- usage:
- printf( USAGE );
- goto exit;
- }
-
- opt.mode = DFL_MODE;
- opt.filename = DFL_FILENAME;
- opt.debug_level = DFL_DEBUG_LEVEL;
- opt.output_mode = DFL_OUTPUT_MODE;
- opt.output_file = DFL_OUTPUT_FILENAME;
-
- for( i = 1; i < argc; i++ )
- {
- p = argv[i];
- if( ( q = strchr( p, '=' ) ) == NULL )
- goto usage;
- *q++ = '\0';
-
- if( strcmp( p, "mode" ) == 0 )
- {
- if( strcmp( q, "private" ) == 0 )
- opt.mode = MODE_PRIVATE;
- else if( strcmp( q, "public" ) == 0 )
- opt.mode = MODE_PUBLIC;
- else
- goto usage;
- }
- else if( strcmp( p, "output_mode" ) == 0 )
- {
- if( strcmp( q, "private" ) == 0 )
- opt.output_mode = OUTPUT_MODE_PRIVATE;
- else if( strcmp( q, "public" ) == 0 )
- opt.output_mode = OUTPUT_MODE_PUBLIC;
- else
- goto usage;
- }
- else if( strcmp( p, "filename" ) == 0 )
- opt.filename = q;
- else if( strcmp( p, "output_file" ) == 0 )
- opt.output_file = q;
- else if( strcmp( p, "debug_level" ) == 0 )
- {
- opt.debug_level = atoi( q );
- if( opt.debug_level < 0 || opt.debug_level > 65535 )
- goto usage;
- }
- else
- goto usage;
- }
-
- if( opt.mode == MODE_NONE && opt.output_mode != OUTPUT_MODE_NONE )
- {
- printf( "\nCannot output a key without reading one.\n");
- goto exit;
- }
-
- if( opt.mode == MODE_PUBLIC && opt.output_mode == OUTPUT_MODE_PRIVATE )
- {
- printf( "\nCannot output a private key from a public key.\n");
- goto exit;
- }
-
- if( opt.mode == MODE_PRIVATE )
- {
- /*
- * 1.1. Load the key
- */
- printf( "\n . Loading the private key ..." );
- fflush( stdout );
-
- ret = x509parse_keyfile( &rsa, opt.filename, NULL );
-
- if( ret != 0 )
- {
-#ifdef POLARSSL_ERROR_C
- error_strerror( ret, buf, 1024 );
-#endif
- printf( " failed\n ! x509parse_key returned %d - %s\n\n", ret, buf );
- rsa_free( &rsa );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 1.2 Print the key
- */
- printf( " . Key information ...\n" );
- mpi_write_file( "N: ", &rsa.N, 16, NULL );
- mpi_write_file( "E: ", &rsa.E, 16, NULL );
- mpi_write_file( "D: ", &rsa.D, 16, NULL );
- mpi_write_file( "P: ", &rsa.P, 16, NULL );
- mpi_write_file( "Q: ", &rsa.Q, 16, NULL );
- mpi_write_file( "DP: ", &rsa.DP, 16, NULL );
- mpi_write_file( "DQ: ", &rsa.DQ, 16, NULL );
- mpi_write_file( "QP: ", &rsa.QP, 16, NULL );
-
- }
- else if( opt.mode == MODE_PUBLIC )
- {
- /*
- * 1.1. Load the key
- */
- printf( "\n . Loading the public key ..." );
- fflush( stdout );
-
- ret = x509parse_public_keyfile( &rsa, opt.filename );
-
- if( ret != 0 )
- {
-#ifdef POLARSSL_ERROR_C
- error_strerror( ret, buf, 1024 );
-#endif
- printf( " failed\n ! x509parse_public_key returned %d - %s\n\n", ret, buf );
- rsa_free( &rsa );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 1.2 Print the key
- */
- printf( " . Key information ...\n" );
- mpi_write_file( "N: ", &rsa.N, 16, NULL );
- mpi_write_file( "E: ", &rsa.E, 16, NULL );
- }
- else
- goto usage;
-
- if( opt.output_mode == OUTPUT_MODE_PUBLIC )
- {
- write_public_key( &rsa, opt.output_file );
- }
- if( opt.output_mode == OUTPUT_MODE_PRIVATE )
- {
- write_private_key( &rsa, opt.output_file );
- }
-
-exit:
-
- rsa_free( &rsa );
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_RSA_C &&
- POLARSSL_X509_PARSE_C && POLARSSL_FS_IO */
diff --git a/Externals/polarssl/programs/pkey/mpi_demo.c b/Externals/polarssl/programs/pkey/mpi_demo.c
deleted file mode 100644
index f393f1d494..0000000000
--- a/Externals/polarssl/programs/pkey/mpi_demo.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Simple MPI demonstration program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <stdio.h>
-
-#include "polarssl/config.h"
-#include "polarssl/bignum.h"
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_FS_IO)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_FS_IO not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- mpi E, P, Q, N, H, D, X, Y, Z;
-
- ((void) argc);
- ((void) argv);
-
- mpi_init( &E ); mpi_init( &P ); mpi_init( &Q ); mpi_init( &N );
- mpi_init( &H ); mpi_init( &D ); mpi_init( &X ); mpi_init( &Y );
- mpi_init( &Z );
-
- mpi_read_string( &P, 10, "2789" );
- mpi_read_string( &Q, 10, "3203" );
- mpi_read_string( &E, 10, "257" );
- mpi_mul_mpi( &N, &P, &Q );
-
- printf( "\n Public key:\n\n" );
- mpi_write_file( " N = ", &N, 10, NULL );
- mpi_write_file( " E = ", &E, 10, NULL );
-
- printf( "\n Private key:\n\n" );
- mpi_write_file( " P = ", &P, 10, NULL );
- mpi_write_file( " Q = ", &Q, 10, NULL );
-
-#if defined(POLARSSL_GENPRIME)
- mpi_sub_int( &P, &P, 1 );
- mpi_sub_int( &Q, &Q, 1 );
- mpi_mul_mpi( &H, &P, &Q );
- mpi_inv_mod( &D, &E, &H );
-
- mpi_write_file( " D = E^-1 mod (P-1)*(Q-1) = ",
- &D, 10, NULL );
-#else
- printf("\nTest skipped (POLARSSL_GENPRIME not defined).\n\n");
-#endif
- mpi_read_string( &X, 10, "55555" );
- mpi_exp_mod( &Y, &X, &E, &N, NULL );
- mpi_exp_mod( &Z, &Y, &D, &N, NULL );
-
- printf( "\n RSA operation:\n\n" );
- mpi_write_file( " X (plaintext) = ", &X, 10, NULL );
- mpi_write_file( " Y (ciphertext) = X^E mod N = ", &Y, 10, NULL );
- mpi_write_file( " Z (decrypted) = Y^D mod N = ", &Z, 10, NULL );
- printf( "\n" );
-
- mpi_free( &E ); mpi_free( &P ); mpi_free( &Q ); mpi_free( &N );
- mpi_free( &H ); mpi_free( &D ); mpi_free( &X ); mpi_free( &Y );
- mpi_free( &Z );
-
-#if defined(_WIN32)
- printf( " Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( 0 );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_FS_IO */
diff --git a/Externals/polarssl/programs/pkey/rsa_decrypt.c b/Externals/polarssl/programs/pkey/rsa_decrypt.c
deleted file mode 100644
index 0b168f4425..0000000000
--- a/Externals/polarssl/programs/pkey/rsa_decrypt.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * RSA simple decryption program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/rsa.h"
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_RSA_C) || \
- !defined(POLARSSL_FS_IO)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_FS_IO not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- FILE *f;
- int ret, c;
- size_t i;
- rsa_context rsa;
- unsigned char result[1024];
- unsigned char buf[512];
- ((void) argv);
-
- memset(result, 0, sizeof( result ) );
- ret = 1;
-
- if( argc != 1 )
- {
- printf( "usage: rsa_decrypt\n" );
-
-#if defined(_WIN32)
- printf( "\n" );
-#endif
-
- goto exit;
- }
-
- printf( "\n . Reading private key from rsa_priv.txt" );
- fflush( stdout );
-
- if( ( f = fopen( "rsa_priv.txt", "rb" ) ) == NULL )
- {
- printf( " failed\n ! Could not open rsa_priv.txt\n" \
- " ! Please run rsa_genkey first\n\n" );
- goto exit;
- }
-
- rsa_init( &rsa, RSA_PKCS_V15, 0 );
-
- if( ( ret = mpi_read_file( &rsa.N , 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.E , 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.D , 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.P , 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.Q , 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.DP, 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.DQ, 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.QP, 16, f ) ) != 0 )
- {
- printf( " failed\n ! mpi_read_file returned %d\n\n", ret );
- goto exit;
- }
-
- rsa.len = ( mpi_msb( &rsa.N ) + 7 ) >> 3;
-
- fclose( f );
-
- /*
- * Extract the RSA encrypted value from the text file
- */
- ret = 1;
-
- if( ( f = fopen( "result-enc.txt", "rb" ) ) == NULL )
- {
- printf( "\n ! Could not open %s\n\n", "result-enc.txt" );
- goto exit;
- }
-
- i = 0;
-
- while( fscanf( f, "%02X", &c ) > 0 &&
- i < (int) sizeof( buf ) )
- buf[i++] = (unsigned char) c;
-
- fclose( f );
-
- if( i != rsa.len )
- {
- printf( "\n ! Invalid RSA signature format\n\n" );
- goto exit;
- }
-
- /*
- * Decrypt the encrypted RSA data and print the result.
- */
- printf( "\n . Decrypting the encrypted data" );
- fflush( stdout );
-
- if( ( ret = rsa_pkcs1_decrypt( &rsa, RSA_PRIVATE, &i, buf, result,
- 1024 ) ) != 0 )
- {
- printf( " failed\n ! rsa_pkcs1_decrypt returned %d\n\n", ret );
- goto exit;
- }
-
- printf( "\n . OK\n\n" );
-
- printf( "The decrypted result is: '%s'\n\n", result );
-
- ret = 0;
-
-exit:
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_RSA_C && POLARSSL_FS_IO */
diff --git a/Externals/polarssl/programs/pkey/rsa_encrypt.c b/Externals/polarssl/programs/pkey/rsa_encrypt.c
deleted file mode 100644
index 83dcef2dff..0000000000
--- a/Externals/polarssl/programs/pkey/rsa_encrypt.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * RSA simple data encryption program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/rsa.h"
-#include "polarssl/entropy.h"
-#include "polarssl/ctr_drbg.h"
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_RSA_C) || \
- !defined(POLARSSL_ENTROPY_C) || !defined(POLARSSL_FS_IO) || \
- !defined(POLARSSL_CTR_DRBG_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_ENTROPY_C and/or POLARSSL_FS_IO and/or "
- "POLARSSL_CTR_DRBG_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- FILE *f;
- int ret;
- size_t i;
- rsa_context rsa;
- entropy_context entropy;
- ctr_drbg_context ctr_drbg;
- unsigned char input[1024];
- unsigned char buf[512];
- const char *pers = "rsa_encrypt";
-
- ret = 1;
-
- if( argc != 2 )
- {
- printf( "usage: rsa_encrypt <string of max 100 characters>\n" );
-
-#if defined(_WIN32)
- printf( "\n" );
-#endif
-
- goto exit;
- }
-
- printf( "\n . Seeding the random number generator..." );
- fflush( stdout );
-
- entropy_init( &entropy );
- if( ( ret = ctr_drbg_init( &ctr_drbg, entropy_func, &entropy,
- (const unsigned char *) pers,
- strlen( pers ) ) ) != 0 )
- {
- printf( " failed\n ! ctr_drbg_init returned %d\n", ret );
- goto exit;
- }
-
- printf( "\n . Reading public key from rsa_pub.txt" );
- fflush( stdout );
-
- if( ( f = fopen( "rsa_pub.txt", "rb" ) ) == NULL )
- {
- ret = 1;
- printf( " failed\n ! Could not open rsa_pub.txt\n" \
- " ! Please run rsa_genkey first\n\n" );
- goto exit;
- }
-
- rsa_init( &rsa, RSA_PKCS_V15, 0 );
-
- if( ( ret = mpi_read_file( &rsa.N, 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.E, 16, f ) ) != 0 )
- {
- printf( " failed\n ! mpi_read_file returned %d\n\n", ret );
- goto exit;
- }
-
- rsa.len = ( mpi_msb( &rsa.N ) + 7 ) >> 3;
-
- fclose( f );
-
- if( strlen( argv[1] ) > 100 )
- {
- printf( " Input data larger than 100 characters.\n\n" );
- goto exit;
- }
-
- memcpy( input, argv[1], strlen( argv[1] ) );
-
- /*
- * Calculate the RSA encryption of the hash.
- */
- printf( "\n . Generating the RSA encrypted value" );
- fflush( stdout );
-
- if( ( ret = rsa_pkcs1_encrypt( &rsa, ctr_drbg_random, &ctr_drbg,
- RSA_PUBLIC, strlen( argv[1] ),
- input, buf ) ) != 0 )
- {
- printf( " failed\n ! rsa_pkcs1_encrypt returned %d\n\n", ret );
- goto exit;
- }
-
- /*
- * Write the signature into result-enc.txt
- */
- if( ( f = fopen( "result-enc.txt", "wb+" ) ) == NULL )
- {
- ret = 1;
- printf( " failed\n ! Could not create %s\n\n", "result-enc.txt" );
- goto exit;
- }
-
- for( i = 0; i < rsa.len; i++ )
- fprintf( f, "%02X%s", buf[i],
- ( i + 1 ) % 16 == 0 ? "\r\n" : " " );
-
- fclose( f );
-
- printf( "\n . Done (created \"%s\")\n\n", "result-enc.txt" );
-
-exit:
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_RSA_C && POLARSSL_ENTROPY_C &&
- POLARSSL_FS_IO && POLARSSL_CTR_DRBG_C */
diff --git a/Externals/polarssl/programs/pkey/rsa_genkey.c b/Externals/polarssl/programs/pkey/rsa_genkey.c
deleted file mode 100644
index 68e33e56f8..0000000000
--- a/Externals/polarssl/programs/pkey/rsa_genkey.c
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Example RSA key generation program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/entropy.h"
-#include "polarssl/ctr_drbg.h"
-#include "polarssl/bignum.h"
-#include "polarssl/x509.h"
-#include "polarssl/rsa.h"
-
-#define KEY_SIZE 1024
-#define EXPONENT 65537
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_ENTROPY_C) || \
- !defined(POLARSSL_RSA_C) || !defined(POLARSSL_GENPRIME) || \
- !defined(POLARSSL_FS_IO) || !defined(POLARSSL_CTR_DRBG_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_ENTROPY_C and/or "
- "POLARSSL_RSA_C and/or POLARSSL_GENPRIME and/or "
- "POLARSSL_FS_IO and/or POLARSSL_CTR_DRBG_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int ret;
- rsa_context rsa;
- entropy_context entropy;
- ctr_drbg_context ctr_drbg;
- FILE *fpub = NULL;
- FILE *fpriv = NULL;
- const char *pers = "rsa_genkey";
-
- ((void) argc);
- ((void) argv);
-
- printf( "\n . Seeding the random number generator..." );
- fflush( stdout );
-
- entropy_init( &entropy );
- if( ( ret = ctr_drbg_init( &ctr_drbg, entropy_func, &entropy,
- (const unsigned char *) pers,
- strlen( pers ) ) ) != 0 )
- {
- printf( " failed\n ! ctr_drbg_init returned %d\n", ret );
- goto exit;
- }
-
- printf( " ok\n . Generating the RSA key [ %d-bit ]...", KEY_SIZE );
- fflush( stdout );
-
- rsa_init( &rsa, RSA_PKCS_V15, 0 );
-
- if( ( ret = rsa_gen_key( &rsa, ctr_drbg_random, &ctr_drbg, KEY_SIZE,
- EXPONENT ) ) != 0 )
- {
- printf( " failed\n ! rsa_gen_key returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n . Exporting the public key in rsa_pub.txt...." );
- fflush( stdout );
-
- if( ( fpub = fopen( "rsa_pub.txt", "wb+" ) ) == NULL )
- {
- printf( " failed\n ! could not open rsa_pub.txt for writing\n\n" );
- ret = 1;
- goto exit;
- }
-
- if( ( ret = mpi_write_file( "N = ", &rsa.N, 16, fpub ) ) != 0 ||
- ( ret = mpi_write_file( "E = ", &rsa.E, 16, fpub ) ) != 0 )
- {
- printf( " failed\n ! mpi_write_file returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n . Exporting the private key in rsa_priv.txt..." );
- fflush( stdout );
-
- if( ( fpriv = fopen( "rsa_priv.txt", "wb+" ) ) == NULL )
- {
- printf( " failed\n ! could not open rsa_priv.txt for writing\n" );
- ret = 1;
- goto exit;
- }
-
- if( ( ret = mpi_write_file( "N = " , &rsa.N , 16, fpriv ) ) != 0 ||
- ( ret = mpi_write_file( "E = " , &rsa.E , 16, fpriv ) ) != 0 ||
- ( ret = mpi_write_file( "D = " , &rsa.D , 16, fpriv ) ) != 0 ||
- ( ret = mpi_write_file( "P = " , &rsa.P , 16, fpriv ) ) != 0 ||
- ( ret = mpi_write_file( "Q = " , &rsa.Q , 16, fpriv ) ) != 0 ||
- ( ret = mpi_write_file( "DP = ", &rsa.DP, 16, fpriv ) ) != 0 ||
- ( ret = mpi_write_file( "DQ = ", &rsa.DQ, 16, fpriv ) ) != 0 ||
- ( ret = mpi_write_file( "QP = ", &rsa.QP, 16, fpriv ) ) != 0 )
- {
- printf( " failed\n ! mpi_write_file returned %d\n\n", ret );
- goto exit;
- }
-/*
- printf( " ok\n . Generating the certificate..." );
-
- x509write_init_raw( &cert );
- x509write_add_pubkey( &cert, &rsa );
- x509write_add_subject( &cert, "CN='localhost'" );
- x509write_add_validity( &cert, "2007-09-06 17:00:32",
- "2010-09-06 17:00:32" );
- x509write_create_selfsign( &cert, &rsa );
- x509write_crtfile( &cert, "cert.der", X509_OUTPUT_DER );
- x509write_crtfile( &cert, "cert.pem", X509_OUTPUT_PEM );
- x509write_free_raw( &cert );
-*/
- printf( " ok\n\n" );
-
-exit:
-
- if( fpub != NULL )
- fclose( fpub );
-
- if( fpriv != NULL )
- fclose( fpriv );
-
- rsa_free( &rsa );
-
-#if defined(_WIN32)
- printf( " Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_ENTROPY_C && POLARSSL_RSA_C &&
- POLARSSL_GENPRIME && POLARSSL_FS_IO && POLARSSL_CTR_DRBG_C */
diff --git a/Externals/polarssl/programs/pkey/rsa_priv.txt b/Externals/polarssl/programs/pkey/rsa_priv.txt
deleted file mode 100644
index 254fcf8522..0000000000
--- a/Externals/polarssl/programs/pkey/rsa_priv.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-N = A1D46FBA2318F8DCEF16C280948B1CF27966B9B47225ED2989F8D74B45BD36049C0AAB5AD0FF003553BA843C8E12782FC5873BB89A3DC84B883D25666CD22BF3ACD5B675969F8BEBFBCAC93FDD927C7442B178B10D1DFF9398E52316AAE0AF74E594650BDC3C670241D418684593CDA1A7B9DC4F20D2FDC6F66344074003E211
-E = 010001
-D = 589552BB4F2F023ADDDD5586D0C8FD857512D82080436678D07F984A29D892D31F1F7000FC5A39A0F73E27D885E47249A4148C8A5653EF69F91F8F736BA9F84841C2D99CD8C24DE8B72B5C9BE0EDBE23F93D731749FEA9CFB4A48DD2B7F35A2703E74AA2D4DB7DE9CEEA7D763AF0ADA7AC176C4E9A22C4CDA65CEC0C65964401
-P = CD083568D2D46C44C40C1FA0101AF2155E59C70B08423112AF0C1202514BBA5210765E29FF13036F56C7495894D80CF8C3BAEE2839BACBB0B86F6A2965F60DB1
-Q = CA0EEEA5E710E8E9811A6B846399420E3AE4A4C16647E426DDF8BBBCB11CD3F35CE2E4B6BCAD07AE2C0EC2ECBFCC601B207CDD77B5673E16382B1130BF465261
-DP = 0D0E21C07BF434B4A83B116472C2147A11D8EB98A33CFBBCF1D275EF19D815941622435AAF3839B6C432CA53CE9E772CFBE1923A937A766FD93E96E6EDEC1DF1
-DQ = 269CEBE6305DFEE4809377F078C814E37B45AE6677114DFC4F76F5097E1F3031D592567AC55B9B98213B40ECD54A4D2361F5FAACA1B1F51F71E4690893C4F081
-QP = 97AC5BB885ABCA314375E9E4DB1BA4B2218C90619F61BD474F5785075ECA81750A735199A8C191FE2D3355E7CF601A70E5CABDE0E02C2538BB9FB4871540B3C1
diff --git a/Externals/polarssl/programs/pkey/rsa_pub.txt b/Externals/polarssl/programs/pkey/rsa_pub.txt
deleted file mode 100644
index 1e7ae0c9c9..0000000000
--- a/Externals/polarssl/programs/pkey/rsa_pub.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-N = A1D46FBA2318F8DCEF16C280948B1CF27966B9B47225ED2989F8D74B45BD36049C0AAB5AD0FF003553BA843C8E12782FC5873BB89A3DC84B883D25666CD22BF3ACD5B675969F8BEBFBCAC93FDD927C7442B178B10D1DFF9398E52316AAE0AF74E594650BDC3C670241D418684593CDA1A7B9DC4F20D2FDC6F66344074003E211
-E = 010001
diff --git a/Externals/polarssl/programs/pkey/rsa_sign.c b/Externals/polarssl/programs/pkey/rsa_sign.c
deleted file mode 100644
index e77dc92a15..0000000000
--- a/Externals/polarssl/programs/pkey/rsa_sign.c
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * RSA/SHA-1 signature creation program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/rsa.h"
-#include "polarssl/sha1.h"
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_RSA_C) || \
- !defined(POLARSSL_SHA1_C) || !defined(POLARSSL_FS_IO)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_SHA1_C and/or POLARSSL_FS_IO not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- FILE *f;
- int ret;
- size_t i;
- rsa_context rsa;
- unsigned char hash[20];
- unsigned char buf[POLARSSL_MPI_MAX_SIZE];
-
- ret = 1;
-
- if( argc != 2 )
- {
- printf( "usage: rsa_sign <filename>\n" );
-
-#if defined(_WIN32)
- printf( "\n" );
-#endif
-
- goto exit;
- }
-
- printf( "\n . Reading private key from rsa_priv.txt" );
- fflush( stdout );
-
- if( ( f = fopen( "rsa_priv.txt", "rb" ) ) == NULL )
- {
- ret = 1;
- printf( " failed\n ! Could not open rsa_priv.txt\n" \
- " ! Please run rsa_genkey first\n\n" );
- goto exit;
- }
-
- rsa_init( &rsa, RSA_PKCS_V15, 0 );
-
- if( ( ret = mpi_read_file( &rsa.N , 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.E , 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.D , 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.P , 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.Q , 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.DP, 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.DQ, 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.QP, 16, f ) ) != 0 )
- {
- printf( " failed\n ! mpi_read_file returned %d\n\n", ret );
- goto exit;
- }
-
- rsa.len = ( mpi_msb( &rsa.N ) + 7 ) >> 3;
-
- fclose( f );
-
- printf( "\n . Checking the private key" );
- fflush( stdout );
- if( ( ret = rsa_check_privkey( &rsa ) ) != 0 )
- {
- printf( " failed\n ! rsa_check_privkey failed with -0x%0x\n", -ret );
- goto exit;
- }
-
- /*
- * Compute the SHA-1 hash of the input file,
- * then calculate the RSA signature of the hash.
- */
- printf( "\n . Generating the RSA/SHA-1 signature" );
- fflush( stdout );
-
- if( ( ret = sha1_file( argv[1], hash ) ) != 0 )
- {
- printf( " failed\n ! Could not open or read %s\n\n", argv[1] );
- goto exit;
- }
-
- if( ( ret = rsa_pkcs1_sign( &rsa, NULL, NULL, RSA_PRIVATE, SIG_RSA_SHA1,
- 20, hash, buf ) ) != 0 )
- {
- printf( " failed\n ! rsa_pkcs1_sign returned -0x%0x\n\n", -ret );
- goto exit;
- }
-
- /*
- * Write the signature into <filename>-sig.txt
- */
- memcpy( argv[1] + strlen( argv[1] ), ".sig", 5 );
-
- if( ( f = fopen( argv[1], "wb+" ) ) == NULL )
- {
- ret = 1;
- printf( " failed\n ! Could not create %s\n\n", argv[1] );
- goto exit;
- }
-
- for( i = 0; i < rsa.len; i++ )
- fprintf( f, "%02X%s", buf[i],
- ( i + 1 ) % 16 == 0 ? "\r\n" : " " );
-
- fclose( f );
-
- printf( "\n . Done (created \"%s\")\n\n", argv[1] );
-
-exit:
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_RSA_C && POLARSSL_SHA1_C &&
- POLARSSL_FS_IO */
diff --git a/Externals/polarssl/programs/pkey/rsa_sign_pss.c b/Externals/polarssl/programs/pkey/rsa_sign_pss.c
deleted file mode 100644
index 17e772a13d..0000000000
--- a/Externals/polarssl/programs/pkey/rsa_sign_pss.c
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * RSASSA-PSS/SHA-1 signature creation program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/entropy.h"
-#include "polarssl/ctr_drbg.h"
-#include "polarssl/md.h"
-#include "polarssl/rsa.h"
-#include "polarssl/sha1.h"
-#include "polarssl/x509.h"
-
-#if defined _MSC_VER && !defined snprintf
-#define snprintf _snprintf
-#endif
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_ENTROPY_C) || \
- !defined(POLARSSL_RSA_C) || !defined(POLARSSL_SHA1_C) || \
- !defined(POLARSSL_X509_PARSE_C) || !defined(POLARSSL_FS_IO) || \
- !defined(POLARSSL_CTR_DRBG_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_ENTROPY_C and/or "
- "POLARSSL_RSA_C and/or POLARSSL_SHA1_C and/or "
- "POLARSSL_X509_PARSE_C and/or POLARSSL_FS_IO and/or "
- "POLARSSL_CTR_DRBG_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- FILE *f;
- int ret;
- rsa_context rsa;
- entropy_context entropy;
- ctr_drbg_context ctr_drbg;
- unsigned char hash[20];
- unsigned char buf[POLARSSL_MPI_MAX_SIZE];
- char filename[512];
- const char *pers = "rsa_sign_pss";
-
- ret = 1;
-
- if( argc != 3 )
- {
- printf( "usage: rsa_sign_pss <key_file> <filename>\n" );
-
-#if defined(_WIN32)
- printf( "\n" );
-#endif
-
- goto exit;
- }
-
- printf( "\n . Seeding the random number generator..." );
- fflush( stdout );
-
- entropy_init( &entropy );
- if( ( ret = ctr_drbg_init( &ctr_drbg, entropy_func, &entropy,
- (const unsigned char *) pers,
- strlen( pers ) ) ) != 0 )
- {
- printf( " failed\n ! ctr_drbg_init returned %d\n", ret );
- goto exit;
- }
-
- printf( "\n . Reading private key from '%s'", argv[1] );
- fflush( stdout );
-
- rsa_init( &rsa, RSA_PKCS_V21, POLARSSL_MD_SHA1 );
-
- if( ( ret = x509parse_keyfile( &rsa, argv[1], "" ) ) != 0 )
- {
- ret = 1;
- printf( " failed\n ! Could not open '%s'\n", argv[1] );
- goto exit;
- }
-
- /*
- * Compute the SHA-1 hash of the input file,
- * then calculate the RSA signature of the hash.
- */
- printf( "\n . Generating the RSA/SHA-1 signature" );
- fflush( stdout );
-
- if( ( ret = sha1_file( argv[2], hash ) ) != 0 )
- {
- printf( " failed\n ! Could not open or read %s\n\n", argv[2] );
- goto exit;
- }
-
- if( ( ret = rsa_pkcs1_sign( &rsa, ctr_drbg_random, &ctr_drbg,
- RSA_PRIVATE, SIG_RSA_SHA1,
- 20, hash, buf ) ) != 0 )
- {
- printf( " failed\n ! rsa_pkcs1_sign returned %d\n\n", ret );
- goto exit;
- }
-
- /*
- * Write the signature into <filename>-sig.txt
- */
- snprintf( filename, 512, "%s.sig", argv[2] );
-
- if( ( f = fopen( filename, "wb+" ) ) == NULL )
- {
- ret = 1;
- printf( " failed\n ! Could not create %s\n\n", filename );
- goto exit;
- }
-
- if( fwrite( buf, 1, rsa.len, f ) != (size_t) rsa.len )
- {
- printf( "failed\n ! fwrite failed\n\n" );
- goto exit;
- }
-
- fclose( f );
-
- printf( "\n . Done (created \"%s\")\n\n", filename );
-
-exit:
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_ENTROPY_C && POLARSSL_RSA_C &&
- POLARSSL_SHA1_C && POLARSSL_X509_PARSE_C && POLARSSL_FS_IO &&
- POLARSSL_CTR_DRBG_C */
diff --git a/Externals/polarssl/programs/pkey/rsa_verify.c b/Externals/polarssl/programs/pkey/rsa_verify.c
deleted file mode 100644
index 2edd70a37f..0000000000
--- a/Externals/polarssl/programs/pkey/rsa_verify.c
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * RSA/SHA-1 signature verification program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/rsa.h"
-#include "polarssl/sha1.h"
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_RSA_C) || \
- !defined(POLARSSL_SHA1_C) || !defined(POLARSSL_FS_IO)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_SHA1_C and/or POLARSSL_FS_IO not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- FILE *f;
- int ret, c;
- size_t i;
- rsa_context rsa;
- unsigned char hash[20];
- unsigned char buf[POLARSSL_MPI_MAX_SIZE];
-
- ret = 1;
- if( argc != 2 )
- {
- printf( "usage: rsa_verify <filename>\n" );
-
-#if defined(_WIN32)
- printf( "\n" );
-#endif
-
- goto exit;
- }
-
- printf( "\n . Reading public key from rsa_pub.txt" );
- fflush( stdout );
-
- if( ( f = fopen( "rsa_pub.txt", "rb" ) ) == NULL )
- {
- printf( " failed\n ! Could not open rsa_pub.txt\n" \
- " ! Please run rsa_genkey first\n\n" );
- goto exit;
- }
-
- rsa_init( &rsa, RSA_PKCS_V15, 0 );
-
- if( ( ret = mpi_read_file( &rsa.N, 16, f ) ) != 0 ||
- ( ret = mpi_read_file( &rsa.E, 16, f ) ) != 0 )
- {
- printf( " failed\n ! mpi_read_file returned %d\n\n", ret );
- goto exit;
- }
-
- rsa.len = ( mpi_msb( &rsa.N ) + 7 ) >> 3;
-
- fclose( f );
-
- /*
- * Extract the RSA signature from the text file
- */
- ret = 1;
- i = strlen( argv[1] );
- memcpy( argv[1] + i, ".sig", 5 );
-
- if( ( f = fopen( argv[1], "rb" ) ) == NULL )
- {
- printf( "\n ! Could not open %s\n\n", argv[1] );
- goto exit;
- }
-
- argv[1][i] = '\0', i = 0;
-
- while( fscanf( f, "%02X", &c ) > 0 &&
- i < (int) sizeof( buf ) )
- buf[i++] = (unsigned char) c;
-
- fclose( f );
-
- if( i != rsa.len )
- {
- printf( "\n ! Invalid RSA signature format\n\n" );
- goto exit;
- }
-
- /*
- * Compute the SHA-1 hash of the input file and compare
- * it with the hash decrypted from the RSA signature.
- */
- printf( "\n . Verifying the RSA/SHA-1 signature" );
- fflush( stdout );
-
- if( ( ret = sha1_file( argv[1], hash ) ) != 0 )
- {
- printf( " failed\n ! Could not open or read %s\n\n", argv[1] );
- goto exit;
- }
-
- if( ( ret = rsa_pkcs1_verify( &rsa, RSA_PUBLIC, SIG_RSA_SHA1,
- 20, hash, buf ) ) != 0 )
- {
- printf( " failed\n ! rsa_pkcs1_verify returned -0x%0x\n\n", -ret );
- goto exit;
- }
-
- printf( "\n . OK (the decrypted SHA-1 hash matches)\n\n" );
-
- ret = 0;
-
-exit:
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_RSA_C && POLARSSL_SHA1_C &&
- POLARSSL_FS_IO */
diff --git a/Externals/polarssl/programs/pkey/rsa_verify_pss.c b/Externals/polarssl/programs/pkey/rsa_verify_pss.c
deleted file mode 100644
index ccac58dc18..0000000000
--- a/Externals/polarssl/programs/pkey/rsa_verify_pss.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * RSASSA-PSS/SHA-1 signature verification program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/md.h"
-#include "polarssl/pem.h"
-#include "polarssl/rsa.h"
-#include "polarssl/sha1.h"
-#include "polarssl/x509.h"
-
-#if defined _MSC_VER && !defined snprintf
-#define snprintf _snprintf
-#endif
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_RSA_C) || \
- !defined(POLARSSL_SHA1_C) || !defined(POLARSSL_X509_PARSE_C) || \
- !defined(POLARSSL_FS_IO)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_SHA1_C and/or POLARSSL_X509_PARSE_C and/or "
- "POLARSSL_FS_IO not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- FILE *f;
- int ret;
- size_t i;
- rsa_context rsa;
- unsigned char hash[20];
- unsigned char buf[POLARSSL_MPI_MAX_SIZE];
- char filename[512];
-
- ret = 1;
- if( argc != 3 )
- {
- printf( "usage: rsa_verify_pss <key_file> <filename>\n" );
-
-#if defined(_WIN32)
- printf( "\n" );
-#endif
-
- goto exit;
- }
-
- printf( "\n . Reading public key from '%s'", argv[1] );
- fflush( stdout );
-
- rsa_init( &rsa, RSA_PKCS_V21, POLARSSL_MD_SHA1 );
-
- if( ( ret = x509parse_public_keyfile( &rsa, argv[1] ) ) != 0 )
- {
- printf( " failed\n ! x509parse_public_key returned %d\n\n", ret );
- goto exit;
- }
-
- /*
- * Extract the RSA signature from the text file
- */
- ret = 1;
- snprintf( filename, 512, "%s.sig", argv[2] );
-
- if( ( f = fopen( filename, "rb" ) ) == NULL )
- {
- printf( "\n ! Could not open %s\n\n", filename );
- goto exit;
- }
-
- i = fread( buf, 1, rsa.len, f );
-
- fclose( f );
-
- if( i != rsa.len )
- {
- printf( "\n ! Invalid RSA signature format\n\n" );
- goto exit;
- }
-
- /*
- * Compute the SHA-1 hash of the input file and compare
- * it with the hash decrypted from the RSA signature.
- */
- printf( "\n . Verifying the RSA/SHA-1 signature" );
- fflush( stdout );
-
- if( ( ret = sha1_file( argv[2], hash ) ) != 0 )
- {
- printf( " failed\n ! Could not open or read %s\n\n", argv[2] );
- goto exit;
- }
-
- if( ( ret = rsa_pkcs1_verify( &rsa, RSA_PUBLIC, SIG_RSA_SHA1,
- 20, hash, buf ) ) != 0 )
- {
- printf( " failed\n ! rsa_pkcs1_verify returned %d\n\n", ret );
- goto exit;
- }
-
- printf( "\n . OK (the decrypted SHA-1 hash matches)\n\n" );
-
- ret = 0;
-
-exit:
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_RSA_C && POLARSSL_SHA1_C &&
- POLARSSL_X509_PARSE_C && POLARSSL_FS_IO */
diff --git a/Externals/polarssl/programs/random/CMakeLists.txt b/Externals/polarssl/programs/random/CMakeLists.txt
deleted file mode 100644
index ae02bd1039..0000000000
--- a/Externals/polarssl/programs/random/CMakeLists.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-add_executable(gen_random_havege gen_random_havege.c)
-target_link_libraries(gen_random_havege polarssl)
-
-add_executable(gen_random_ctr_drbg gen_random_ctr_drbg.c)
-target_link_libraries(gen_random_ctr_drbg polarssl)
-
-add_executable(gen_entropy gen_entropy.c)
-target_link_libraries(gen_entropy polarssl)
-
-install(TARGETS gen_random_havege gen_random_ctr_drbg gen_entropy
- DESTINATION "bin"
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
diff --git a/Externals/polarssl/programs/random/gen_entropy.c b/Externals/polarssl/programs/random/gen_entropy.c
deleted file mode 100644
index 38c104c92d..0000000000
--- a/Externals/polarssl/programs/random/gen_entropy.c
+++ /dev/null
@@ -1,87 +0,0 @@
-/**
- * \brief Use and generate multiple entropies calls into a file
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "polarssl/config.h"
-
-#include "polarssl/entropy.h"
-
-#include <stdio.h>
-
-#if !defined(POLARSSL_ENTROPY_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_ENTROPY_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- FILE *f;
- int i, k, ret;
- entropy_context entropy;
- unsigned char buf[ENTROPY_BLOCK_SIZE];
-
- if( argc < 2 )
- {
- fprintf( stderr, "usage: %s <output filename>\n", argv[0] );
- return( 1 );
- }
-
- if( ( f = fopen( argv[1], "wb+" ) ) == NULL )
- {
- printf( "failed to open '%s' for writing.\n", argv[0] );
- return( 1 );
- }
-
- entropy_init( &entropy );
-
- for( i = 0, k = 768; i < k; i++ )
- {
- ret = entropy_func( &entropy, buf, sizeof( buf ) );
- if( ret != 0 )
- {
- printf("failed!\n");
- goto cleanup;
- }
-
- fwrite( buf, 1, sizeof( buf ), f );
-
- printf( "Generating 32Mb of data in file '%s'... %04.1f" \
- "%% done\r", argv[1], (100 * (float) (i + 1)) / k );
- fflush( stdout );
- }
-
- ret = 0;
-
-cleanup:
-
- fclose( f );
-
- return( ret );
-}
-#endif /* POLARSSL_ENTROPY_C */
diff --git a/Externals/polarssl/programs/random/gen_random_ctr_drbg.c b/Externals/polarssl/programs/random/gen_random_ctr_drbg.c
deleted file mode 100644
index fcdc2eec18..0000000000
--- a/Externals/polarssl/programs/random/gen_random_ctr_drbg.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/**
- * \brief Use and generate random data into a file via the CTR_DBRG based on AES
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "polarssl/config.h"
-
-#include "polarssl/entropy.h"
-#include "polarssl/ctr_drbg.h"
-
-#include <stdio.h>
-
-#if !defined(POLARSSL_CTR_DRBG_C) || !defined(POLARSSL_ENTROPY_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_CTR_DRBG_C or POLARSSL_ENTROPY_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- FILE *f;
- int i, k, ret;
- ctr_drbg_context ctr_drbg;
- entropy_context entropy;
- unsigned char buf[1024];
-
- if( argc < 2 )
- {
- fprintf( stderr, "usage: %s <output filename>\n", argv[0] );
- return( 1 );
- }
-
- if( ( f = fopen( argv[1], "wb+" ) ) == NULL )
- {
- printf( "failed to open '%s' for writing.\n", argv[0] );
- return( 1 );
- }
-
- entropy_init( &entropy );
- ret = ctr_drbg_init( &ctr_drbg, entropy_func, &entropy, (const unsigned char *) "RANDOM_GEN", 10 );
- if( ret != 0 )
- {
- printf( "failed in ctr_drbg_init: %d\n", ret );
- goto cleanup;
- }
- ctr_drbg_set_prediction_resistance( &ctr_drbg, CTR_DRBG_PR_OFF );
-
-#if defined(POLARSSL_FS_IO)
- ret = ctr_drbg_update_seed_file( &ctr_drbg, "seedfile" );
-
- if( ret == POLARSSL_ERR_CTR_DRBG_FILE_IO_ERROR )
- {
- printf( "Failed to open seedfile. Generating one.\n" );
- ret = ctr_drbg_write_seed_file( &ctr_drbg, "seedfile" );
- if( ret != 0 )
- {
- printf( "failed in ctr_drbg_write_seed_file: %d\n", ret );
- goto cleanup;
- }
- }
- else if( ret != 0 )
- {
- printf( "failed in ctr_drbg_update_seed_file: %d\n", ret );
- goto cleanup;
- }
-#endif
-
- for( i = 0, k = 768; i < k; i++ )
- {
- ret = ctr_drbg_random( &ctr_drbg, buf, sizeof( buf ) );
- if( ret != 0 )
- {
- printf("failed!\n");
- goto cleanup;
- }
-
- fwrite( buf, 1, sizeof( buf ), f );
-
- printf( "Generating 32Mb of data in file '%s'... %04.1f" \
- "%% done\r", argv[1], (100 * (float) (i + 1)) / k );
- fflush( stdout );
- }
-
- ret = 0;
-
-cleanup:
- printf("\n");
-
- fclose( f );
-
- return( ret );
-}
-#endif /* POLARSSL_CTR_DRBG_C && POLARSSL_ENTROPY_C */
diff --git a/Externals/polarssl/programs/random/gen_random_havege.c b/Externals/polarssl/programs/random/gen_random_havege.c
deleted file mode 100644
index 9d3b560583..0000000000
--- a/Externals/polarssl/programs/random/gen_random_havege.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/**
- * \brief Generate random data into a file
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "polarssl/config.h"
-
-#include "polarssl/havege.h"
-
-#include <time.h>
-#include <stdio.h>
-
-#if !defined(POLARSSL_HAVEGE_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_HAVEGE_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- FILE *f;
- time_t t;
- int i, k;
- havege_state hs;
- unsigned char buf[1024];
-
- if( argc < 2 )
- {
- fprintf( stderr, "usage: %s <output filename>\n", argv[0] );
- return( 1 );
- }
-
- if( ( f = fopen( argv[1], "wb+" ) ) == NULL )
- {
- printf( "failed to open '%s' for writing.\n", argv[0] );
- return( 1 );
- }
-
- havege_init( &hs );
-
- t = time( NULL );
-
- for( i = 0, k = 768; i < k; i++ )
- {
- if( havege_random( &hs, buf, sizeof( buf ) ) != 0 )
- {
- printf( "Failed to get random from source.\n" );
- fclose( f );
- return( 1 );
- }
-
- fwrite( buf, sizeof( buf ), 1, f );
-
- printf( "Generating 32Mb of data in file '%s'... %04.1f" \
- "%% done\r", argv[1], (100 * (float) (i + 1)) / k );
- fflush( stdout );
- }
-
- if( t == time( NULL ) )
- t--;
-
- printf(" \n ");
-
- fclose( f );
- return( 0 );
-}
-#endif /* POLARSSL_HAVEGE_C */
diff --git a/Externals/polarssl/programs/ssl/CA-HOWTO.txt b/Externals/polarssl/programs/ssl/CA-HOWTO.txt
deleted file mode 100644
index 6ba160f44f..0000000000
--- a/Externals/polarssl/programs/ssl/CA-HOWTO.txt
+++ /dev/null
@@ -1,144 +0,0 @@
-
-
-
- How to setup your own Certificate Authority
- ===========================================
-
-
-Note: this howto requires the openssl binary, as well as classic
-UNIX tools (cat, touch, echo). If you use Windows, please consider
-installing Cygwin -- see http://cygwin.com/
-
-
- 1. Configure OpenSSL
- --------------------
-
-First of all, create sslconf.txt in the current directory
-(a basic example is provided at the end of this file).
-
-cat > sslconf.txt <<"EOF"
-[paste contents here]
-EOF
-
-Then you need to create the database and a starting serial number:
-
-touch index
-echo "01" > serial
-mkdir newcerts
-
-
- 2. Generate the CA certificate
- ------------------------------
-
-openssl req -config sslconf.txt -days 3653 -x509 -newkey rsa:2048 \
- -set_serial 0 -text -keyout test-ca.key -out test-ca.crt
-
-
- 3. Generate the private keys and certificate requests
- -----------------------------------------------------
-
-openssl genrsa -out server1.key 2048
-openssl genrsa -out server2.key 2048
-openssl genrsa -out client1.key 2048
-openssl genrsa -out client2.key 2048
-
-openssl req -config sslconf.txt -new -key server1.key -out server1.req
-openssl req -config sslconf.txt -new -key server2.key -out server2.req
-openssl req -config sslconf.txt -new -key client1.key -out client1.req
-openssl req -config sslconf.txt -new -key client2.key -out client2.req
-
-
- 4. Issue and sign the certificates
- ----------------------------------
-
-openssl ca -config sslconf.txt -in server1.req -out server1.crt
-openssl ca -config sslconf.txt -in server2.req -out server2.crt
-openssl ca -config sslconf.txt -in client1.req -out client1.crt
-openssl ca -config sslconf.txt -in client2.req -out client2.crt
-
-
- 5. To revoke a certificate and update the CRL
- ---------------------------------------------
-
-openssl ca -config sslconf.txt -revoke server1.crt
-openssl ca -config sslconf.txt -revoke client1.crt
-openssl ca -config sslconf.txt -gencrl -out crl.pem
-
-
- 6. To display a certificate and verify its validity
- ---------------------------------------------------
-
-openssl x509 -in server2.crt -text -noout
-cat test-ca.crt crl.pem > ca_crl.pem
-openssl verify -CAfile ca_crl.pem -crl_check server2.crt
-rm ca_crl.pem
-
-
- 7. To export a certificate into a .pfx file
- -------------------------------------------
-
-openssl pkcs12 -export -in client2.crt -inkey client2.key \
- -out client2.pfx
-
-
-##================================================================
-##============== Example OpenSSL configuration file ==============
-##================================================================
-
-# References:
-#
-# /etc/ssl/openssl.conf
-# http://www.openssl.org/docs/apps/config.html
-# http://www.openssl.org/docs/apps/x509v3_config.html
-
-[ ca ]
-default_ca = my_ca
-
-[ my_ca ]
-certificate = test-ca.crt
-private_key = test-ca.key
-database = index
-serial = serial
-
-new_certs_dir = newcerts
-default_crl_days = 60
-default_days = 730
-default_md = sha1
-policy = my_policy
-x509_extensions = v3_usr
-
-[ my_policy ]
-countryName = optional
-stateOrProvinceName = optional
-organizationName = match
-organizationalUnitName = optional
-commonName = supplied
-emailAddress = optional
-
-[ req ]
-distinguished_name = my_req_dn
-x509_extensions = v3_ca
-
-[ my_req_dn ]
-countryName = Country Name..............
-countryName_min = 2
-countryName_max = 2
-stateOrProvinceName = State or Province Name....
-localityName = Locality Name.............
-0.organizationName = Organization Name.........
-organizationalUnitName = Org. Unit Name............
-commonName = Common Name (required)....
-commonName_max = 64
-emailAddress = Email Address.............
-emailAddress_max = 64
-
-[ v3_ca ]
-basicConstraints = CA:TRUE
-subjectKeyIdentifier = hash
-authorityKeyIdentifier = keyid:always,issuer:always
-
-[ v3_usr ]
-basicConstraints = CA:FALSE
-subjectKeyIdentifier = hash
-authorityKeyIdentifier = keyid,issuer
-
diff --git a/Externals/polarssl/programs/ssl/CMakeLists.txt b/Externals/polarssl/programs/ssl/CMakeLists.txt
deleted file mode 100644
index a117b58a07..0000000000
--- a/Externals/polarssl/programs/ssl/CMakeLists.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-set(libs
- polarssl
-)
-
-if(USE_PKCS11_HELPER_LIBRARY)
- set(libs ${libs} pkcs11-helper)
-endif(USE_PKCS11_HELPER_LIBRARY)
-
-if(ENABLE_ZLIB_SUPPORT)
- set(libs ${libs} ${ZLIB_LIBRARIES})
-endif(ENABLE_ZLIB_SUPPORT)
-
-add_executable(ssl_client1 ssl_client1.c)
-target_link_libraries(ssl_client1 ${libs})
-
-add_executable(ssl_client2 ssl_client2.c)
-target_link_libraries(ssl_client2 ${libs})
-
-add_executable(ssl_server ssl_server.c)
-target_link_libraries(ssl_server ${libs})
-
-add_executable(ssl_server2 ssl_server2.c)
-target_link_libraries(ssl_server2 ${libs})
-
-add_executable(ssl_fork_server ssl_fork_server.c)
-target_link_libraries(ssl_fork_server ${libs})
-
-add_executable(ssl_mail_client ssl_mail_client.c)
-target_link_libraries(ssl_mail_client ${libs})
-
-install(TARGETS ssl_client1 ssl_client2 ssl_server ssl_fork_server ssl_mail_client
- DESTINATION "bin"
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
diff --git a/Externals/polarssl/programs/ssl/ssl_client1.c b/Externals/polarssl/programs/ssl/ssl_client1.c
deleted file mode 100644
index a902376864..0000000000
--- a/Externals/polarssl/programs/ssl/ssl_client1.c
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * SSL client demonstration program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/net.h"
-#include "polarssl/ssl.h"
-#include "polarssl/entropy.h"
-#include "polarssl/ctr_drbg.h"
-#include "polarssl/error.h"
-#include "polarssl/certs.h"
-
-#define SERVER_PORT 4433
-#define SERVER_NAME "localhost"
-#define GET_REQUEST "GET / HTTP/1.0\r\n\r\n"
-
-#define DEBUG_LEVEL 1
-
-void my_debug( void *ctx, int level, const char *str )
-{
- if( level < DEBUG_LEVEL )
- {
- fprintf( (FILE *) ctx, "%s", str );
- fflush( (FILE *) ctx );
- }
-}
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_ENTROPY_C) || \
- !defined(POLARSSL_SSL_TLS_C) || !defined(POLARSSL_SSL_CLI_C) || \
- !defined(POLARSSL_NET_C) || !defined(POLARSSL_RSA_C) || \
- !defined(POLARSSL_CTR_DRBG_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_ENTROPY_C and/or "
- "POLARSSL_SSL_TLS_C and/or POLARSSL_SSL_CLI_C and/or "
- "POLARSSL_NET_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_CTR_DRBG_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int ret, len, server_fd;
- unsigned char buf[1024];
- const char *pers = "ssl_client1";
-
- entropy_context entropy;
- ctr_drbg_context ctr_drbg;
- ssl_context ssl;
- x509_cert cacert;
-
- ((void) argc);
- ((void) argv);
-
- /*
- * 0. Initialize the RNG and the session data
- */
- memset( &ssl, 0, sizeof( ssl_context ) );
- memset( &cacert, 0, sizeof( x509_cert ) );
-
- printf( "\n . Seeding the random number generator..." );
- fflush( stdout );
-
- entropy_init( &entropy );
- if( ( ret = ctr_drbg_init( &ctr_drbg, entropy_func, &entropy,
- (const unsigned char *) pers,
- strlen( pers ) ) ) != 0 )
- {
- printf( " failed\n ! ctr_drbg_init returned %d\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 0. Initialize certificates
- */
- printf( " . Loading the CA root certificate ..." );
- fflush( stdout );
-
-#if defined(POLARSSL_CERTS_C)
- ret = x509parse_crt( &cacert, (const unsigned char *) test_ca_crt,
- strlen( test_ca_crt ) );
-#else
- ret = 1;
- printf("POLARSSL_CERTS_C not defined.");
-#endif
-
- if( ret < 0 )
- {
- printf( " failed\n ! x509parse_crt returned -0x%x\n\n", -ret );
- goto exit;
- }
-
- printf( " ok (%d skipped)\n", ret );
-
- /*
- * 1. Start the connection
- */
- printf( " . Connecting to tcp/%s/%4d...", SERVER_NAME,
- SERVER_PORT );
- fflush( stdout );
-
- if( ( ret = net_connect( &server_fd, SERVER_NAME,
- SERVER_PORT ) ) != 0 )
- {
- printf( " failed\n ! net_connect returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 2. Setup stuff
- */
- printf( " . Setting up the SSL/TLS structure..." );
- fflush( stdout );
-
- if( ( ret = ssl_init( &ssl ) ) != 0 )
- {
- printf( " failed\n ! ssl_init returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- ssl_set_endpoint( &ssl, SSL_IS_CLIENT );
- ssl_set_authmode( &ssl, SSL_VERIFY_OPTIONAL );
- ssl_set_ca_chain( &ssl, &cacert, NULL, "PolarSSL Server 1" );
-
- ssl_set_rng( &ssl, ctr_drbg_random, &ctr_drbg );
- ssl_set_dbg( &ssl, my_debug, stdout );
- ssl_set_bio( &ssl, net_recv, &server_fd,
- net_send, &server_fd );
-
- /*
- * 4. Handshake
- */
- printf( " . Performing the SSL/TLS handshake..." );
- fflush( stdout );
-
- while( ( ret = ssl_handshake( &ssl ) ) != 0 )
- {
- if( ret != POLARSSL_ERR_NET_WANT_READ && ret != POLARSSL_ERR_NET_WANT_WRITE )
- {
- printf( " failed\n ! ssl_handshake returned -0x%x\n\n", -ret );
- goto exit;
- }
- }
-
- printf( " ok\n" );
-
- /*
- * 5. Verify the server certificate
- */
- printf( " . Verifying peer X.509 certificate..." );
-
- if( ( ret = ssl_get_verify_result( &ssl ) ) != 0 )
- {
- printf( " failed\n" );
-
- if( ( ret & BADCERT_EXPIRED ) != 0 )
- printf( " ! server certificate has expired\n" );
-
- if( ( ret & BADCERT_REVOKED ) != 0 )
- printf( " ! server certificate has been revoked\n" );
-
- if( ( ret & BADCERT_CN_MISMATCH ) != 0 )
- printf( " ! CN mismatch (expected CN=%s)\n", "PolarSSL Server 1" );
-
- if( ( ret & BADCERT_NOT_TRUSTED ) != 0 )
- printf( " ! self-signed or not signed by a trusted CA\n" );
-
- printf( "\n" );
- }
- else
- printf( " ok\n" );
-
- /*
- * 3. Write the GET request
- */
- printf( " > Write to server:" );
- fflush( stdout );
-
- len = sprintf( (char *) buf, GET_REQUEST );
-
- while( ( ret = ssl_write( &ssl, buf, len ) ) <= 0 )
- {
- if( ret != POLARSSL_ERR_NET_WANT_READ && ret != POLARSSL_ERR_NET_WANT_WRITE )
- {
- printf( " failed\n ! ssl_write returned %d\n\n", ret );
- goto exit;
- }
- }
-
- len = ret;
- printf( " %d bytes written\n\n%s", len, (char *) buf );
-
- /*
- * 7. Read the HTTP response
- */
- printf( " < Read from server:" );
- fflush( stdout );
-
- do
- {
- len = sizeof( buf ) - 1;
- memset( buf, 0, sizeof( buf ) );
- ret = ssl_read( &ssl, buf, len );
-
- if( ret == POLARSSL_ERR_NET_WANT_READ || ret == POLARSSL_ERR_NET_WANT_WRITE )
- continue;
-
- if( ret == POLARSSL_ERR_SSL_PEER_CLOSE_NOTIFY )
- break;
-
- if( ret < 0 )
- {
- printf( "failed\n ! ssl_read returned %d\n\n", ret );
- break;
- }
-
- if( ret == 0 )
- {
- printf( "\n\nEOF\n\n" );
- break;
- }
-
- len = ret;
- printf( " %d bytes read\n\n%s", len, (char *) buf );
- }
- while( 1 );
-
- ssl_close_notify( &ssl );
-
-exit:
-
-#ifdef POLARSSL_ERROR_C
- if( ret != 0 )
- {
- char error_buf[100];
- error_strerror( ret, error_buf, 100 );
- printf("Last error was: %d - %s\n\n", ret, error_buf );
- }
-#endif
-
- x509_free( &cacert );
- net_close( server_fd );
- ssl_free( &ssl );
-
- memset( &ssl, 0, sizeof( ssl ) );
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_ENTROPY_C && POLARSSL_SSL_TLS_C &&
- POLARSSL_SSL_CLI_C && POLARSSL_NET_C && POLARSSL_RSA_C &&
- POLARSSL_CTR_DRBG_C */
diff --git a/Externals/polarssl/programs/ssl/ssl_client2.c b/Externals/polarssl/programs/ssl/ssl_client2.c
deleted file mode 100644
index 2247d5c262..0000000000
--- a/Externals/polarssl/programs/ssl/ssl_client2.c
+++ /dev/null
@@ -1,649 +0,0 @@
-/*
- * SSL client with certificate authentication
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/net.h"
-#include "polarssl/ssl.h"
-#include "polarssl/entropy.h"
-#include "polarssl/ctr_drbg.h"
-#include "polarssl/certs.h"
-#include "polarssl/x509.h"
-#include "polarssl/error.h"
-
-#define DFL_SERVER_NAME "localhost"
-#define DFL_SERVER_PORT 4433
-#define DFL_REQUEST_PAGE "/"
-#define DFL_DEBUG_LEVEL 0
-#define DFL_CA_FILE ""
-#define DFL_CA_PATH ""
-#define DFL_CRT_FILE ""
-#define DFL_KEY_FILE ""
-#define DFL_FORCE_CIPHER 0
-#define DFL_RENEGOTIATION SSL_RENEGOTIATION_ENABLED
-#define DFL_ALLOW_LEGACY SSL_LEGACY_NO_RENEGOTIATION
-#define DFL_MIN_VERSION -1
-#define DFL_MAX_VERSION -1
-#define DFL_AUTH_MODE SSL_VERIFY_OPTIONAL
-
-#define GET_REQUEST "GET %s HTTP/1.0\r\n\r\n"
-
-/*
- * global options
- */
-struct options
-{
- const char *server_name; /* hostname of the server (client only) */
- int server_port; /* port on which the ssl service runs */
- int debug_level; /* level of debugging */
- const char *request_page; /* page on server to request */
- const char *ca_file; /* the file with the CA certificate(s) */
- const char *ca_path; /* the path with the CA certificate(s) reside */
- const char *crt_file; /* the file with the client certificate */
- const char *key_file; /* the file with the client key */
- int force_ciphersuite[2]; /* protocol/ciphersuite to use, or all */
- int renegotiation; /* enable / disable renegotiation */
- int allow_legacy; /* allow legacy renegotiation */
- int min_version; /* minimum protocol version accepted */
- int max_version; /* maximum protocol version accepted */
- int auth_mode; /* verify mode for connection */
-} opt;
-
-void my_debug( void *ctx, int level, const char *str )
-{
- if( level < opt.debug_level )
- {
- fprintf( (FILE *) ctx, "%s", str );
- fflush( (FILE *) ctx );
- }
-}
-
-/*
- * Enabled if debug_level > 1 in code below
- */
-int my_verify( void *data, x509_cert *crt, int depth, int *flags )
-{
- char buf[1024];
- ((void) data);
-
- printf( "\nVerify requested for (Depth %d):\n", depth );
- x509parse_cert_info( buf, sizeof( buf ) - 1, "", crt );
- printf( "%s", buf );
-
- if( ( (*flags) & BADCERT_EXPIRED ) != 0 )
- printf( " ! server certificate has expired\n" );
-
- if( ( (*flags) & BADCERT_REVOKED ) != 0 )
- printf( " ! server certificate has been revoked\n" );
-
- if( ( (*flags) & BADCERT_CN_MISMATCH ) != 0 )
- printf( " ! CN mismatch\n" );
-
- if( ( (*flags) & BADCERT_NOT_TRUSTED ) != 0 )
- printf( " ! self-signed or not signed by a trusted CA\n" );
-
- if( ( (*flags) & BADCRL_NOT_TRUSTED ) != 0 )
- printf( " ! CRL not trusted\n" );
-
- if( ( (*flags) & BADCRL_EXPIRED ) != 0 )
- printf( " ! CRL expired\n" );
-
- if( ( (*flags) & BADCERT_OTHER ) != 0 )
- printf( " ! other (unknown) flag\n" );
-
- if ( ( *flags ) == 0 )
- printf( " This certificate has no flags\n" );
-
- return( 0 );
-}
-
-#if defined(POLARSSL_FS_IO)
-#define USAGE_IO \
- " ca_file=%%s The single file containing the top-level CA(s) you fully trust\n" \
- " default: \"\" (pre-loaded)\n" \
- " ca_path=%%s The path containing the top-level CA(s) you fully trust\n" \
- " default: \"\" (pre-loaded) (overrides ca_file)\n" \
- " crt_file=%%s Your own cert and chain (in bottom to top order, top may be omitted)\n" \
- " default: \"\" (pre-loaded)\n" \
- " key_file=%%s default: \"\" (pre-loaded)\n"
-#else
-#define USAGE_IO \
- " No file operations available (POLARSSL_FS_IO not defined)\n"
-#endif /* POLARSSL_FS_IO */
-
-#define USAGE \
- "\n usage: ssl_client2 param=<>...\n" \
- "\n acceptable parameters:\n" \
- " server_name=%%s default: localhost\n" \
- " server_port=%%d default: 4433\n" \
- " debug_level=%%d default: 0 (disabled)\n" \
- USAGE_IO \
- " request_page=%%s default: \".\"\n" \
- " renegotiation=%%d default: 1 (enabled)\n" \
- " allow_legacy=%%d default: 0 (disabled)\n" \
- "\n" \
- " min_version=%%s default: \"\" (ssl3)\n" \
- " max_version=%%s default: \"\" (tls1_2)\n" \
- " force_version=%%s default: \"\" (none)\n" \
- " options: ssl3, tls1, tls1_1, tls1_2\n" \
- " auth_mode=%%s default: \"optional\"\n" \
- " options: none, optional, required\n" \
- "\n" \
- " force_ciphersuite=<name> default: all enabled\n"\
- " acceptable ciphersuite names:\n"
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_ENTROPY_C) || \
- !defined(POLARSSL_SSL_TLS_C) || !defined(POLARSSL_SSL_CLI_C) || \
- !defined(POLARSSL_NET_C) || !defined(POLARSSL_RSA_C) || \
- !defined(POLARSSL_CTR_DRBG_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_ENTROPY_C and/or "
- "POLARSSL_SSL_TLS_C and/or POLARSSL_SSL_CLI_C and/or "
- "POLARSSL_NET_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_CTR_DRBG_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int ret = 0, len, server_fd;
- unsigned char buf[1024];
- const char *pers = "ssl_client2";
-
- entropy_context entropy;
- ctr_drbg_context ctr_drbg;
- ssl_context ssl;
- x509_cert cacert;
- x509_cert clicert;
- rsa_context rsa;
- int i;
- char *p, *q;
- const int *list;
-
- /*
- * Make sure memory references are valid.
- */
- server_fd = 0;
- memset( &ssl, 0, sizeof( ssl_context ) );
- memset( &cacert, 0, sizeof( x509_cert ) );
- memset( &clicert, 0, sizeof( x509_cert ) );
- memset( &rsa, 0, sizeof( rsa_context ) );
-
- if( argc == 0 )
- {
- usage:
- if( ret == 0 )
- ret = 1;
-
- printf( USAGE );
-
- list = ssl_list_ciphersuites();
- while( *list )
- {
- printf(" %s\n", ssl_get_ciphersuite_name( *list ) );
- list++;
- }
- printf("\n");
- goto exit;
- }
-
- opt.server_name = DFL_SERVER_NAME;
- opt.server_port = DFL_SERVER_PORT;
- opt.debug_level = DFL_DEBUG_LEVEL;
- opt.request_page = DFL_REQUEST_PAGE;
- opt.ca_file = DFL_CA_FILE;
- opt.ca_path = DFL_CA_PATH;
- opt.crt_file = DFL_CRT_FILE;
- opt.key_file = DFL_KEY_FILE;
- opt.force_ciphersuite[0]= DFL_FORCE_CIPHER;
- opt.renegotiation = DFL_RENEGOTIATION;
- opt.allow_legacy = DFL_ALLOW_LEGACY;
- opt.min_version = DFL_MIN_VERSION;
- opt.max_version = DFL_MAX_VERSION;
- opt.auth_mode = DFL_AUTH_MODE;
-
- for( i = 1; i < argc; i++ )
- {
- p = argv[i];
- if( ( q = strchr( p, '=' ) ) == NULL )
- goto usage;
- *q++ = '\0';
-
- if( strcmp( p, "server_name" ) == 0 )
- opt.server_name = q;
- else if( strcmp( p, "server_port" ) == 0 )
- {
- opt.server_port = atoi( q );
- if( opt.server_port < 1 || opt.server_port > 65535 )
- goto usage;
- }
- else if( strcmp( p, "debug_level" ) == 0 )
- {
- opt.debug_level = atoi( q );
- if( opt.debug_level < 0 || opt.debug_level > 65535 )
- goto usage;
- }
- else if( strcmp( p, "request_page" ) == 0 )
- opt.request_page = q;
- else if( strcmp( p, "ca_file" ) == 0 )
- opt.ca_file = q;
- else if( strcmp( p, "ca_path" ) == 0 )
- opt.ca_path = q;
- else if( strcmp( p, "crt_file" ) == 0 )
- opt.crt_file = q;
- else if( strcmp( p, "key_file" ) == 0 )
- opt.key_file = q;
- else if( strcmp( p, "force_ciphersuite" ) == 0 )
- {
- opt.force_ciphersuite[0] = -1;
-
- opt.force_ciphersuite[0] = ssl_get_ciphersuite_id( q );
-
- if( opt.force_ciphersuite[0] <= 0 )
- {
- ret = 2;
- goto usage;
- }
- opt.force_ciphersuite[1] = 0;
- }
- else if( strcmp( p, "renegotiation" ) == 0 )
- {
- opt.renegotiation = (atoi( q )) ? SSL_RENEGOTIATION_ENABLED :
- SSL_RENEGOTIATION_DISABLED;
- }
- else if( strcmp( p, "allow_legacy" ) == 0 )
- {
- opt.allow_legacy = atoi( q );
- if( opt.allow_legacy < 0 || opt.allow_legacy > 1 )
- goto usage;
- }
- else if( strcmp( p, "min_version" ) == 0 )
- {
- if( strcmp( q, "ssl3" ) == 0 )
- opt.min_version = SSL_MINOR_VERSION_0;
- else if( strcmp( q, "tls1" ) == 0 )
- opt.min_version = SSL_MINOR_VERSION_1;
- else if( strcmp( q, "tls1_1" ) == 0 )
- opt.min_version = SSL_MINOR_VERSION_2;
- else if( strcmp( q, "tls1_2" ) == 0 )
- opt.min_version = SSL_MINOR_VERSION_3;
- else
- goto usage;
- }
- else if( strcmp( p, "max_version" ) == 0 )
- {
- if( strcmp( q, "ssl3" ) == 0 )
- opt.max_version = SSL_MINOR_VERSION_0;
- else if( strcmp( q, "tls1" ) == 0 )
- opt.max_version = SSL_MINOR_VERSION_1;
- else if( strcmp( q, "tls1_1" ) == 0 )
- opt.max_version = SSL_MINOR_VERSION_2;
- else if( strcmp( q, "tls1_2" ) == 0 )
- opt.max_version = SSL_MINOR_VERSION_3;
- else
- goto usage;
- }
- else if( strcmp( p, "force_version" ) == 0 )
- {
- if( strcmp( q, "ssl3" ) == 0 )
- {
- opt.min_version = SSL_MINOR_VERSION_0;
- opt.max_version = SSL_MINOR_VERSION_0;
- }
- else if( strcmp( q, "tls1" ) == 0 )
- {
- opt.min_version = SSL_MINOR_VERSION_1;
- opt.max_version = SSL_MINOR_VERSION_1;
- }
- else if( strcmp( q, "tls1_1" ) == 0 )
- {
- opt.min_version = SSL_MINOR_VERSION_2;
- opt.max_version = SSL_MINOR_VERSION_2;
- }
- else if( strcmp( q, "tls1_2" ) == 0 )
- {
- opt.min_version = SSL_MINOR_VERSION_3;
- opt.max_version = SSL_MINOR_VERSION_3;
- }
- else
- goto usage;
- }
- else if( strcmp( p, "auth_mode" ) == 0 )
- {
- if( strcmp( q, "none" ) == 0 )
- opt.auth_mode = SSL_VERIFY_NONE;
- else if( strcmp( q, "optional" ) == 0 )
- opt.auth_mode = SSL_VERIFY_OPTIONAL;
- else if( strcmp( q, "required" ) == 0 )
- opt.auth_mode = SSL_VERIFY_REQUIRED;
- else
- goto usage;
- }
- else
- goto usage;
- }
-
- /*
- * 0. Initialize the RNG and the session data
- */
- printf( "\n . Seeding the random number generator..." );
- fflush( stdout );
-
- entropy_init( &entropy );
- if( ( ret = ctr_drbg_init( &ctr_drbg, entropy_func, &entropy,
- (const unsigned char *) pers,
- strlen( pers ) ) ) != 0 )
- {
- printf( " failed\n ! ctr_drbg_init returned -0x%x\n", -ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 1.1. Load the trusted CA
- */
- printf( " . Loading the CA root certificate ..." );
- fflush( stdout );
-
-#if defined(POLARSSL_FS_IO)
- if( strlen( opt.ca_path ) )
- ret = x509parse_crtpath( &cacert, opt.ca_path );
- else if( strlen( opt.ca_file ) )
- ret = x509parse_crtfile( &cacert, opt.ca_file );
- else
-#endif
-#if defined(POLARSSL_CERTS_C)
- ret = x509parse_crt( &cacert, (const unsigned char *) test_ca_crt,
- strlen( test_ca_crt ) );
-#else
- {
- ret = 1;
- printf("POLARSSL_CERTS_C not defined.");
- }
-#endif
- if( ret < 0 )
- {
- printf( " failed\n ! x509parse_crt returned -0x%x\n\n", -ret );
- goto exit;
- }
-
- printf( " ok (%d skipped)\n", ret );
-
- /*
- * 1.2. Load own certificate and private key
- *
- * (can be skipped if client authentication is not required)
- */
- printf( " . Loading the client cert. and key..." );
- fflush( stdout );
-
-#if defined(POLARSSL_FS_IO)
- if( strlen( opt.crt_file ) )
- ret = x509parse_crtfile( &clicert, opt.crt_file );
- else
-#endif
-#if defined(POLARSSL_CERTS_C)
- ret = x509parse_crt( &clicert, (const unsigned char *) test_cli_crt,
- strlen( test_cli_crt ) );
-#else
- {
- ret = 1;
- printf("POLARSSL_CERTS_C not defined.");
- }
-#endif
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_crt returned -0x%x\n\n", -ret );
- goto exit;
- }
-
-#if defined(POLARSSL_FS_IO)
- if( strlen( opt.key_file ) )
- ret = x509parse_keyfile( &rsa, opt.key_file, "" );
- else
-#endif
-#if defined(POLARSSL_CERTS_C)
- ret = x509parse_key( &rsa, (const unsigned char *) test_cli_key,
- strlen( test_cli_key ), NULL, 0 );
-#else
- {
- ret = 1;
- printf("POLARSSL_CERTS_C not defined.");
- }
-#endif
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_key returned -0x%x\n\n", -ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 2. Start the connection
- */
- printf( " . Connecting to tcp/%s/%-4d...", opt.server_name,
- opt.server_port );
- fflush( stdout );
-
- if( ( ret = net_connect( &server_fd, opt.server_name,
- opt.server_port ) ) != 0 )
- {
- printf( " failed\n ! net_connect returned -0x%x\n\n", -ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 3. Setup stuff
- */
- printf( " . Setting up the SSL/TLS structure..." );
- fflush( stdout );
-
- if( ( ret = ssl_init( &ssl ) ) != 0 )
- {
- printf( " failed\n ! ssl_init returned -0x%x\n\n", -ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- if( opt.debug_level > 0 )
- ssl_set_verify( &ssl, my_verify, NULL );
-
- ssl_set_endpoint( &ssl, SSL_IS_CLIENT );
- ssl_set_authmode( &ssl, opt.auth_mode );
-
- ssl_set_rng( &ssl, ctr_drbg_random, &ctr_drbg );
- ssl_set_dbg( &ssl, my_debug, stdout );
- ssl_set_bio( &ssl, net_recv, &server_fd,
- net_send, &server_fd );
-
- if( opt.force_ciphersuite[0] != DFL_FORCE_CIPHER )
- ssl_set_ciphersuites( &ssl, opt.force_ciphersuite );
-
- ssl_set_renegotiation( &ssl, opt.renegotiation );
- ssl_legacy_renegotiation( &ssl, opt.allow_legacy );
-
- ssl_set_ca_chain( &ssl, &cacert, NULL, opt.server_name );
- ssl_set_own_cert( &ssl, &clicert, &rsa );
-
- ssl_set_hostname( &ssl, opt.server_name );
-
- if( opt.min_version != -1 )
- ssl_set_min_version( &ssl, SSL_MAJOR_VERSION_3, opt.min_version );
- if( opt.max_version != -1 )
- ssl_set_max_version( &ssl, SSL_MAJOR_VERSION_3, opt.max_version );
-
- /*
- * 4. Handshake
- */
- printf( " . Performing the SSL/TLS handshake..." );
- fflush( stdout );
-
- while( ( ret = ssl_handshake( &ssl ) ) != 0 )
- {
- if( ret != POLARSSL_ERR_NET_WANT_READ && ret != POLARSSL_ERR_NET_WANT_WRITE )
- {
- printf( " failed\n ! ssl_handshake returned -0x%x\n\n", -ret );
- goto exit;
- }
- }
-
- printf( " ok\n [ Ciphersuite is %s ]\n",
- ssl_get_ciphersuite( &ssl ) );
-
- /*
- * 5. Verify the server certificate
- */
- printf( " . Verifying peer X.509 certificate..." );
-
- if( ( ret = ssl_get_verify_result( &ssl ) ) != 0 )
- {
- printf( " failed\n" );
-
- if( ( ret & BADCERT_EXPIRED ) != 0 )
- printf( " ! server certificate has expired\n" );
-
- if( ( ret & BADCERT_REVOKED ) != 0 )
- printf( " ! server certificate has been revoked\n" );
-
- if( ( ret & BADCERT_CN_MISMATCH ) != 0 )
- printf( " ! CN mismatch (expected CN=%s)\n", opt.server_name );
-
- if( ( ret & BADCERT_NOT_TRUSTED ) != 0 )
- printf( " ! self-signed or not signed by a trusted CA\n" );
-
- printf( "\n" );
- }
- else
- printf( " ok\n" );
-
- printf( " . Peer certificate information ...\n" );
- x509parse_cert_info( (char *) buf, sizeof( buf ) - 1, " ",
- ssl_get_peer_cert( &ssl ) );
- printf( "%s\n", buf );
-
- /*
- * 6. Write the GET request
- */
- printf( " > Write to server:" );
- fflush( stdout );
-
- len = sprintf( (char *) buf, GET_REQUEST, opt.request_page );
-
- while( ( ret = ssl_write( &ssl, buf, len ) ) <= 0 )
- {
- if( ret != POLARSSL_ERR_NET_WANT_READ && ret != POLARSSL_ERR_NET_WANT_WRITE )
- {
- printf( " failed\n ! ssl_write returned -0x%x\n\n", -ret );
- goto exit;
- }
- }
-
- len = ret;
- printf( " %d bytes written\n\n%s", len, (char *) buf );
-
- /*
- * 7. Read the HTTP response
- */
- printf( " < Read from server:" );
- fflush( stdout );
-
- do
- {
- len = sizeof( buf ) - 1;
- memset( buf, 0, sizeof( buf ) );
- ret = ssl_read( &ssl, buf, len );
-
- if( ret == POLARSSL_ERR_NET_WANT_READ || ret == POLARSSL_ERR_NET_WANT_WRITE )
- continue;
-
- if( ret == POLARSSL_ERR_SSL_PEER_CLOSE_NOTIFY )
- break;
-
- if( ret < 0 )
- {
- printf( "failed\n ! ssl_read returned -0x%x\n\n", -ret );
- break;
- }
-
- if( ret == 0 )
- {
- printf("\n\nEOF\n\n");
- break;
- }
-
- len = ret;
- printf( " %d bytes read\n\n%s", len, (char *) buf );
- }
- while( 1 );
-
- ssl_close_notify( &ssl );
-
-exit:
-
-#ifdef POLARSSL_ERROR_C
- if( ret != 0 )
- {
- char error_buf[100];
- error_strerror( ret, error_buf, 100 );
- printf("Last error was: -0x%X - %s\n\n", -ret, error_buf );
- }
-#endif
-
- if( server_fd )
- net_close( server_fd );
- x509_free( &clicert );
- x509_free( &cacert );
- rsa_free( &rsa );
- ssl_free( &ssl );
-
- memset( &ssl, 0, sizeof( ssl ) );
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_ENTROPY_C && POLARSSL_SSL_TLS_C &&
- POLARSSL_SSL_CLI_C && POLARSSL_NET_C && POLARSSL_RSA_C &&
- POLARSSL_CTR_DRBG_C */
diff --git a/Externals/polarssl/programs/ssl/ssl_fork_server.c b/Externals/polarssl/programs/ssl/ssl_fork_server.c
deleted file mode 100644
index 9e3045113a..0000000000
--- a/Externals/polarssl/programs/ssl/ssl_fork_server.c
+++ /dev/null
@@ -1,376 +0,0 @@
-/*
- * SSL server demonstration program using fork() for handling multiple clients
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#if defined(_WIN32)
-#include <windows.h>
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-#include <signal.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/entropy.h"
-#include "polarssl/ctr_drbg.h"
-#include "polarssl/certs.h"
-#include "polarssl/x509.h"
-#include "polarssl/ssl.h"
-#include "polarssl/net.h"
-#include "polarssl/timing.h"
-
-#define HTTP_RESPONSE \
- "HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n" \
- "<h2>PolarSSL Test Server</h2>\r\n" \
- "<p>Successful connection using: %s</p>\r\n"
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_CERTS_C) || \
- !defined(POLARSSL_ENTROPY_C) || !defined(POLARSSL_SSL_TLS_C) || \
- !defined(POLARSSL_SSL_SRV_C) || !defined(POLARSSL_NET_C) || \
- !defined(POLARSSL_RSA_C) || !defined(POLARSSL_CTR_DRBG_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_CERTS_C and/or POLARSSL_ENTROPY_C "
- "and/or POLARSSL_SSL_TLS_C and/or POLARSSL_SSL_SRV_C and/or "
- "POLARSSL_NET_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_CTR_DRBG_C not defined.\n");
- return( 0 );
-}
-#elif defined(_WIN32)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("_WIN32 defined. This application requires fork() and signals "
- "to work correctly.\n");
- return( 0 );
-}
-#else
-
-#define DEBUG_LEVEL 0
-
-void my_debug( void *ctx, int level, const char *str )
-{
- if( level < DEBUG_LEVEL )
- {
- fprintf( (FILE *) ctx, "%s", str );
- fflush( (FILE *) ctx );
- }
-}
-
-int main( int argc, char *argv[] )
-{
- int ret, len, cnt = 0, pid;
- int listen_fd;
- int client_fd;
- unsigned char buf[1024];
- const char *pers = "ssl_fork_server";
-
- entropy_context entropy;
- ctr_drbg_context ctr_drbg;
- ssl_context ssl;
- x509_cert srvcert;
- rsa_context rsa;
-
- ((void) argc);
- ((void) argv);
-
- signal( SIGCHLD, SIG_IGN );
-
- /*
- * 0. Initial seeding of the RNG
- */
- printf( "\n . Initial seeding of the random generator..." );
- fflush( stdout );
-
- entropy_init( &entropy );
- if( ( ret = ctr_drbg_init( &ctr_drbg, entropy_func, &entropy,
- (const unsigned char *) pers,
- strlen( pers ) ) ) != 0 )
- {
- printf( " failed\n ! ctr_drbg_init returned %d\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 1. Load the certificates and private RSA key
- */
- printf( " . Loading the server cert. and key..." );
- fflush( stdout );
-
- memset( &srvcert, 0, sizeof( x509_cert ) );
-
- /*
- * This demonstration program uses embedded test certificates.
- * Instead, you may want to use x509parse_crtfile() to read the
- * server and CA certificates, as well as x509parse_keyfile().
- */
- ret = x509parse_crt( &srvcert, (const unsigned char *) test_srv_crt,
- strlen( test_srv_crt ) );
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_crt returned %d\n\n", ret );
- goto exit;
- }
-
- ret = x509parse_crt( &srvcert, (const unsigned char *) test_ca_crt,
- strlen( test_ca_crt ) );
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_crt returned %d\n\n", ret );
- goto exit;
- }
-
- rsa_init( &rsa, RSA_PKCS_V15, 0 );
- ret = x509parse_key( &rsa, (const unsigned char *) test_srv_key,
- strlen( test_srv_key ), NULL, 0 );
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_key returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 2. Setup the listening TCP socket
- */
- printf( " . Bind on https://localhost:4433/ ..." );
- fflush( stdout );
-
- if( ( ret = net_bind( &listen_fd, NULL, 4433 ) ) != 0 )
- {
- printf( " failed\n ! net_bind returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- while( 1 )
- {
- /*
- * 3. Wait until a client connects
- */
- client_fd = -1;
- memset( &ssl, 0, sizeof( ssl ) );
-
- printf( " . Waiting for a remote connection ..." );
- fflush( stdout );
-
- if( ( ret = net_accept( listen_fd, &client_fd, NULL ) ) != 0 )
- {
- printf( " failed\n ! net_accept returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 3.5. Forking server thread
- */
-
- pid = fork();
-
- printf( " . Forking to handle connection ..." );
- fflush( stdout );
-
- if( pid < 0 )
- {
- printf(" failed\n ! fork returned %d\n\n", pid );
- goto exit;
- }
-
- printf( " ok\n" );
-
- if( pid != 0 )
- {
- if( ( ret = ctr_drbg_reseed( &ctr_drbg,
- (const unsigned char *) "parent",
- 6 ) ) != 0 )
- {
- printf( " failed\n ! ctr_drbg_reseed returned %d\n", ret );
- goto exit;
- }
-
- close( client_fd );
- continue;
- }
-
- close( listen_fd );
-
- /*
- * 4. Setup stuff
- */
- printf( " . Setting up the SSL data...." );
- fflush( stdout );
-
- if( ( ret = ctr_drbg_reseed( &ctr_drbg,
- (const unsigned char *) "child",
- 5 ) ) != 0 )
- {
- printf( " failed\n ! ctr_drbg_reseed returned %d\n", ret );
- goto exit;
- }
-
- if( ( ret = ssl_init( &ssl ) ) != 0 )
- {
- printf( " failed\n ! ssl_init returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- ssl_set_endpoint( &ssl, SSL_IS_SERVER );
- ssl_set_authmode( &ssl, SSL_VERIFY_NONE );
-
- ssl_set_rng( &ssl, ctr_drbg_random, &ctr_drbg );
- ssl_set_dbg( &ssl, my_debug, stdout );
- ssl_set_bio( &ssl, net_recv, &client_fd,
- net_send, &client_fd );
-
- ssl_set_ca_chain( &ssl, srvcert.next, NULL, NULL );
- ssl_set_own_cert( &ssl, &srvcert, &rsa );
-
- /*
- * 5. Handshake
- */
- printf( " . Performing the SSL/TLS handshake..." );
- fflush( stdout );
-
- while( ( ret = ssl_handshake( &ssl ) ) != 0 )
- {
- if( ret != POLARSSL_ERR_NET_WANT_READ && ret != POLARSSL_ERR_NET_WANT_WRITE )
- {
- printf( " failed\n ! ssl_handshake returned %d\n\n", ret );
- goto exit;
- }
- }
-
- printf( " ok\n" );
-
- /*
- * 6. Read the HTTP Request
- */
- printf( " < Read from client:" );
- fflush( stdout );
-
- do
- {
- len = sizeof( buf ) - 1;
- memset( buf, 0, sizeof( buf ) );
- ret = ssl_read( &ssl, buf, len );
-
- if( ret == POLARSSL_ERR_NET_WANT_READ || ret == POLARSSL_ERR_NET_WANT_WRITE )
- continue;
-
- if( ret <= 0 )
- {
- switch( ret )
- {
- case POLARSSL_ERR_SSL_PEER_CLOSE_NOTIFY:
- printf( " connection was closed gracefully\n" );
- break;
-
- case POLARSSL_ERR_NET_CONN_RESET:
- printf( " connection was reset by peer\n" );
- break;
-
- default:
- printf( " ssl_read returned %d\n", ret );
- break;
- }
-
- break;
- }
-
- len = ret;
- printf( " %d bytes read\n\n%s", len, (char *) buf );
- }
- while( 0 );
-
- /*
- * 7. Write the 200 Response
- */
- printf( " > Write to client:" );
- fflush( stdout );
-
- len = sprintf( (char *) buf, HTTP_RESPONSE,
- ssl_get_ciphersuite( &ssl ) );
-
- while( cnt < 100 )
- {
- while( ( ret = ssl_write( &ssl, buf, len ) ) <= 0 )
- {
- if( ret == POLARSSL_ERR_NET_CONN_RESET )
- {
- printf( " failed\n ! peer closed the connection\n\n" );
- goto exit;
- }
-
- if( ret != POLARSSL_ERR_NET_WANT_READ && ret != POLARSSL_ERR_NET_WANT_WRITE )
- {
- printf( " failed\n ! ssl_write returned %d\n\n", ret );
- goto exit;
- }
- }
- len = ret;
- printf( " %d bytes written\n\n%s\n", len, (char *) buf );
-
- m_sleep( 1000 );
- }
-
- ssl_close_notify( &ssl );
- goto exit;
- }
-
-exit:
-
- net_close( client_fd );
- x509_free( &srvcert );
- rsa_free( &rsa );
- ssl_free( &ssl );
-
-#if defined(_WIN32)
- printf( " Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_CERTS_C && POLARSSL_ENTROPY_C &&
- POLARSSL_SSL_TLS_C && POLARSSL_SSL_SRV_C && POLARSSL_NET_C &&
- POLARSSL_RSA_C && POLARSSL_CTR_DRBG_C */
diff --git a/Externals/polarssl/programs/ssl/ssl_mail_client.c b/Externals/polarssl/programs/ssl/ssl_mail_client.c
deleted file mode 100644
index 86b354811b..0000000000
--- a/Externals/polarssl/programs/ssl/ssl_mail_client.c
+++ /dev/null
@@ -1,803 +0,0 @@
-/*
- * SSL client for SMTP servers
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#if defined(_WIN32) || defined(_WIN32_WCE)
-
-#include <winsock2.h>
-#include <windows.h>
-
-#if defined(_WIN32_WCE)
-#pragma comment( lib, "ws2.lib" )
-#else
-#pragma comment( lib, "ws2_32.lib" )
-#endif
-#endif
-
-#include "polarssl/config.h"
-
-#include "polarssl/base64.h"
-#include "polarssl/error.h"
-#include "polarssl/net.h"
-#include "polarssl/ssl.h"
-#include "polarssl/entropy.h"
-#include "polarssl/ctr_drbg.h"
-#include "polarssl/certs.h"
-#include "polarssl/x509.h"
-
-#define DFL_SERVER_NAME "localhost"
-#define DFL_SERVER_PORT 465
-#define DFL_USER_NAME "user"
-#define DFL_USER_PWD "password"
-#define DFL_MAIL_FROM ""
-#define DFL_MAIL_TO ""
-#define DFL_DEBUG_LEVEL 0
-#define DFL_CA_FILE ""
-#define DFL_CRT_FILE ""
-#define DFL_KEY_FILE ""
-#define DFL_FORCE_CIPHER 0
-#define DFL_MODE 0
-#define DFL_AUTHENTICATION 0
-
-#define MODE_SSL_TLS 0
-#define MODE_STARTTLS 0
-
-/*
- * global options
- */
-struct options
-{
- const char *server_name; /* hostname of the server (client only) */
- int server_port; /* port on which the ssl service runs */
- int debug_level; /* level of debugging */
- int authentication; /* if authentication is required */
- int mode; /* SSL/TLS (0) or STARTTLS (1) */
- const char *user_name; /* username to use for authentication */
- const char *user_pwd; /* password to use for authentication */
- const char *mail_from; /* E-Mail address to use as sender */
- const char *mail_to; /* E-Mail address to use as recipient */
- const char *ca_file; /* the file with the CA certificate(s) */
- const char *crt_file; /* the file with the client certificate */
- const char *key_file; /* the file with the client key */
- int force_ciphersuite[2]; /* protocol/ciphersuite to use, or all */
-} opt;
-
-void my_debug( void *ctx, int level, const char *str )
-{
- if( level < opt.debug_level )
- {
- fprintf( (FILE *) ctx, "%s", str );
- fflush( (FILE *) ctx );
- }
-}
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_ENTROPY_C) || \
- !defined(POLARSSL_SSL_TLS_C) || !defined(POLARSSL_SSL_CLI_C) || \
- !defined(POLARSSL_NET_C) || !defined(POLARSSL_RSA_C) || \
- !defined(POLARSSL_CTR_DRBG_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_ENTROPY_C and/or "
- "POLARSSL_SSL_TLS_C and/or POLARSSL_SSL_CLI_C and/or "
- "POLARSSL_NET_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_CTR_DRBG_C not defined.\n");
- return( 0 );
-}
-#else
-int do_handshake( ssl_context *ssl, struct options *opt )
-{
- int ret;
- unsigned char buf[1024];
- memset(buf, 0, 1024);
-
- /*
- * 4. Handshake
- */
- printf( " . Performing the SSL/TLS handshake..." );
- fflush( stdout );
-
- while( ( ret = ssl_handshake( ssl ) ) != 0 )
- {
- if( ret != POLARSSL_ERR_NET_WANT_READ && ret != POLARSSL_ERR_NET_WANT_WRITE )
- {
-#if defined(POLARSSL_ERROR_C)
- error_strerror( ret, (char *) buf, 1024 );
-#endif
- printf( " failed\n ! ssl_handshake returned %d: %s\n\n", ret, buf );
- return( -1 );
- }
- }
-
- printf( " ok\n [ Ciphersuite is %s ]\n",
- ssl_get_ciphersuite( ssl ) );
-
- /*
- * 5. Verify the server certificate
- */
- printf( " . Verifying peer X.509 certificate..." );
-
- if( ( ret = ssl_get_verify_result( ssl ) ) != 0 )
- {
- printf( " failed\n" );
-
- if( ( ret & BADCERT_EXPIRED ) != 0 )
- printf( " ! server certificate has expired\n" );
-
- if( ( ret & BADCERT_REVOKED ) != 0 )
- printf( " ! server certificate has been revoked\n" );
-
- if( ( ret & BADCERT_CN_MISMATCH ) != 0 )
- printf( " ! CN mismatch (expected CN=%s)\n", opt->server_name );
-
- if( ( ret & BADCERT_NOT_TRUSTED ) != 0 )
- printf( " ! self-signed or not signed by a trusted CA\n" );
-
- printf( "\n" );
- }
- else
- printf( " ok\n" );
-
- printf( " . Peer certificate information ...\n" );
- x509parse_cert_info( (char *) buf, sizeof( buf ) - 1, " ",
- ssl_get_peer_cert( ssl ) );
- printf( "%s\n", buf );
-
- return( 0 );
-}
-
-int write_ssl_data( ssl_context *ssl, unsigned char *buf, size_t len )
-{
- int ret;
-
- printf("\n%s", buf);
- while( len && ( ret = ssl_write( ssl, buf, len ) ) <= 0 )
- {
- if( ret != POLARSSL_ERR_NET_WANT_READ && ret != POLARSSL_ERR_NET_WANT_WRITE )
- {
- printf( " failed\n ! ssl_write returned %d\n\n", ret );
- return -1;
- }
- }
-
- return( 0 );
-}
-
-int write_ssl_and_get_response( ssl_context *ssl, unsigned char *buf, size_t len )
-{
- int ret;
- unsigned char data[128];
- char code[4];
- size_t i, idx = 0;
-
- printf("\n%s", buf);
- while( len && ( ret = ssl_write( ssl, buf, len ) ) <= 0 )
- {
- if( ret != POLARSSL_ERR_NET_WANT_READ && ret != POLARSSL_ERR_NET_WANT_WRITE )
- {
- printf( " failed\n ! ssl_write returned %d\n\n", ret );
- return -1;
- }
- }
-
- do
- {
- len = sizeof( data ) - 1;
- memset( data, 0, sizeof( data ) );
- ret = ssl_read( ssl, data, len );
-
- if( ret == POLARSSL_ERR_NET_WANT_READ || ret == POLARSSL_ERR_NET_WANT_WRITE )
- continue;
-
- if( ret == POLARSSL_ERR_SSL_PEER_CLOSE_NOTIFY )
- return -1;
-
- if( ret <= 0 )
- {
- printf( "failed\n ! ssl_read returned %d\n\n", ret );
- return -1;
- }
-
- printf("\n%s", data);
- len = ret;
- for( i = 0; i < len; i++ )
- {
- if( data[i] != '\n' )
- {
- if( idx < 4 )
- code[ idx++ ] = data[i];
- continue;
- }
-
- if( idx == 4 && code[0] >= '0' && code[0] <= '9' && code[3] == ' ' )
- {
- code[3] = '\0';
- return atoi( code );
- }
-
- idx = 0;
- }
- }
- while( 1 );
-}
-
-int write_and_get_response( int sock_fd, unsigned char *buf, size_t len )
-{
- int ret;
- unsigned char data[128];
- char code[4];
- size_t i, idx = 0;
-
- printf("\n%s", buf);
- if( len && ( ret = write( sock_fd, buf, len ) ) <= 0 )
- {
- printf( " failed\n ! ssl_write returned %d\n\n", ret );
- return -1;
- }
-
- do
- {
- len = sizeof( data ) - 1;
- memset( data, 0, sizeof( data ) );
- ret = read( sock_fd, data, len );
-
- if( ret <= 0 )
- {
- printf( "failed\n ! read returned %d\n\n", ret );
- return -1;
- }
-
- printf("\n%s", data);
- len = ret;
- for( i = 0; i < len; i++ )
- {
- if( data[i] != '\n' )
- {
- if( idx < 4 )
- code[ idx++ ] = data[i];
- continue;
- }
-
- if( idx == 4 && code[0] >= '0' && code[0] <= '9' && code[3] == ' ' )
- {
- code[3] = '\0';
- return atoi( code );
- }
-
- idx = 0;
- }
- }
- while( 1 );
-}
-
-#if defined(POLARSSL_BASE64_C)
-#define USAGE_AUTH \
- " authentication=%%d default: 0 (disabled)\n" \
- " user_name=%%s default: \"user\"\n" \
- " user_pwd=%%s default: \"password\"\n"
-#else
-#define USAGE_AUTH \
- " authentication options disabled. (Require POLARSSL_BASE64_C)\n"
-#endif /* POLARSSL_BASE64_C */
-
-#if defined(POLARSSL_FS_IO)
-#define USAGE_IO \
- " ca_file=%%s default: \"\" (pre-loaded)\n" \
- " crt_file=%%s default: \"\" (pre-loaded)\n" \
- " key_file=%%s default: \"\" (pre-loaded)\n"
-#else
-#define USAGE_IO \
- " No file operations available (POLARSSL_FS_IO not defined)\n"
-#endif /* POLARSSL_FS_IO */
-
-#define USAGE \
- "\n usage: ssl_mail_client param=<>...\n" \
- "\n acceptable parameters:\n" \
- " server_name=%%s default: localhost\n" \
- " server_port=%%d default: 4433\n" \
- " debug_level=%%d default: 0 (disabled)\n" \
- " mode=%%d default: 0 (SSL/TLS) (1 for STARTTLS)\n" \
- USAGE_AUTH \
- " mail_from=%%s default: \"\"\n" \
- " mail_to=%%s default: \"\"\n" \
- USAGE_IO \
- " force_ciphersuite=<name> default: all enabled\n"\
- " acceptable ciphersuite names:\n"
-
-int main( int argc, char *argv[] )
-{
- int ret = 0, len, server_fd;
- unsigned char buf[1024];
-#if defined(POLARSSL_BASE64_C)
- unsigned char base[1024];
-#endif
- char hostname[32];
- const char *pers = "ssl_mail_client";
-
- entropy_context entropy;
- ctr_drbg_context ctr_drbg;
- ssl_context ssl;
- x509_cert cacert;
- x509_cert clicert;
- rsa_context rsa;
- int i;
- size_t n;
- char *p, *q;
- const int *list;
-
- /*
- * Make sure memory references are valid.
- */
- server_fd = 0;
- memset( &cacert, 0, sizeof( x509_cert ) );
- memset( &clicert, 0, sizeof( x509_cert ) );
- memset( &rsa, 0, sizeof( rsa_context ) );
-
- if( argc == 0 )
- {
- usage:
- printf( USAGE );
-
- list = ssl_list_ciphersuites();
- while( *list )
- {
- printf(" %s\n", ssl_get_ciphersuite_name( *list ) );
- list++;
- }
- printf("\n");
- goto exit;
- }
-
- opt.server_name = DFL_SERVER_NAME;
- opt.server_port = DFL_SERVER_PORT;
- opt.debug_level = DFL_DEBUG_LEVEL;
- opt.authentication = DFL_AUTHENTICATION;
- opt.mode = DFL_MODE;
- opt.user_name = DFL_USER_NAME;
- opt.user_pwd = DFL_USER_PWD;
- opt.mail_from = DFL_MAIL_FROM;
- opt.mail_to = DFL_MAIL_TO;
- opt.ca_file = DFL_CA_FILE;
- opt.crt_file = DFL_CRT_FILE;
- opt.key_file = DFL_KEY_FILE;
- opt.force_ciphersuite[0]= DFL_FORCE_CIPHER;
-
- for( i = 1; i < argc; i++ )
- {
- p = argv[i];
- if( ( q = strchr( p, '=' ) ) == NULL )
- goto usage;
- *q++ = '\0';
-
- if( strcmp( p, "server_name" ) == 0 )
- opt.server_name = q;
- else if( strcmp( p, "server_port" ) == 0 )
- {
- opt.server_port = atoi( q );
- if( opt.server_port < 1 || opt.server_port > 65535 )
- goto usage;
- }
- else if( strcmp( p, "debug_level" ) == 0 )
- {
- opt.debug_level = atoi( q );
- if( opt.debug_level < 0 || opt.debug_level > 65535 )
- goto usage;
- }
- else if( strcmp( p, "authentication" ) == 0 )
- {
- opt.authentication = atoi( q );
- if( opt.authentication < 0 || opt.authentication > 1 )
- goto usage;
- }
- else if( strcmp( p, "mode" ) == 0 )
- {
- opt.mode = atoi( q );
- if( opt.mode < 0 || opt.mode > 1 )
- goto usage;
- }
- else if( strcmp( p, "user_name" ) == 0 )
- opt.user_name = q;
- else if( strcmp( p, "user_pwd" ) == 0 )
- opt.user_pwd = q;
- else if( strcmp( p, "mail_from" ) == 0 )
- opt.mail_from = q;
- else if( strcmp( p, "mail_to" ) == 0 )
- opt.mail_to = q;
- else if( strcmp( p, "ca_file" ) == 0 )
- opt.ca_file = q;
- else if( strcmp( p, "crt_file" ) == 0 )
- opt.crt_file = q;
- else if( strcmp( p, "key_file" ) == 0 )
- opt.key_file = q;
- else if( strcmp( p, "force_ciphersuite" ) == 0 )
- {
- opt.force_ciphersuite[0] = -1;
-
- opt.force_ciphersuite[0] = ssl_get_ciphersuite_id( q );
-
- if( opt.force_ciphersuite[0] <= 0 )
- goto usage;
-
- opt.force_ciphersuite[1] = 0;
- }
- else
- goto usage;
- }
-
- /*
- * 0. Initialize the RNG and the session data
- */
- printf( "\n . Seeding the random number generator..." );
- fflush( stdout );
-
- entropy_init( &entropy );
- if( ( ret = ctr_drbg_init( &ctr_drbg, entropy_func, &entropy,
- (const unsigned char *) pers,
- strlen( pers ) ) ) != 0 )
- {
- printf( " failed\n ! ctr_drbg_init returned %d\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 1.1. Load the trusted CA
- */
- printf( " . Loading the CA root certificate ..." );
- fflush( stdout );
-
-#if defined(POLARSSL_FS_IO)
- if( strlen( opt.ca_file ) )
- ret = x509parse_crtfile( &cacert, opt.ca_file );
- else
-#endif
-#if defined(POLARSSL_CERTS_C)
- ret = x509parse_crt( &cacert, (const unsigned char *) test_ca_crt,
- strlen( test_ca_crt ) );
-#else
- {
- ret = 1;
- printf("POLARSSL_CERTS_C not defined.");
- }
-#endif
- if( ret < 0 )
- {
- printf( " failed\n ! x509parse_crt returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok (%d skipped)\n", ret );
-
- /*
- * 1.2. Load own certificate and private key
- *
- * (can be skipped if client authentication is not required)
- */
- printf( " . Loading the client cert. and key..." );
- fflush( stdout );
-
-#if defined(POLARSSL_FS_IO)
- if( strlen( opt.crt_file ) )
- ret = x509parse_crtfile( &clicert, opt.crt_file );
- else
-#endif
-#if defined(POLARSSL_CERTS_C)
- ret = x509parse_crt( &clicert, (const unsigned char *) test_cli_crt,
- strlen( test_cli_crt ) );
-#else
- {
- ret = -1;
- printf("POLARSSL_CERTS_C not defined.");
- }
-#endif
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_crt returned %d\n\n", ret );
- goto exit;
- }
-
-#if defined(POLARSSL_FS_IO)
- if( strlen( opt.key_file ) )
- ret = x509parse_keyfile( &rsa, opt.key_file, "" );
- else
-#endif
-#if defined(POLARSSL_CERTS_C)
- ret = x509parse_key( &rsa, (const unsigned char *) test_cli_key,
- strlen( test_cli_key ), NULL, 0 );
-#else
- {
- ret = -1;
- printf("POLARSSL_CERTS_C not defined.");
- }
-#endif
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_key returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 2. Start the connection
- */
- printf( " . Connecting to tcp/%s/%-4d...", opt.server_name,
- opt.server_port );
- fflush( stdout );
-
- if( ( ret = net_connect( &server_fd, opt.server_name,
- opt.server_port ) ) != 0 )
- {
- printf( " failed\n ! net_connect returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 3. Setup stuff
- */
- printf( " . Setting up the SSL/TLS structure..." );
- fflush( stdout );
-
- if( ( ret = ssl_init( &ssl ) ) != 0 )
- {
- printf( " failed\n ! ssl_init returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- ssl_set_endpoint( &ssl, SSL_IS_CLIENT );
- ssl_set_authmode( &ssl, SSL_VERIFY_OPTIONAL );
-
- ssl_set_rng( &ssl, ctr_drbg_random, &ctr_drbg );
- ssl_set_dbg( &ssl, my_debug, stdout );
- ssl_set_bio( &ssl, net_recv, &server_fd,
- net_send, &server_fd );
-
- if( opt.force_ciphersuite[0] != DFL_FORCE_CIPHER )
- ssl_set_ciphersuites( &ssl, opt.force_ciphersuite );
-
- ssl_set_ca_chain( &ssl, &cacert, NULL, opt.server_name );
- ssl_set_own_cert( &ssl, &clicert, &rsa );
-
- ssl_set_hostname( &ssl, opt.server_name );
-
- if( opt.mode == MODE_SSL_TLS )
- {
- if( do_handshake( &ssl, &opt ) != 0 )
- goto exit;
-
- printf( " > Get header from server:" );
- fflush( stdout );
-
- ret = write_ssl_and_get_response( &ssl, buf, 0 );
- if( ret < 200 || ret > 299 )
- {
- printf( " failed\n ! server responded with %d\n\n", ret );
- goto exit;
- }
-
- printf(" ok\n" );
-
- printf( " > Write EHLO to server:" );
- fflush( stdout );
-
- gethostname( hostname, 32 );
- len = sprintf( (char *) buf, "EHLO %s\n", hostname );
- ret = write_ssl_and_get_response( &ssl, buf, len );
- if( ret < 200 || ret > 299 )
- {
- printf( " failed\n ! server responded with %d\n\n", ret );
- goto exit;
- }
- }
- else
- {
- printf( " > Get header from server:" );
- fflush( stdout );
-
- ret = write_and_get_response( server_fd, buf, 0 );
- if( ret < 200 || ret > 299 )
- {
- printf( " failed\n ! server responded with %d\n\n", ret );
- goto exit;
- }
-
- printf(" ok\n" );
-
- printf( " > Write EHLO to server:" );
- fflush( stdout );
-
- gethostname( hostname, 32 );
- len = sprintf( (char *) buf, "EHLO %s\n", hostname );
- ret = write_and_get_response( server_fd, buf, len );
- if( ret < 200 || ret > 299 )
- {
- printf( " failed\n ! server responded with %d\n\n", ret );
- goto exit;
- }
-
- printf(" ok\n" );
-
- printf( " > Write STARTTLS to server:" );
- fflush( stdout );
-
- gethostname( hostname, 32 );
- len = sprintf( (char *) buf, "STARTTLS\n" );
- ret = write_and_get_response( server_fd, buf, len );
- if( ret < 200 || ret > 299 )
- {
- printf( " failed\n ! server responded with %d\n\n", ret );
- goto exit;
- }
-
- printf(" ok\n" );
-
- if( do_handshake( &ssl, &opt ) != 0 )
- goto exit;
- }
-
-#if defined(POLARSSL_BASE64_C)
- if( opt.authentication )
- {
- printf( " > Write AUTH LOGIN to server:" );
- fflush( stdout );
-
- len = sprintf( (char *) buf, "AUTH LOGIN\n" );
- ret = write_ssl_and_get_response( &ssl, buf, len );
- if( ret < 200 || ret > 399 )
- {
- printf( " failed\n ! server responded with %d\n\n", ret );
- goto exit;
- }
-
- printf(" ok\n" );
-
- printf( " > Write username to server: %s", opt.user_name );
- fflush( stdout );
-
- n = sizeof( buf );
- len = base64_encode( base, &n, (const unsigned char *) opt.user_name,
- strlen( opt.user_name ) );
- len = sprintf( (char *) buf, "%s\n", base );
- ret = write_ssl_and_get_response( &ssl, buf, len );
- if( ret < 300 || ret > 399 )
- {
- printf( " failed\n ! server responded with %d\n\n", ret );
- goto exit;
- }
-
- printf(" ok\n" );
-
- printf( " > Write password to server: %s", opt.user_pwd );
- fflush( stdout );
-
- len = base64_encode( base, &n, (const unsigned char *) opt.user_pwd,
- strlen( opt.user_pwd ) );
- len = sprintf( (char *) buf, "%s\n", base );
- ret = write_ssl_and_get_response( &ssl, buf, len );
- if( ret < 200 || ret > 399 )
- {
- printf( " failed\n ! server responded with %d\n\n", ret );
- goto exit;
- }
-
- printf(" ok\n" );
- }
-#endif
-
- printf( " > Write MAIL FROM to server:" );
- fflush( stdout );
-
- len = sprintf( (char *) buf, "MAIL FROM:<%s>\n", opt.mail_from );
- ret = write_ssl_and_get_response( &ssl, buf, len );
- if( ret < 200 || ret > 299 )
- {
- printf( " failed\n ! server responded with %d\n\n", ret );
- goto exit;
- }
-
- printf(" ok\n" );
-
- printf( " > Write RCPT TO to server:" );
- fflush( stdout );
-
- len = sprintf( (char *) buf, "RCPT TO:<%s>\n", opt.mail_to );
- ret = write_ssl_and_get_response( &ssl, buf, len );
- if( ret < 200 || ret > 299 )
- {
- printf( " failed\n ! server responded with %d\n\n", ret );
- goto exit;
- }
-
- printf(" ok\n" );
-
- printf( " > Write DATA to server:" );
- fflush( stdout );
-
- len = sprintf( (char *) buf, "DATA\n" );
- ret = write_ssl_and_get_response( &ssl, buf, len );
- if( ret < 300 || ret > 399 )
- {
- printf( " failed\n ! server responded with %d\n\n", ret );
- goto exit;
- }
-
- printf(" ok\n" );
-
- printf( " > Write content to server:" );
- fflush( stdout );
-
- len = sprintf( (char *) buf, "From: %s\nSubject: PolarSSL Test mail\n\n"
- "This is a simple test mail from the "
- "PolarSSL mail client example.\n"
- "\n"
- "Enjoy!", opt.mail_from );
- ret = write_ssl_data( &ssl, buf, len );
-
- len = sprintf( (char *) buf, "\r\n.\r\n");
- ret = write_ssl_and_get_response( &ssl, buf, len );
- if( ret < 200 || ret > 299 )
- {
- printf( " failed\n ! server responded with %d\n\n", ret );
- goto exit;
- }
-
- printf(" ok\n" );
-
- ssl_close_notify( &ssl );
-
-exit:
-
- if( server_fd )
- net_close( server_fd );
- x509_free( &clicert );
- x509_free( &cacert );
- rsa_free( &rsa );
- ssl_free( &ssl );
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_ENTROPY_C && POLARSSL_SSL_TLS_C &&
- POLARSSL_SSL_CLI_C && POLARSSL_NET_C && POLARSSL_RSA_C **
- POLARSSL_CTR_DRBG_C */
diff --git a/Externals/polarssl/programs/ssl/ssl_server.c b/Externals/polarssl/programs/ssl/ssl_server.c
deleted file mode 100644
index 78d9065d66..0000000000
--- a/Externals/polarssl/programs/ssl/ssl_server.c
+++ /dev/null
@@ -1,381 +0,0 @@
-/*
- * SSL server demonstration program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#if defined(_WIN32)
-#include <windows.h>
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/entropy.h"
-#include "polarssl/ctr_drbg.h"
-#include "polarssl/certs.h"
-#include "polarssl/x509.h"
-#include "polarssl/ssl.h"
-#include "polarssl/net.h"
-#include "polarssl/error.h"
-
-#if defined(POLARSSL_SSL_CACHE_C)
-#include "polarssl/ssl_cache.h"
-#endif
-
-#define HTTP_RESPONSE \
- "HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n" \
- "<h2>PolarSSL Test Server</h2>\r\n" \
- "<p>Successful connection using: %s</p>\r\n"
-
-#define DEBUG_LEVEL 0
-
-void my_debug( void *ctx, int level, const char *str )
-{
- if( level < DEBUG_LEVEL )
- {
- fprintf( (FILE *) ctx, "%s", str );
- fflush( (FILE *) ctx );
- }
-}
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_CERTS_C) || \
- !defined(POLARSSL_ENTROPY_C) || !defined(POLARSSL_SSL_TLS_C) || \
- !defined(POLARSSL_SSL_SRV_C) || !defined(POLARSSL_NET_C) || \
- !defined(POLARSSL_RSA_C) || !defined(POLARSSL_CTR_DRBG_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_CERTS_C and/or POLARSSL_ENTROPY_C "
- "and/or POLARSSL_SSL_TLS_C and/or POLARSSL_SSL_SRV_C and/or "
- "POLARSSL_NET_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_CTR_DRBG_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int ret, len;
- int listen_fd;
- int client_fd = -1;
- unsigned char buf[1024];
- const char *pers = "ssl_server";
-
- entropy_context entropy;
- ctr_drbg_context ctr_drbg;
- ssl_context ssl;
- x509_cert srvcert;
- rsa_context rsa;
-#if defined(POLARSSL_SSL_CACHE_C)
- ssl_cache_context cache;
-#endif
-
- ((void) argc);
- ((void) argv);
-
-#if defined(POLARSSL_SSL_CACHE_C)
- ssl_cache_init( &cache );
-#endif
-
- /*
- * 1. Load the certificates and private RSA key
- */
- printf( "\n . Loading the server cert. and key..." );
- fflush( stdout );
-
- memset( &srvcert, 0, sizeof( x509_cert ) );
-
- /*
- * This demonstration program uses embedded test certificates.
- * Instead, you may want to use x509parse_crtfile() to read the
- * server and CA certificates, as well as x509parse_keyfile().
- */
- ret = x509parse_crt( &srvcert, (const unsigned char *) test_srv_crt,
- strlen( test_srv_crt ) );
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_crt returned %d\n\n", ret );
- goto exit;
- }
-
- ret = x509parse_crt( &srvcert, (const unsigned char *) test_ca_crt,
- strlen( test_ca_crt ) );
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_crt returned %d\n\n", ret );
- goto exit;
- }
-
- rsa_init( &rsa, RSA_PKCS_V15, 0 );
- ret = x509parse_key( &rsa, (const unsigned char *) test_srv_key,
- strlen( test_srv_key ), NULL, 0 );
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_key returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 2. Setup the listening TCP socket
- */
- printf( " . Bind on https://localhost:4433/ ..." );
- fflush( stdout );
-
- if( ( ret = net_bind( &listen_fd, NULL, 4433 ) ) != 0 )
- {
- printf( " failed\n ! net_bind returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 3. Seed the RNG
- */
- printf( " . Seeding the random number generator..." );
- fflush( stdout );
-
- entropy_init( &entropy );
- if( ( ret = ctr_drbg_init( &ctr_drbg, entropy_func, &entropy,
- (const unsigned char *) pers,
- strlen( pers ) ) ) != 0 )
- {
- printf( " failed\n ! ctr_drbg_init returned %d\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 4. Setup stuff
- */
- printf( " . Setting up the SSL data...." );
- fflush( stdout );
-
- if( ( ret = ssl_init( &ssl ) ) != 0 )
- {
- printf( " failed\n ! ssl_init returned %d\n\n", ret );
- goto exit;
- }
-
- ssl_set_endpoint( &ssl, SSL_IS_SERVER );
- ssl_set_authmode( &ssl, SSL_VERIFY_NONE );
-
- ssl_set_rng( &ssl, ctr_drbg_random, &ctr_drbg );
- ssl_set_dbg( &ssl, my_debug, stdout );
-
-#if defined(POLARSSL_SSL_CACHE_C)
- ssl_set_session_cache( &ssl, ssl_cache_get, &cache,
- ssl_cache_set, &cache );
-#endif
-
- ssl_set_ca_chain( &ssl, srvcert.next, NULL, NULL );
- ssl_set_own_cert( &ssl, &srvcert, &rsa );
-
- printf( " ok\n" );
-
-reset:
-#ifdef POLARSSL_ERROR_C
- if( ret != 0 )
- {
- char error_buf[100];
- error_strerror( ret, error_buf, 100 );
- printf("Last error was: %d - %s\n\n", ret, error_buf );
- }
-#endif
-
- if( client_fd != -1 )
- net_close( client_fd );
-
- ssl_session_reset( &ssl );
-
- /*
- * 3. Wait until a client connects
- */
-#if defined(_WIN32_WCE)
- {
- SHELLEXECUTEINFO sei;
-
- ZeroMemory( &sei, sizeof( SHELLEXECUTEINFO ) );
-
- sei.cbSize = sizeof( SHELLEXECUTEINFO );
- sei.fMask = 0;
- sei.hwnd = 0;
- sei.lpVerb = _T( "open" );
- sei.lpFile = _T( "https://localhost:4433/" );
- sei.lpParameters = NULL;
- sei.lpDirectory = NULL;
- sei.nShow = SW_SHOWNORMAL;
-
- ShellExecuteEx( &sei );
- }
-#elif defined(_WIN32)
- ShellExecute( NULL, "open", "https://localhost:4433/",
- NULL, NULL, SW_SHOWNORMAL );
-#endif
-
- client_fd = -1;
-
- printf( " . Waiting for a remote connection ..." );
- fflush( stdout );
-
- if( ( ret = net_accept( listen_fd, &client_fd, NULL ) ) != 0 )
- {
- printf( " failed\n ! net_accept returned %d\n\n", ret );
- goto exit;
- }
-
- ssl_set_bio( &ssl, net_recv, &client_fd,
- net_send, &client_fd );
-
- printf( " ok\n" );
-
- /*
- * 5. Handshake
- */
- printf( " . Performing the SSL/TLS handshake..." );
- fflush( stdout );
-
- while( ( ret = ssl_handshake( &ssl ) ) != 0 )
- {
- if( ret != POLARSSL_ERR_NET_WANT_READ && ret != POLARSSL_ERR_NET_WANT_WRITE )
- {
- printf( " failed\n ! ssl_handshake returned %d\n\n", ret );
- goto reset;
- }
- }
-
- printf( " ok\n" );
-
- /*
- * 6. Read the HTTP Request
- */
- printf( " < Read from client:" );
- fflush( stdout );
-
- do
- {
- len = sizeof( buf ) - 1;
- memset( buf, 0, sizeof( buf ) );
- ret = ssl_read( &ssl, buf, len );
-
- if( ret == POLARSSL_ERR_NET_WANT_READ || ret == POLARSSL_ERR_NET_WANT_WRITE )
- continue;
-
- if( ret <= 0 )
- {
- switch( ret )
- {
- case POLARSSL_ERR_SSL_PEER_CLOSE_NOTIFY:
- printf( " connection was closed gracefully\n" );
- break;
-
- case POLARSSL_ERR_NET_CONN_RESET:
- printf( " connection was reset by peer\n" );
- break;
-
- default:
- printf( " ssl_read returned -0x%x\n", -ret );
- break;
- }
-
- break;
- }
-
- len = ret;
- printf( " %d bytes read\n\n%s", len, (char *) buf );
-
- if( ret > 0 )
- break;
- }
- while( 1 );
-
- /*
- * 7. Write the 200 Response
- */
- printf( " > Write to client:" );
- fflush( stdout );
-
- len = sprintf( (char *) buf, HTTP_RESPONSE,
- ssl_get_ciphersuite( &ssl ) );
-
- while( ( ret = ssl_write( &ssl, buf, len ) ) <= 0 )
- {
- if( ret == POLARSSL_ERR_NET_CONN_RESET )
- {
- printf( " failed\n ! peer closed the connection\n\n" );
- goto reset;
- }
-
- if( ret != POLARSSL_ERR_NET_WANT_READ && ret != POLARSSL_ERR_NET_WANT_WRITE )
- {
- printf( " failed\n ! ssl_write returned %d\n\n", ret );
- goto exit;
- }
- }
-
- len = ret;
- printf( " %d bytes written\n\n%s\n", len, (char *) buf );
-
- ret = 0;
- goto reset;
-
-exit:
-
-#ifdef POLARSSL_ERROR_C
- if( ret != 0 )
- {
- char error_buf[100];
- error_strerror( ret, error_buf, 100 );
- printf("Last error was: %d - %s\n\n", ret, error_buf );
- }
-#endif
-
- net_close( client_fd );
- x509_free( &srvcert );
- rsa_free( &rsa );
- ssl_free( &ssl );
-#if defined(POLARSSL_SSL_CACHE_C)
- ssl_cache_free( &cache );
-#endif
-
-#if defined(_WIN32)
- printf( " Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_CERTS_C && POLARSSL_ENTROPY_C &&
- POLARSSL_SSL_TLS_C && POLARSSL_SSL_SRV_C && POLARSSL_NET_C &&
- POLARSSL_RSA_C && POLARSSL_CTR_DRBG_C */
diff --git a/Externals/polarssl/programs/ssl/ssl_server2.c b/Externals/polarssl/programs/ssl/ssl_server2.c
deleted file mode 100644
index a37a077ebd..0000000000
--- a/Externals/polarssl/programs/ssl/ssl_server2.c
+++ /dev/null
@@ -1,742 +0,0 @@
-/*
- * SSL client with options
- *
- * Copyright (C) 2006-2012, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#if defined(_WIN32)
-#include <windows.h>
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/net.h"
-#include "polarssl/ssl.h"
-#include "polarssl/entropy.h"
-#include "polarssl/ctr_drbg.h"
-#include "polarssl/certs.h"
-#include "polarssl/x509.h"
-#include "polarssl/error.h"
-
-#if defined(POLARSSL_SSL_CACHE_C)
-#include "polarssl/ssl_cache.h"
-#endif
-
-#define DFL_SERVER_PORT 4433
-#define DFL_REQUEST_PAGE "/"
-#define DFL_DEBUG_LEVEL 0
-#define DFL_CA_FILE ""
-#define DFL_CA_PATH ""
-#define DFL_CRT_FILE ""
-#define DFL_KEY_FILE ""
-#define DFL_FORCE_CIPHER 0
-#define DFL_RENEGOTIATION SSL_RENEGOTIATION_ENABLED
-#define DFL_ALLOW_LEGACY SSL_LEGACY_NO_RENEGOTIATION
-#define DFL_MIN_VERSION -1
-#define DFL_AUTH_MODE SSL_VERIFY_OPTIONAL
-
-#define HTTP_RESPONSE \
- "HTTP/1.0 200 OK\r\nContent-Type: text/html\r\n\r\n" \
- "<h2>PolarSSL Test Server</h2>\r\n" \
- "<p>Successful connection using: %s</p>\r\n"
-
-/*
- * global options
- */
-struct options
-{
- int server_port; /* port on which the ssl service runs */
- int debug_level; /* level of debugging */
- const char *ca_file; /* the file with the CA certificate(s) */
- const char *ca_path; /* the path with the CA certificate(s) reside */
- const char *crt_file; /* the file with the client certificate */
- const char *key_file; /* the file with the client key */
- int force_ciphersuite[2]; /* protocol/ciphersuite to use, or all */
- int renegotiation; /* enable / disable renegotiation */
- int allow_legacy; /* allow legacy renegotiation */
- int min_version; /* minimum protocol version accepted */
- int auth_mode; /* verify mode for connection */
-} opt;
-
-void my_debug( void *ctx, int level, const char *str )
-{
- if( level < opt.debug_level )
- {
- fprintf( (FILE *) ctx, "%s", str );
- fflush( (FILE *) ctx );
- }
-}
-
-/*
- * Sorted by order of preference
- */
-int my_ciphersuites[] =
-{
-#if defined(POLARSSL_DHM_C)
-#if defined(POLARSSL_AES_C)
-#if defined(POLARSSL_SHA2_C)
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,
-#endif /* POLARSSL_SHA2_C */
-#if defined(POLARSSL_GCM_C) && defined(POLARSSL_SHA4_C)
- TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,
-#endif
- TLS_DHE_RSA_WITH_AES_256_CBC_SHA,
-#if defined(POLARSSL_SHA2_C)
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,
-#endif
-#if defined(POLARSSL_GCM_C) && defined(POLARSSL_SHA2_C)
- TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,
-#endif
- TLS_DHE_RSA_WITH_AES_128_CBC_SHA,
-#endif
-#if defined(POLARSSL_CAMELLIA_C)
-#if defined(POLARSSL_SHA2_C)
- TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256,
-#endif /* POLARSSL_SHA2_C */
- TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA,
-#if defined(POLARSSL_SHA2_C)
- TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256,
-#endif /* POLARSSL_SHA2_C */
- TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA,
-#endif
-#if defined(POLARSSL_DES_C)
- TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA,
-#endif
-#endif
-
-#if defined(POLARSSL_AES_C)
-#if defined(POLARSSL_SHA2_C)
- TLS_RSA_WITH_AES_256_CBC_SHA256,
-#endif /* POLARSSL_SHA2_C */
-#if defined(POLARSSL_GCM_C) && defined(POLARSSL_SHA4_C)
- TLS_RSA_WITH_AES_256_GCM_SHA384,
-#endif /* POLARSSL_SHA2_C */
- TLS_RSA_WITH_AES_256_CBC_SHA,
-#endif
-#if defined(POLARSSL_CAMELLIA_C)
-#if defined(POLARSSL_SHA2_C)
- TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256,
-#endif /* POLARSSL_SHA2_C */
- TLS_RSA_WITH_CAMELLIA_256_CBC_SHA,
-#endif
-#if defined(POLARSSL_AES_C)
-#if defined(POLARSSL_SHA2_C)
- TLS_RSA_WITH_AES_128_CBC_SHA256,
-#endif /* POLARSSL_SHA2_C */
-#if defined(POLARSSL_GCM_C) && defined(POLARSSL_SHA2_C)
- TLS_RSA_WITH_AES_128_GCM_SHA256,
-#endif /* POLARSSL_SHA2_C */
- TLS_RSA_WITH_AES_128_CBC_SHA,
-#endif
-#if defined(POLARSSL_CAMELLIA_C)
-#if defined(POLARSSL_SHA2_C)
- TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256,
-#endif /* POLARSSL_SHA2_C */
- TLS_RSA_WITH_CAMELLIA_128_CBC_SHA,
-#endif
-#if defined(POLARSSL_DES_C)
- TLS_RSA_WITH_3DES_EDE_CBC_SHA,
-#endif
-#if defined(POLARSSL_ARC4_C)
- TLS_RSA_WITH_RC4_128_SHA,
- TLS_RSA_WITH_RC4_128_MD5,
-#endif
-
-#if defined(POLARSSL_ENABLE_WEAK_CIPHERSUITES)
-#if defined(POLARSSL_DES_C)
- TLS_DHE_RSA_WITH_DES_CBC_SHA,
- TLS_RSA_WITH_DES_CBC_SHA,
-#endif
-#if defined(POLARSSL_CIPHER_NULL_CIPHER)
- TLS_RSA_WITH_NULL_MD5,
- TLS_RSA_WITH_NULL_SHA,
- TLS_RSA_WITH_NULL_SHA256,
-#endif
-#endif
- 0
-};
-
-
-#if defined(POLARSSL_FS_IO)
-#define USAGE_IO \
- " ca_file=%%s The single file containing the top-level CA(s) you fully trust\n" \
- " default: \"\" (pre-loaded)\n" \
- " ca_path=%%s The path containing the top-level CA(s) you fully trust\n" \
- " default: \"\" (pre-loaded) (overrides ca_file)\n" \
- " crt_file=%%s Your own cert and chain (in bottom to top order, top may be omitted)\n" \
- " default: \"\" (pre-loaded)\n" \
- " key_file=%%s default: \"\" (pre-loaded)\n"
-#else
-#define USAGE_IO \
- " No file operations available (POLARSSL_FS_IO not defined)\n"
-#endif /* POLARSSL_FS_IO */
-
-#define USAGE \
- "\n usage: ssl_server2 param=<>...\n" \
- "\n acceptable parameters:\n" \
- " server_port=%%d default: 4433\n" \
- " debug_level=%%d default: 0 (disabled)\n" \
- USAGE_IO \
- " request_page=%%s default: \".\"\n" \
- " renegotiation=%%d default: 1 (enabled)\n" \
- " allow_legacy=%%d default: 0 (disabled)\n" \
- " min_version=%%s default: \"ssl3\"\n" \
- " options: ssl3, tls1, tls1_1, tls1_2\n" \
- " auth_mode=%%s default: \"optional\"\n" \
- " options: none, optional, required\n" \
- " force_ciphersuite=<name> default: all enabled\n"\
- " acceptable ciphersuite names:\n"
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_ENTROPY_C) || \
- !defined(POLARSSL_SSL_TLS_C) || !defined(POLARSSL_SSL_SRV_C) || \
- !defined(POLARSSL_NET_C) || !defined(POLARSSL_RSA_C) || \
- !defined(POLARSSL_CTR_DRBG_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_ENTROPY_C and/or "
- "POLARSSL_SSL_TLS_C and/or POLARSSL_SSL_SRV_C and/or "
- "POLARSSL_NET_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_CTR_DRBG_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int ret = 0, len;
- int listen_fd;
- int client_fd = -1;
- unsigned char buf[1024];
- const char *pers = "ssl_server2";
-
- entropy_context entropy;
- ctr_drbg_context ctr_drbg;
- ssl_context ssl;
- x509_cert cacert;
- x509_cert srvcert;
- rsa_context rsa;
-#if defined(POLARSSL_SSL_CACHE_C)
- ssl_cache_context cache;
-#endif
-
- int i;
- char *p, *q;
- const int *list;
-
- /*
- * Make sure memory references are valid.
- */
- listen_fd = 0;
- memset( &cacert, 0, sizeof( x509_cert ) );
- memset( &srvcert, 0, sizeof( x509_cert ) );
- memset( &rsa, 0, sizeof( rsa_context ) );
-#if defined(POLARSSL_SSL_CACHE_C)
- ssl_cache_init( &cache );
-#endif
-
- if( argc == 0 )
- {
- usage:
- if( ret == 0 )
- ret = 1;
-
- printf( USAGE );
-
- list = ssl_list_ciphersuites();
- while( *list )
- {
- printf(" %s\n", ssl_get_ciphersuite_name( *list ) );
- list++;
- }
- printf("\n");
- goto exit;
- }
-
- opt.server_port = DFL_SERVER_PORT;
- opt.debug_level = DFL_DEBUG_LEVEL;
- opt.ca_file = DFL_CA_FILE;
- opt.ca_path = DFL_CA_PATH;
- opt.crt_file = DFL_CRT_FILE;
- opt.key_file = DFL_KEY_FILE;
- opt.force_ciphersuite[0]= DFL_FORCE_CIPHER;
- opt.renegotiation = DFL_RENEGOTIATION;
- opt.allow_legacy = DFL_ALLOW_LEGACY;
- opt.min_version = DFL_MIN_VERSION;
- opt.auth_mode = DFL_AUTH_MODE;
-
- for( i = 1; i < argc; i++ )
- {
- p = argv[i];
- if( ( q = strchr( p, '=' ) ) == NULL )
- goto usage;
- *q++ = '\0';
-
- if( strcmp( p, "server_port" ) == 0 )
- {
- opt.server_port = atoi( q );
- if( opt.server_port < 1 || opt.server_port > 65535 )
- goto usage;
- }
- else if( strcmp( p, "debug_level" ) == 0 )
- {
- opt.debug_level = atoi( q );
- if( opt.debug_level < 0 || opt.debug_level > 65535 )
- goto usage;
- }
- else if( strcmp( p, "ca_file" ) == 0 )
- opt.ca_file = q;
- else if( strcmp( p, "ca_path" ) == 0 )
- opt.ca_path = q;
- else if( strcmp( p, "crt_file" ) == 0 )
- opt.crt_file = q;
- else if( strcmp( p, "key_file" ) == 0 )
- opt.key_file = q;
- else if( strcmp( p, "force_ciphersuite" ) == 0 )
- {
- opt.force_ciphersuite[0] = -1;
-
- opt.force_ciphersuite[0] = ssl_get_ciphersuite_id( q );
-
- if( opt.force_ciphersuite[0] <= 0 )
- {
- ret = 2;
- goto usage;
- }
- opt.force_ciphersuite[1] = 0;
- }
- else if( strcmp( p, "renegotiation" ) == 0 )
- {
- opt.renegotiation = (atoi( q )) ? SSL_RENEGOTIATION_ENABLED :
- SSL_RENEGOTIATION_DISABLED;
- }
- else if( strcmp( p, "allow_legacy" ) == 0 )
- {
- opt.allow_legacy = atoi( q );
- if( opt.allow_legacy < 0 || opt.allow_legacy > 1 )
- goto usage;
- }
- else if( strcmp( p, "min_version" ) == 0 )
- {
- if( strcmp( q, "ssl3" ) == 0 )
- opt.min_version = SSL_MINOR_VERSION_0;
- else if( strcmp( q, "tls1" ) == 0 )
- opt.min_version = SSL_MINOR_VERSION_1;
- else if( strcmp( q, "tls1_1" ) == 0 )
- opt.min_version = SSL_MINOR_VERSION_2;
- else if( strcmp( q, "tls1_2" ) == 0 )
- opt.min_version = SSL_MINOR_VERSION_3;
- else
- goto usage;
- }
- else if( strcmp( p, "auth_mode" ) == 0 )
- {
- if( strcmp( q, "none" ) == 0 )
- opt.auth_mode = SSL_VERIFY_NONE;
- else if( strcmp( q, "optional" ) == 0 )
- opt.auth_mode = SSL_VERIFY_OPTIONAL;
- else if( strcmp( q, "required" ) == 0 )
- opt.auth_mode = SSL_VERIFY_REQUIRED;
- else
- goto usage;
- }
- else
- goto usage;
- }
-
- /*
- * 0. Initialize the RNG and the session data
- */
- printf( "\n . Seeding the random number generator..." );
- fflush( stdout );
-
- entropy_init( &entropy );
- if( ( ret = ctr_drbg_init( &ctr_drbg, entropy_func, &entropy,
- (const unsigned char *) pers,
- strlen( pers ) ) ) != 0 )
- {
- printf( " failed\n ! ctr_drbg_init returned -0x%x\n", -ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 1.1. Load the trusted CA
- */
- printf( " . Loading the CA root certificate ..." );
- fflush( stdout );
-
-#if defined(POLARSSL_FS_IO)
- if( strlen( opt.ca_path ) )
- ret = x509parse_crtpath( &cacert, opt.ca_path );
- else if( strlen( opt.ca_file ) )
- ret = x509parse_crtfile( &cacert, opt.ca_file );
- else
-#endif
-#if defined(POLARSSL_CERTS_C)
- ret = x509parse_crt( &cacert, (const unsigned char *) test_ca_crt,
- strlen( test_ca_crt ) );
-#else
- {
- ret = 1;
- printf("POLARSSL_CERTS_C not defined.");
- }
-#endif
- if( ret < 0 )
- {
- printf( " failed\n ! x509parse_crt returned -0x%x\n\n", -ret );
- goto exit;
- }
-
- printf( " ok (%d skipped)\n", ret );
-
- /*
- * 1.2. Load own certificate and private key
- */
- printf( " . Loading the server cert. and key..." );
- fflush( stdout );
-
-#if defined(POLARSSL_FS_IO)
- if( strlen( opt.crt_file ) )
- ret = x509parse_crtfile( &srvcert, opt.crt_file );
- else
-#endif
-#if defined(POLARSSL_CERTS_C)
- ret = x509parse_crt( &srvcert, (const unsigned char *) test_srv_crt,
- strlen( test_srv_crt ) );
-#else
- {
- ret = 1;
- printf("POLARSSL_CERTS_C not defined.");
- }
-#endif
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_crt returned -0x%x\n\n", -ret );
- goto exit;
- }
-
-#if defined(POLARSSL_FS_IO)
- if( strlen( opt.key_file ) )
- ret = x509parse_keyfile( &rsa, opt.key_file, "" );
- else
-#endif
-#if defined(POLARSSL_CERTS_C)
- ret = x509parse_key( &rsa, (const unsigned char *) test_srv_key,
- strlen( test_srv_key ), NULL, 0 );
-#else
- {
- ret = 1;
- printf("POLARSSL_CERTS_C not defined.");
- }
-#endif
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_key returned -0x%x\n\n", -ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 2. Setup the listening TCP socket
- */
- printf( " . Bind on tcp://localhost:%-4d/ ...", opt.server_port );
- fflush( stdout );
-
- if( ( ret = net_bind( &listen_fd, NULL, opt.server_port ) ) != 0 )
- {
- printf( " failed\n ! net_bind returned -0x%x\n\n", -ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 3. Setup stuff
- */
- printf( " . Setting up the SSL/TLS structure..." );
- fflush( stdout );
-
- if( ( ret = ssl_init( &ssl ) ) != 0 )
- {
- printf( " failed\n ! ssl_init returned -0x%x\n\n", -ret );
- goto exit;
- }
-
- ssl_set_endpoint( &ssl, SSL_IS_SERVER );
- ssl_set_authmode( &ssl, opt.auth_mode );
-
- ssl_set_rng( &ssl, ctr_drbg_random, &ctr_drbg );
- ssl_set_dbg( &ssl, my_debug, stdout );
-
-#if defined(POLARSSL_SSL_CACHE_C)
- ssl_set_session_cache( &ssl, ssl_cache_get, &cache,
- ssl_cache_set, &cache );
-#endif
-
- if( opt.force_ciphersuite[0] == DFL_FORCE_CIPHER )
- ssl_set_ciphersuites( &ssl, my_ciphersuites );
- else
- ssl_set_ciphersuites( &ssl, opt.force_ciphersuite );
-
- ssl_set_renegotiation( &ssl, opt.renegotiation );
- ssl_legacy_renegotiation( &ssl, opt.allow_legacy );
-
- ssl_set_ca_chain( &ssl, &cacert, NULL, NULL );
- ssl_set_own_cert( &ssl, &srvcert, &rsa );
-
-#if defined(POLARSSL_DHM_C)
- /*
- * Use different group than default DHM group
- */
- ssl_set_dh_param( &ssl, POLARSSL_DHM_RFC5114_MODP_2048_P,
- POLARSSL_DHM_RFC5114_MODP_2048_G );
-#endif
-
- if( opt.min_version != -1 )
- ssl_set_min_version( &ssl, SSL_MAJOR_VERSION_3, opt.min_version );
-
- printf( " ok\n" );
-
-reset:
-#ifdef POLARSSL_ERROR_C
- if( ret != 0 )
- {
- char error_buf[100];
- error_strerror( ret, error_buf, 100 );
- printf("Last error was: %d - %s\n\n", ret, error_buf );
- }
-#endif
-
- if( client_fd != -1 )
- net_close( client_fd );
-
- ssl_session_reset( &ssl );
-
- /*
- * 3. Wait until a client connects
- */
-#if defined(_WIN32_WCE)
- {
- SHELLEXECUTEINFO sei;
-
- ZeroMemory( &sei, sizeof( SHELLEXECUTEINFO ) );
-
- sei.cbSize = sizeof( SHELLEXECUTEINFO );
- sei.fMask = 0;
- sei.hwnd = 0;
- sei.lpVerb = _T( "open" );
- sei.lpFile = _T( "https://localhost:4433/" );
- sei.lpParameters = NULL;
- sei.lpDirectory = NULL;
- sei.nShow = SW_SHOWNORMAL;
-
- ShellExecuteEx( &sei );
- }
-#elif defined(_WIN32)
- ShellExecute( NULL, "open", "https://localhost:4433/",
- NULL, NULL, SW_SHOWNORMAL );
-#endif
-
- client_fd = -1;
-
- printf( " . Waiting for a remote connection ..." );
- fflush( stdout );
-
- if( ( ret = net_accept( listen_fd, &client_fd, NULL ) ) != 0 )
- {
- printf( " failed\n ! net_accept returned -0x%x\n\n", -ret );
- goto exit;
- }
-
- ssl_set_bio( &ssl, net_recv, &client_fd,
- net_send, &client_fd );
-
- printf( " ok\n" );
-
- /*
- * 4. Handshake
- */
- printf( " . Performing the SSL/TLS handshake..." );
- fflush( stdout );
-
- while( ( ret = ssl_handshake( &ssl ) ) != 0 )
- {
- if( ret != POLARSSL_ERR_NET_WANT_READ && ret != POLARSSL_ERR_NET_WANT_WRITE )
- {
- printf( " failed\n ! ssl_handshake returned -0x%x\n\n", -ret );
- goto reset;
- }
- }
-
- printf( " ok\n [ Ciphersuite is %s ]\n",
- ssl_get_ciphersuite( &ssl ) );
-
- /*
- * 5. Verify the server certificate
- */
- printf( " . Verifying peer X.509 certificate..." );
-
- if( ( ret = ssl_get_verify_result( &ssl ) ) != 0 )
- {
- printf( " failed\n" );
-
- if( !ssl_get_peer_cert( &ssl ) )
- printf( " ! no client certificate sent\n" );
-
- if( ( ret & BADCERT_EXPIRED ) != 0 )
- printf( " ! client certificate has expired\n" );
-
- if( ( ret & BADCERT_REVOKED ) != 0 )
- printf( " ! client certificate has been revoked\n" );
-
- if( ( ret & BADCERT_NOT_TRUSTED ) != 0 )
- printf( " ! self-signed or not signed by a trusted CA\n" );
-
- printf( "\n" );
- }
- else
- printf( " ok\n" );
-
- if( ssl_get_peer_cert( &ssl ) )
- {
- printf( " . Peer certificate information ...\n" );
- x509parse_cert_info( (char *) buf, sizeof( buf ) - 1, " ",
- ssl_get_peer_cert( &ssl ) );
- printf( "%s\n", buf );
- }
-
- /*
- * 6. Read the HTTP Request
- */
- printf( " < Read from client:" );
- fflush( stdout );
-
- do
- {
- len = sizeof( buf ) - 1;
- memset( buf, 0, sizeof( buf ) );
- ret = ssl_read( &ssl, buf, len );
-
- if( ret == POLARSSL_ERR_NET_WANT_READ || ret == POLARSSL_ERR_NET_WANT_WRITE )
- continue;
-
- if( ret <= 0 )
- {
- switch( ret )
- {
- case POLARSSL_ERR_SSL_PEER_CLOSE_NOTIFY:
- printf( " connection was closed gracefully\n" );
- break;
-
- case POLARSSL_ERR_NET_CONN_RESET:
- printf( " connection was reset by peer\n" );
- break;
-
- default:
- printf( " ssl_read returned -0x%x\n", -ret );
- break;
- }
-
- break;
- }
-
- len = ret;
- printf( " %d bytes read\n\n%s", len, (char *) buf );
-
- if( ret > 0 )
- break;
- }
- while( 1 );
-
- /*
- * 7. Write the 200 Response
- */
- printf( " > Write to client:" );
- fflush( stdout );
-
- len = sprintf( (char *) buf, HTTP_RESPONSE,
- ssl_get_ciphersuite( &ssl ) );
-
- while( ( ret = ssl_write( &ssl, buf, len ) ) <= 0 )
- {
- if( ret == POLARSSL_ERR_NET_CONN_RESET )
- {
- printf( " failed\n ! peer closed the connection\n\n" );
- goto reset;
- }
-
- if( ret != POLARSSL_ERR_NET_WANT_READ && ret != POLARSSL_ERR_NET_WANT_WRITE )
- {
- printf( " failed\n ! ssl_write returned %d\n\n", ret );
- goto exit;
- }
- }
-
- len = ret;
- printf( " %d bytes written\n\n%s\n", len, (char *) buf );
-
- ret = 0;
- goto reset;
-
-exit:
-
-#ifdef POLARSSL_ERROR_C
- if( ret != 0 )
- {
- char error_buf[100];
- error_strerror( ret, error_buf, 100 );
- printf("Last error was: -0x%X - %s\n\n", -ret, error_buf );
- }
-#endif
-
- net_close( client_fd );
- x509_free( &srvcert );
- x509_free( &cacert );
- rsa_free( &rsa );
- ssl_free( &ssl );
-
-#if defined(POLARSSL_SSL_CACHE_C)
- ssl_cache_free( &cache );
-#endif
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_ENTROPY_C && POLARSSL_SSL_TLS_C &&
- POLARSSL_SSL_SRV_C && POLARSSL_NET_C && POLARSSL_RSA_C &&
- POLARSSL_CTR_DRBG_C */
diff --git a/Externals/polarssl/programs/ssl/test-ca/cert_digest.key b/Externals/polarssl/programs/ssl/test-ca/cert_digest.key
deleted file mode 100644
index e3da8a051f..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/cert_digest.key
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpQIBAAKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA58e1bYz/qrZBJre+Ea1ccxYM
-ZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa2BgtgBtU9uVEmvHLr2Eu30kN
-nQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe5mFnui4HZwsDL6IJ7fAzjwvO
-EO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5HHLySruvfJ2sWVrfc7NFVV6Vu
-7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhBBNXB37gdv3sBpWWi4B42t6Zc
-zDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wIDAQABAoIBACV0r5n2zDvTnzRG
-X2jfsFSmeq5jj6grTrdySxJNLT3d1EfhOXgylmGMaiL5EGIoI7BY5kAVgZKTxGRB
-4urT02M7CXKQ0QKKhE+4ZHsAUbOQ7y1vVDVg9bQ2vYJLorziHJxUUCjLXn4dntVQ
-Sdz0FO+pncfwAk1/aTfI3kgPd/qIsvnXfwnfSPkbn9JZeHSFuWR1nfaQzaz8y+h0
-g+gNrEzweix+llPk1s7WtficQdIOhiuD4+f7uQmCiUpNlFgojRc+CxVGtw0eCB1o
-74hNxswPGj9ianEGstzWWV2g4h83laTA2RvnGKsiZ0BisLw5KRmHkf0RPx+eZOBC
-gMS/ruECgYEA9K00uYKDSNq8dlmTaiOM9ppKPDr2B++0xNf+8TKNhsLIDxnsJulW
-LgZegCl6gExfyLbYT6XrG5FjNADSk5uD9oGqa1mPq6J7KAzpkZ1dvF/NtiHo4MAK
-Obj/jo084HCWIqMEhfve6UmkMiGg+6ht40LWYdeqlEd2Lwe6QUHSqmMCgYEAwc7c
-ZR+5kYeSjnLIxVbfHgBCcE44zcGnRI2wuzgZDQ+65rPnx5l6mEECmlzLudk7OSK7
-XGZODu1W7l/CUja8io6cuhZPMsnSrm1KJ+mMe3qKUH+eaeeisEMxsK4ZdvCKsGTe
-dg41Yi/V+TvsQocRqkSjq3bLaW3F/rQLJeZzpl0CgYEAmGL70IIhpBFfiVJWxqcn
-lzsW+xY5v02ix2pDRROYI5NSqF0bwExZOUcMOkQbIKbwjQCcDlcm67+MCopsnDQi
-Zzfw3PUlzt7eV15bZi6df8InS8Uo1jmk5Lh8qdr7TEmyqBXhrlTlS2RrGDHronEP
-J5isDroUak9rovTsItKNE0MCgYEAwOZyOzyeaRk1aA8bgj97B9NeTYWtyC3tnLAi
-rdWiKXv0nVeHZQWAHjbmrlmadLqg1beaINe67eSRV+V79nSAqLBVkmpOHdD/n5kr
-7BnrN6O6M3EybVqedS4MMTy4H8g/Yl6jhYGS5M2T/eQEvhrOHFkBRtKQl7kpDuCJ
-EAoWJgkCgYEA7Ey6LpS40L/fU5BosQwPGu82Sh/V+WRwR3QZZHxiyKoh1v3qAA/6
-3jw/xsrM0Br311DUTUPRQQLnyAzmzZqWmJWEZU7YS55NdTG3R75NzB2ZAffV4W+Y
-lE0G2DglzGeZQV8n3FK3fEu1hVkIoYfq4+6YqO6YPbpa49xbwZ2AJdU=
------END RSA PRIVATE KEY-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/cert_example.crt b/Externals/polarssl/programs/ssl/test-ca/cert_example.crt
deleted file mode 100644
index d5638823a4..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/cert_example.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 13 (0xd)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 7 16:06:36 2012 GMT
- Not After : Feb 7 16:06:36 2022 GMT
- Subject: C=NL, O=PolarSSL, CN=example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
- Modulus:
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 83:f7:04:f3:bd:08:cf:81:f9:a1:b0:54:a4:5f:91:1d:15:9f:
- 03:ab:9a:07:0d:bd:ad:fa:ce:44:79:58:9c:88:d1:6e:48:fd:
- 2b:f2:6e:fc:1f:c6:3a:28:4d:2a:f7:31:27:e4:64:6d:1c:d2:
- a7:64:18:9e:0a:07:cd:4c:44:31:e2:8f:c4:4d:d9:e5:38:85:
- 32:44:ba:3d:0a:97:c8:3f:59:14:8e:aa:98:e1:69:24:49:8a:
- 0e:3e:01:b5:fd:88:66:bb:ad:0c:fb:da:87:01:8d:f7:72:30:
- 78:a8:eb:29:4f:3b:20:6b:3e:83:2c:ee:08:88:b1:e9:e2:37:
- 48:77:76:bf:f2:92:98:58:21:04:02:1c:23:70:ff:10:45:1e:
- 69:ac:67:23:0f:1e:62:ef:35:d3:c3:94:dc:99:48:7c:05:ad:
- c1:1c:1a:2a:e6:e3:d7:89:f5:44:25:1a:aa:7a:d4:8f:b7:5a:
- ae:03:4b:be:5e:e8:43:35:12:e8:b9:95:64:81:ef:26:1a:cd:
- e4:82:22:de:2e:ac:93:4f:32:f9:0b:0d:b2:5f:69:21:b9:1b:
- f8:54:c0:df:11:17:23:85:ae:71:cb:ae:17:e8:36:2f:aa:fe:
- 04:04:2b:33:1b:12:2b:80:19:11:6f:ce:cb:bb:6c:fe:a5:80:
- a7:4a:6d:0f
------BEGIN CERTIFICATE-----
-MIIDOTCCAiGgAwIBAgIBDTANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTIwMjA3MTYwNjM2WhcNMjIwMjA3MTYwNjM2WjA2MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxFDASBgNVBAMTC2V4YW1wbGUuY29tMIIBIjANBgkqhkiG
-9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA58e1bYz/qrZB
-Jre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa2BgtgBtU9uVE
-mvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe5mFnui4HZwsD
-L6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5HHLySruvfJ2sW
-Vrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhBBNXB37gdv3sB
-pWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wIDAQABo00wSzAJ
-BgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4TDAfBgNVHSME
-GDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQUFAAOCAQEAg/cE
-870Iz4H5obBUpF+RHRWfA6uaBw29rfrORHlYnIjRbkj9K/Ju/B/GOihNKvcxJ+Rk
-bRzSp2QYngoHzUxEMeKPxE3Z5TiFMkS6PQqXyD9ZFI6qmOFpJEmKDj4Btf2IZrut
-DPvahwGN93IweKjrKU87IGs+gyzuCIix6eI3SHd2v/KSmFghBAIcI3D/EEUeaaxn
-Iw8eYu8108OU3JlIfAWtwRwaKubj14n1RCUaqnrUj7dargNLvl7oQzUS6LmVZIHv
-JhrN5IIi3i6sk08y+QsNsl9pIbkb+FTA3xEXI4WuccuuF+g2L6r+BAQrMxsSK4AZ
-EW/Oy7ts/qWAp0ptDw==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/cert_example_multi.crt b/Externals/polarssl/programs/ssl/test-ca/cert_example_multi.crt
deleted file mode 100644
index c1e19987a0..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/cert_example_multi.crt
+++ /dev/null
@@ -1,80 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 17 (0x11)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: May 10 13:23:41 2012 GMT
- Not After : May 11 13:23:41 2022 GMT
- Subject: C=NL, O=PolarSSL, CN=www.example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
- Modulus:
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- X509v3 Subject Alternative Name:
- DNS:example.com, DNS:example.net, DNS:*.example.org
- Signature Algorithm: sha1WithRSAEncryption
- 4f:09:cb:7a:d5:ee:f5:ef:62:0d:dc:7b:a2:85:d6:8c:ca:95:
- b4:6b:da:11:5b:92:00:75:13:b9:ca:0b:ce:ea:fb:c3:1f:e2:
- 3f:7f:21:74:79:e2:e6:bc:da:06:e5:2f:6f:f6:55:c6:73:39:
- cf:48:bc:0d:2f:0c:d2:7a:06:c3:4a:4c:d9:48:5d:a0:d0:73:
- 89:e4:d4:85:1d:96:9a:0e:57:99:c6:6f:1d:21:27:1f:8d:05:
- 29:e8:40:ae:82:39:68:c3:97:07:cf:3c:93:4c:1a:df:2f:a6:
- a4:55:48:7f:7c:8c:1a:c9:22:da:24:cd:92:39:c6:8a:ec:b0:
- 8d:f5:69:82:67:cb:04:ee:de:53:41:96:c1:27:dc:2f:fe:33:
- fa:d3:0e:b8:d4:32:a9:84:28:53:a5:f0:d1:89:d5:a2:98:e7:
- 16:91:bb:9c:c0:41:8e:8c:58:ac:ff:e3:dd:2e:7a:ab:b0:b9:
- 71:76:ad:0f:27:33:f7:a9:29:d3:c0:76:c0:bf:06:40:7c:0e:
- d5:a4:7c:8a:e2:32:6e:16:ae:da:64:1f:b0:55:7c:db:dd:f1:
- a4:ba:44:7c:b3:99:58:d2:34:6e:00:ea:97:6c:14:3a:f2:10:
- 1e:0a:a2:49:10:76:01:f4:f2:c8:18:fd:cc:63:46:12:8b:09:
- 1b:f1:94:e6
------BEGIN CERTIFICATE-----
-MIIDcjCCAlqgAwIBAgIBETANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTIwNTEwMTMyMzQxWhcNMjIwNTExMTMyMzQxWjA6MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGDAWBgNVBAMTD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJ
-KoZIhvcNAQEBBQADggEPADCCAQoCggEBALk8SsXIo46QF6SeUqpxdSZhgOfHtW2M
-/6q2QSa3vhGtXHMWDGQRSAT/1uE7BduJu7OXCdUcFN1ohzmwPXHL4nbQGtgYLYAb
-VPblRJrxy69hLt9JDZ0Jt+2x/Tz9PPokz12/fORT5yW16kQi6SbT6iCUnuZhZ7ou
-B2cLAy+iCe3wM48LzhDvZ6TGCNrB7cI/10rdFT35XhyBYEY+tbM9L6beRxy8kq7r
-3ydrFla33OzRVVelbux1JfW3e9+r0jpakZh9lxcLEwqna0qLwUcw+zr4QQTVwd+4
-Hb97AaVlouAeNremXMwwWvjNb83xGWIlygHjNX/6IPXc/WmyagB9F/cCAwEAAaOB
-gTB/MAkGA1UdEwQCMAAwHQYDVR0OBBYEFH3knGvm+XF9RtISPa1rHf3CqnhMMB8G
-A1UdIwQYMBaAFLRa5KWz3tJS9rnVppUP6z68x/3/MDIGA1UdEQQrMCmCC2V4YW1w
-bGUuY29tggtleGFtcGxlLm5ldIINKi5leGFtcGxlLm9yZzANBgkqhkiG9w0BAQUF
-AAOCAQEATwnLetXu9e9iDdx7ooXWjMqVtGvaEVuSAHUTucoLzur7wx/iP38hdHni
-5rzaBuUvb/ZVxnM5z0i8DS8M0noGw0pM2UhdoNBzieTUhR2Wmg5XmcZvHSEnH40F
-KehAroI5aMOXB888k0wa3y+mpFVIf3yMGski2iTNkjnGiuywjfVpgmfLBO7eU0GW
-wSfcL/4z+tMOuNQyqYQoU6Xw0YnVopjnFpG7nMBBjoxYrP/j3S56q7C5cXatDycz
-96kp08B2wL8GQHwO1aR8iuIybhau2mQfsFV8293xpLpEfLOZWNI0bgDql2wUOvIQ
-HgqiSRB2AfTyyBj9zGNGEosJG/GU5g==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/cert_example_wildcard.crt b/Externals/polarssl/programs/ssl/test-ca/cert_example_wildcard.crt
deleted file mode 100644
index 4895e8a037..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/cert_example_wildcard.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 12 (0xc)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 7 16:06:36 2012 GMT
- Not After : Feb 7 16:06:36 2022 GMT
- Subject: C=NL, O=PolarSSL, CN=*.example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
- Modulus:
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 91:b3:84:5c:5d:60:f2:a5:0a:4a:dc:d6:c6:75:da:34:52:72:
- 6c:0e:60:4f:ef:0e:55:f3:4b:bf:d0:40:e7:91:2c:a7:94:8f:
- 3d:db:0a:ec:b2:f5:83:a7:a1:33:61:96:37:57:14:80:5b:e7:
- bc:e1:d3:2c:36:32:6f:ef:7a:00:99:33:15:fc:38:20:df:74:
- 7d:3d:0f:81:d0:b4:fd:b6:46:f1:c5:b8:bc:de:74:a2:41:a7:
- c8:51:da:20:12:82:3e:0c:8c:48:da:19:b6:52:e9:4f:67:c1:
- 28:9e:20:b6:ce:be:89:bd:64:d7:05:3e:87:af:ba:2b:5d:aa:
- fe:62:66:fb:a6:75:ad:89:a1:18:e8:78:54:ea:df:0a:85:e9:
- 32:32:a8:1a:cd:35:81:f8:a8:da:d1:16:8a:63:e7:67:da:6e:
- e1:3b:1c:31:20:99:ee:e2:b2:fb:82:c5:21:e2:63:4c:61:15:
- 4d:53:ad:dd:15:7f:0b:b6:33:43:ad:27:8a:b1:af:93:17:72:
- c4:be:31:26:93:3c:7d:fc:d5:3d:cf:0b:be:c5:7b:e9:b4:f8:
- f3:30:f2:f5:a2:27:eb:9a:71:fc:7f:79:5e:88:c5:a6:2d:33:
- 57:ba:38:06:e6:ad:0b:96:97:9d:cc:94:7b:83:09:17:a6:ee:
- ce:bb:0f:36
------BEGIN CERTIFICATE-----
-MIIDOzCCAiOgAwIBAgIBDDANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTIwMjA3MTYwNjM2WhcNMjIwMjA3MTYwNjM2WjA4MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxFjAUBgNVBAMUDSouZXhhbXBsZS5jb20wggEiMA0GCSqG
-SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5PErFyKOOkBeknlKqcXUmYYDnx7VtjP+q
-tkEmt74RrVxzFgxkEUgE/9bhOwXbibuzlwnVHBTdaIc5sD1xy+J20BrYGC2AG1T2
-5USa8cuvYS7fSQ2dCbftsf08/Tz6JM9dv3zkU+cltepEIukm0+oglJ7mYWe6Lgdn
-CwMvognt8DOPC84Q72ekxgjawe3CP9dK3RU9+V4cgWBGPrWzPS+m3kccvJKu698n
-axZWt9zs0VVXpW7sdSX1t3vfq9I6WpGYfZcXCxMKp2tKi8FHMPs6+EEE1cHfuB2/
-ewGlZaLgHja3plzMMFr4zW/N8RliJcoB4zV/+iD13P1psmoAfRf3AgMBAAGjTTBL
-MAkGA1UdEwQCMAAwHQYDVR0OBBYEFH3knGvm+XF9RtISPa1rHf3CqnhMMB8GA1Ud
-IwQYMBaAFLRa5KWz3tJS9rnVppUP6z68x/3/MA0GCSqGSIb3DQEBBQUAA4IBAQCR
-s4RcXWDypQpK3NbGddo0UnJsDmBP7w5V80u/0EDnkSynlI892wrssvWDp6EzYZY3
-VxSAW+e84dMsNjJv73oAmTMV/Dgg33R9PQ+B0LT9tkbxxbi83nSiQafIUdogEoI+
-DIxI2hm2UulPZ8EoniC2zr6JvWTXBT6Hr7orXar+Ymb7pnWtiaEY6HhU6t8Kheky
-MqgazTWB+Kja0RaKY+dn2m7hOxwxIJnu4rL7gsUh4mNMYRVNU63dFX8LtjNDrSeK
-sa+TF3LEvjEmkzx9/NU9zwu+xXvptPjzMPL1oifrmnH8f3leiMWmLTNXujgG5q0L
-lpedzJR7gwkXpu7Ouw82
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/cert_example_www.crt b/Externals/polarssl/programs/ssl/test-ca/cert_example_www.crt
deleted file mode 100644
index 9f4d8a9fae..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/cert_example_www.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 14 (0xe)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 7 16:06:36 2012 GMT
- Not After : Feb 7 16:06:36 2022 GMT
- Subject: C=NL, O=PolarSSL, CN=www.example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
- Modulus:
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 3e:b2:e4:9b:c0:8b:a0:d1:e8:66:f4:03:7b:76:7f:7e:0f:6b:
- e5:78:ef:2f:6c:14:d6:22:5c:0c:bf:c8:70:09:ca:c5:64:a8:
- 77:ed:e2:8d:ab:27:cc:40:ba:a5:95:d7:ec:a1:cc:41:3d:6b:
- e3:69:c5:cb:10:c6:75:59:2c:6f:3d:2d:b3:c3:f8:75:4a:d4:
- 31:2e:e9:fc:72:4b:42:ed:c8:f7:6e:cd:da:98:db:3f:e2:3b:
- ea:26:1b:73:eb:59:f5:10:48:07:45:a3:20:40:2c:c6:95:59:
- 08:82:26:ab:13:9f:ea:66:b1:05:e5:99:1d:26:0f:21:0f:b5:
- 2e:52:82:99:53:85:a8:fe:b7:6e:e9:ed:44:01:f8:c8:08:d0:
- 64:25:43:70:da:3f:1b:0d:97:81:1b:2a:5d:e4:17:10:20:b0:
- eb:56:44:be:ec:55:4a:66:c1:c9:69:7b:36:01:66:36:14:22:
- 37:a4:96:d2:db:0e:bd:01:e9:3e:6a:ef:94:94:63:69:ea:27:
- 7c:40:29:4a:38:f0:06:dd:4a:06:ef:8b:92:98:ad:02:60:a0:
- 3c:6c:53:4c:a1:5b:ae:c7:a2:61:ee:0e:18:c6:f8:46:80:c6:
- 2f:55:38:2a:33:84:da:9a:a4:69:ae:c3:8a:a1:e2:07:6c:71:
- 9b:56:fd:93
------BEGIN CERTIFICATE-----
-MIIDPTCCAiWgAwIBAgIBDjANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTIwMjA3MTYwNjM2WhcNMjIwMjA3MTYwNjM2WjA6MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGDAWBgNVBAMTD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJ
-KoZIhvcNAQEBBQADggEPADCCAQoCggEBALk8SsXIo46QF6SeUqpxdSZhgOfHtW2M
-/6q2QSa3vhGtXHMWDGQRSAT/1uE7BduJu7OXCdUcFN1ohzmwPXHL4nbQGtgYLYAb
-VPblRJrxy69hLt9JDZ0Jt+2x/Tz9PPokz12/fORT5yW16kQi6SbT6iCUnuZhZ7ou
-B2cLAy+iCe3wM48LzhDvZ6TGCNrB7cI/10rdFT35XhyBYEY+tbM9L6beRxy8kq7r
-3ydrFla33OzRVVelbux1JfW3e9+r0jpakZh9lxcLEwqna0qLwUcw+zr4QQTVwd+4
-Hb97AaVlouAeNremXMwwWvjNb83xGWIlygHjNX/6IPXc/WmyagB9F/cCAwEAAaNN
-MEswCQYDVR0TBAIwADAdBgNVHQ4EFgQUfeSca+b5cX1G0hI9rWsd/cKqeEwwHwYD
-VR0jBBgwFoAUtFrkpbPe0lL2udWmlQ/rPrzH/f8wDQYJKoZIhvcNAQEFBQADggEB
-AD6y5JvAi6DR6Gb0A3t2f34Pa+V47y9sFNYiXAy/yHAJysVkqHft4o2rJ8xAuqWV
-1+yhzEE9a+NpxcsQxnVZLG89LbPD+HVK1DEu6fxyS0LtyPduzdqY2z/iO+omG3Pr
-WfUQSAdFoyBALMaVWQiCJqsTn+pmsQXlmR0mDyEPtS5SgplThaj+t27p7UQB+MgI
-0GQlQ3DaPxsNl4EbKl3kFxAgsOtWRL7sVUpmwclpezYBZjYUIjekltLbDr0B6T5q
-75SUY2nqJ3xAKUo48AbdSgbvi5KYrQJgoDxsU0yhW67HomHuDhjG+EaAxi9VOCoz
-hNqapGmuw4qh4gdscZtW/ZM=
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/cert_md2.crt b/Externals/polarssl/programs/ssl/test-ca/cert_md2.crt
deleted file mode 100644
index e69de29bb2..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/cert_md2.crt
+++ /dev/null
diff --git a/Externals/polarssl/programs/ssl/test-ca/cert_md4.crt b/Externals/polarssl/programs/ssl/test-ca/cert_md4.crt
deleted file mode 100644
index 16f166b815..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/cert_md4.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 5 (0x5)
- Signature Algorithm: md4WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert MD4
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: md4WithRSAEncryption
- 94:db:e1:86:71:2d:43:d6:51:61:a7:95:bc:e8:73:da:ff:e4:
- fd:41:0f:5c:de:14:f4:c4:ba:5d:2c:30:2c:a6:dc:2d:e8:87:
- 45:f1:c5:fe:d1:4a:64:99:19:09:2f:72:7c:3f:8d:c8:31:22:
- dd:0a:69:03:3d:12:8c:4d:c3:f7:a3:c5:d1:5d:c9:ff:4b:83:
- 6b:d6:b4:e5:d8:ce:94:5e:ec:bf:68:c5:b2:63:8e:5c:cb:f3:
- 8d:62:73:82:62:7e:df:db:7d:0b:8d:21:10:db:9a:a1:62:4d:
- 46:42:d1:bb:38:32:ef:c1:fc:a1:e2:7f:60:08:37:32:20:2c:
- 7c:a2:c9:12:0d:89:fe:2b:15:08:91:79:e2:a9:79:a4:da:cd:
- 81:43:01:e2:09:2d:1a:f4:16:ef:af:4d:50:46:5e:2d:dd:48:
- 27:10:c0:42:b7:a5:9e:c2:1f:6e:50:36:03:ed:95:77:9a:a3:
- d9:4c:d7:23:93:b1:24:2a:63:27:28:7a:de:3d:59:d2:92:c8:
- 8f:f6:39:1d:65:ab:09:78:05:46:90:a9:f6:10:b1:ef:c8:8c:
- 4d:7d:8d:f2:78:b7:88:15:09:7e:df:e9:87:a8:64:c1:95:53:
- fb:da:05:b7:62:bc:ad:fb:d9:a4:a9:06:6c:6b:98:01:b9:39:
- 78:d3:4e:87
------BEGIN CERTIFICATE-----
-MIIDPzCCAiegAwIBAgIBBTANBgkqhkiG9w0BAQMFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA8MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIENlcnQgTUQ0MIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA58e1
-bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa2Bgt
-gBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe5mFn
-ui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5HHLyS
-ruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhBBNXB
-37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4TDAf
-BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQMFAAOC
-AQEAlNvhhnEtQ9ZRYaeVvOhz2v/k/UEPXN4U9MS6XSwwLKbcLeiHRfHF/tFKZJkZ
-CS9yfD+NyDEi3QppAz0SjE3D96PF0V3J/0uDa9a05djOlF7sv2jFsmOOXMvzjWJz
-gmJ+39t9C40hENuaoWJNRkLRuzgy78H8oeJ/YAg3MiAsfKLJEg2J/isVCJF54ql5
-pNrNgUMB4gktGvQW769NUEZeLd1IJxDAQrelnsIfblA2A+2Vd5qj2UzXI5OxJCpj
-Jyh63j1Z0pLIj/Y5HWWrCXgFRpCp9hCx78iMTX2N8ni3iBUJft/ph6hkwZVT+9oF
-t2K8rfvZpKkGbGuYAbk5eNNOhw==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/cert_md5.crt b/Externals/polarssl/programs/ssl/test-ca/cert_md5.crt
deleted file mode 100644
index 13d43f1acb..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/cert_md5.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 6 (0x6)
- Signature Algorithm: md5WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert MD5
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: md5WithRSAEncryption
- 92:13:81:0c:ff:ac:ab:98:52:6c:28:c9:c6:3e:80:c6:ec:77:
- d0:13:e1:a2:29:1d:2f:b7:c5:95:41:83:60:d9:50:9c:d0:d6:
- 09:f7:0f:97:cd:c0:e6:b2:68:fa:31:c9:2a:a3:d3:1e:53:ae:
- 79:dc:35:ba:b0:d9:e5:7a:37:1b:2a:92:fa:d2:59:90:43:1b:
- 6a:91:c1:db:36:da:e9:39:d3:f5:ac:e3:46:01:ca:55:04:17:
- 1a:b1:97:28:e8:ff:1b:e7:e1:10:c9:b5:31:d8:ce:a6:89:6a:
- 4a:df:78:7b:02:2f:83:b3:41:d5:ef:0b:b6:44:ff:32:a6:cf:
- 1b:c2:f4:b0:75:66:a9:da:6f:7c:a5:e3:c6:c1:3a:2f:bf:f8:
- 12:6f:04:2c:37:f2:4e:fc:b9:09:ff:a4:5b:40:19:e9:58:91:
- 64:82:d6:ad:b9:7f:c0:12:c2:ce:b7:b6:ba:fb:10:a2:3f:74:
- 97:10:39:d4:dc:4a:e5:5c:f7:e5:3a:d9:68:d7:17:6b:f5:51:
- 08:b4:a2:30:0d:cc:36:10:6d:4e:1d:22:cc:48:d1:38:44:ba:
- cc:2b:47:99:f7:c6:8b:41:24:f3:f1:2c:10:1a:f2:88:bb:b2:
- e0:fd:44:26:3d:ad:ea:af:1d:d0:00:56:41:4e:f4:b0:3b:9d:
- 32:6f:48:c7
------BEGIN CERTIFICATE-----
-MIIDPzCCAiegAwIBAgIBBjANBgkqhkiG9w0BAQQFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA8MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIENlcnQgTUQ1MIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA58e1
-bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa2Bgt
-gBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe5mFn
-ui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5HHLyS
-ruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhBBNXB
-37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4TDAf
-BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQQFAAOC
-AQEAkhOBDP+sq5hSbCjJxj6Axux30BPhoikdL7fFlUGDYNlQnNDWCfcPl83A5rJo
-+jHJKqPTHlOuedw1urDZ5Xo3GyqS+tJZkEMbapHB2zba6TnT9azjRgHKVQQXGrGX
-KOj/G+fhEMm1MdjOpolqSt94ewIvg7NB1e8LtkT/MqbPG8L0sHVmqdpvfKXjxsE6
-L7/4Em8ELDfyTvy5Cf+kW0AZ6ViRZILWrbl/wBLCzre2uvsQoj90lxA51NxK5Vz3
-5TrZaNcXa/VRCLSiMA3MNhBtTh0izEjROES6zCtHmffGi0Ek8/EsEBryiLuy4P1E
-Jj2t6q8d0ABWQU70sDudMm9Ixw==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/cert_sha1.crt b/Externals/polarssl/programs/ssl/test-ca/cert_sha1.crt
deleted file mode 100644
index 718b2f27e9..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/cert_sha1.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 7 (0x7)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA1
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 93:26:40:68:3d:e7:62:ea:d1:6a:78:2b:c2:07:f3:0d:3b:f6:
- 69:18:cd:08:5e:31:e7:48:60:08:2a:46:b6:de:d1:35:0a:ec:
- 31:36:83:7d:eb:7c:d8:63:09:c3:e4:c5:10:ca:7c:7b:2f:20:
- 4d:d2:0e:5f:ee:09:e3:84:4f:28:cc:08:74:9a:11:23:5f:de:
- 0e:3a:0f:8b:2d:64:91:05:f6:d5:c7:30:c8:20:ee:6c:c4:62:
- 7c:8d:a8:4d:2e:70:8c:ac:b5:5d:de:9b:10:5c:98:fd:a1:78:
- 9b:9c:f0:73:33:de:2f:8c:59:fa:dc:af:4c:df:97:e3:9d:00:
- 37:9a:fa:d3:67:77:b9:2f:b9:4a:23:ad:f9:b4:a1:b7:ac:c5:
- a8:0f:62:8c:e6:7e:b4:94:2a:db:f2:fc:52:92:a4:9e:4e:51:
- 4f:9d:c0:ce:ae:3d:17:1c:94:6c:5f:e8:16:b5:ce:2e:e2:5a:
- cf:6a:db:dd:b0:d4:be:62:a5:46:92:30:7c:7c:fc:05:f8:78:
- 30:93:30:28:ab:69:a1:72:31:dc:3b:97:63:3a:5b:b3:e1:34:
- 86:80:4a:28:f5:dc:d5:84:8c:13:a4:6c:d2:c1:2d:a6:25:d7:
- 6f:c9:93:78:a5:16:ba:d9:17:6e:3e:ca:96:f2:9e:5c:e3:ae:
- 12:2e:a5:11
------BEGIN CERTIFICATE-----
-MIIDQDCCAiigAwIBAgIBBzANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA9MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGzAZBgNVBAMTElBvbGFyU1NMIENlcnQgU0hBMTCCASIw
-DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALk8SsXIo46QF6SeUqpxdSZhgOfH
-tW2M/6q2QSa3vhGtXHMWDGQRSAT/1uE7BduJu7OXCdUcFN1ohzmwPXHL4nbQGtgY
-LYAbVPblRJrxy69hLt9JDZ0Jt+2x/Tz9PPokz12/fORT5yW16kQi6SbT6iCUnuZh
-Z7ouB2cLAy+iCe3wM48LzhDvZ6TGCNrB7cI/10rdFT35XhyBYEY+tbM9L6beRxy8
-kq7r3ydrFla33OzRVVelbux1JfW3e9+r0jpakZh9lxcLEwqna0qLwUcw+zr4QQTV
-wd+4Hb97AaVlouAeNremXMwwWvjNb83xGWIlygHjNX/6IPXc/WmyagB9F/cCAwEA
-AaNNMEswCQYDVR0TBAIwADAdBgNVHQ4EFgQUfeSca+b5cX1G0hI9rWsd/cKqeEww
-HwYDVR0jBBgwFoAUtFrkpbPe0lL2udWmlQ/rPrzH/f8wDQYJKoZIhvcNAQEFBQAD
-ggEBAJMmQGg952Lq0Wp4K8IH8w079mkYzQheMedIYAgqRrbe0TUK7DE2g33rfNhj
-CcPkxRDKfHsvIE3SDl/uCeOETyjMCHSaESNf3g46D4stZJEF9tXHMMgg7mzEYnyN
-qE0ucIystV3emxBcmP2heJuc8HMz3i+MWfrcr0zfl+OdADea+tNnd7kvuUojrfm0
-obesxagPYozmfrSUKtvy/FKSpJ5OUU+dwM6uPRcclGxf6Ba1zi7iWs9q292w1L5i
-pUaSMHx8/AX4eDCTMCiraaFyMdw7l2M6W7PhNIaASij13NWEjBOkbNLBLaYl12/J
-k3ilFrrZF24+ypbynlzjrhIupRE=
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/cert_sha224.crt b/Externals/polarssl/programs/ssl/test-ca/cert_sha224.crt
deleted file mode 100644
index 7283c28c0b..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/cert_sha224.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 8 (0x8)
- Signature Algorithm: sha224WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA224
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha224WithRSAEncryption
- b8:9b:0a:d1:b4:d1:a4:ce:05:39:42:7a:3b:7b:5e:fd:97:57:
- 8a:36:60:42:39:d0:e6:0c:9c:7e:2f:2b:be:ef:e7:45:34:77:
- 48:7a:10:4a:fd:76:ca:42:39:25:3c:fa:19:f8:63:6c:e7:36:
- 27:9a:ec:06:ce:e4:f7:2c:2e:c6:36:c1:25:bd:ab:09:aa:e2:
- da:4e:de:ae:b5:f5:ba:9e:90:24:52:34:96:96:61:4c:26:b5:
- 57:65:b1:10:ed:13:2b:54:90:ce:d3:21:cb:8c:d3:4c:6c:e5:
- e1:78:22:16:3f:e1:be:f1:ee:5d:39:48:a1:e6:80:46:f4:46:
- f2:79:03:3e:f1:fc:51:47:d9:05:e8:85:81:1b:0b:4f:fa:85:
- 9d:ce:e7:76:5a:6f:da:98:9f:43:f1:f3:2f:2f:57:28:aa:70:
- 14:82:7f:d5:69:14:8c:f9:82:b6:2f:a6:df:b5:6b:0e:43:c9:
- 96:91:64:3d:8b:a8:17:15:9a:88:42:a4:d0:90:c0:a3:a2:e1:
- dd:f6:95:6d:3b:9d:71:a6:1e:9e:2c:1e:db:f6:5f:93:43:2c:
- ed:53:70:55:50:56:df:cd:96:6c:d5:91:0f:b1:a7:f4:b7:17:
- 9d:1f:0b:f6:0b:f8:fe:e7:7c:de:c1:20:b7:fc:69:13:ba:e2:
- 61:9b:a5:62
------BEGIN CERTIFICATE-----
-MIIDQjCCAiqgAwIBAgIBCDANBgkqhkiG9w0BAQ4FADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA/MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBMjI0MIIB
-IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA
-58e1bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa
-2BgtgBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe
-5mFnui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5H
-HLySruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhB
-BNXB37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wID
-AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4
-TDAfBgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQ4F
-AAOCAQEAuJsK0bTRpM4FOUJ6O3te/ZdXijZgQjnQ5gycfi8rvu/nRTR3SHoQSv12
-ykI5JTz6GfhjbOc2J5rsBs7k9ywuxjbBJb2rCari2k7errX1up6QJFI0lpZhTCa1
-V2WxEO0TK1SQztMhy4zTTGzl4XgiFj/hvvHuXTlIoeaARvRG8nkDPvH8UUfZBeiF
-gRsLT/qFnc7ndlpv2pifQ/HzLy9XKKpwFIJ/1WkUjPmCti+m37VrDkPJlpFkPYuo
-FxWaiEKk0JDAo6Lh3faVbTudcaYeniwe2/Zfk0Ms7VNwVVBW382WbNWRD7Gn9LcX
-nR8L9gv4/ud83sEgt/xpE7riYZulYg==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/cert_sha256.crt b/Externals/polarssl/programs/ssl/test-ca/cert_sha256.crt
deleted file mode 100644
index 03a7521316..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/cert_sha256.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 9 (0x9)
- Signature Algorithm: sha256WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA256
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha256WithRSAEncryption
- 69:ce:f9:a9:d5:e2:32:db:fe:a9:f9:92:7a:d6:76:37:05:51:
- c9:e3:a1:03:72:b2:bc:2c:86:4b:31:16:02:10:e8:43:d4:c0:
- 33:3c:4f:ea:9d:12:6b:57:51:bc:d7:d9:42:56:cf:c7:29:e7:
- d7:52:24:49:29:ac:9c:de:8f:cc:ab:1a:a9:62:07:5a:6b:f7:
- fb:19:ab:f5:b1:2c:a4:aa:dc:5d:03:73:17:7c:ea:52:44:80:
- ca:70:d3:10:c5:2e:fd:9f:d2:0d:65:c4:f2:cc:ef:1b:18:e1:
- 0a:08:4e:67:d0:56:7f:24:54:2e:73:31:b5:4d:22:74:f8:30:
- f9:92:c4:64:c9:46:80:d4:e1:bd:d6:e7:26:ea:bb:c4:fe:6f:
- a2:c5:10:e4:64:2f:b0:44:04:2c:b3:44:39:cf:b4:de:ac:83:
- 43:5e:0b:ca:cd:fb:4e:18:e6:38:39:e7:10:3f:d6:59:17:e7:
- 42:ef:00:e3:88:c6:43:bc:21:12:bf:20:a8:64:c6:30:dc:8c:
- 6b:b8:6a:ce:6b:8a:22:3b:d8:af:0c:b4:bb:4d:be:96:dd:40:
- d9:87:3e:95:2e:1a:27:23:62:e8:6e:bd:e0:89:d0:a7:28:16:
- 95:ea:cb:89:a3:f7:7f:fb:0f:ac:ab:d6:a8:b4:cb:43:92:d9:
- cb:3e:8a:11
------BEGIN CERTIFICATE-----
-MIIDQjCCAiqgAwIBAgIBCTANBgkqhkiG9w0BAQsFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA/MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBMjU2MIIB
-IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA
-58e1bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa
-2BgtgBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe
-5mFnui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5H
-HLySruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhB
-BNXB37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wID
-AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4
-TDAfBgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQsF
-AAOCAQEAac75qdXiMtv+qfmSetZ2NwVRyeOhA3KyvCyGSzEWAhDoQ9TAMzxP6p0S
-a1dRvNfZQlbPxynn11IkSSmsnN6PzKsaqWIHWmv3+xmr9bEspKrcXQNzF3zqUkSA
-ynDTEMUu/Z/SDWXE8szvGxjhCghOZ9BWfyRULnMxtU0idPgw+ZLEZMlGgNThvdbn
-Juq7xP5vosUQ5GQvsEQELLNEOc+03qyDQ14Lys37ThjmODnnED/WWRfnQu8A44jG
-Q7whEr8gqGTGMNyMa7hqzmuKIjvYrwy0u02+lt1A2Yc+lS4aJyNi6G694InQpygW
-lerLiaP3f/sPrKvWqLTLQ5LZyz6KEQ==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/cert_sha384.crt b/Externals/polarssl/programs/ssl/test-ca/cert_sha384.crt
deleted file mode 100644
index 73caac90df..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/cert_sha384.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 10 (0xa)
- Signature Algorithm: sha384WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA384
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha384WithRSAEncryption
- 68:e6:03:f0:ba:44:e7:cc:e1:b2:07:6c:56:c8:be:b7:ba:80:
- 61:c8:f9:66:57:e1:cb:60:7d:cd:8d:0f:66:b0:f2:61:45:fd:
- fc:c8:93:95:bb:b4:14:00:76:c7:e1:57:a6:e2:60:31:8b:fc:
- e1:0f:68:24:4c:bb:1d:c5:b6:77:ec:23:e1:5b:4f:10:6c:6a:
- e0:6d:e7:34:f8:72:14:ae:16:57:25:8b:e8:b9:71:a1:d0:78:
- ea:18:c1:51:c4:2e:26:6d:cb:80:8d:a5:b9:de:e7:37:c1:2b:
- ec:e8:98:c6:f9:1a:bf:fe:a3:de:3d:d6:59:98:45:dc:4a:a6:
- ad:0a:af:73:50:43:23:5a:9b:9a:f9:8f:ff:41:15:e5:9c:12:
- 9e:29:55:5c:79:9c:89:0c:c8:8a:82:86:b1:96:ae:7c:7d:4f:
- 0b:fd:e3:9e:8b:a5:4d:88:55:05:ad:6c:63:aa:74:0c:41:0d:
- 47:22:cc:1a:45:02:92:5e:d1:e0:b9:31:52:ff:f6:30:f0:87:
- 2c:dd:fa:fa:b9:cc:45:cb:36:33:5b:35:7f:5f:05:4f:e0:8f:
- 9a:e4:d2:fa:c9:d4:fc:62:99:ac:59:fb:fd:04:bc:5a:c0:47:
- 5e:5d:3d:df:31:8c:7f:dc:00:cb:cb:c0:f4:62:41:44:db:1d:
- ba:c0:ad:8a
------BEGIN CERTIFICATE-----
-MIIDQjCCAiqgAwIBAgIBCjANBgkqhkiG9w0BAQwFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA/MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBMzg0MIIB
-IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA
-58e1bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa
-2BgtgBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe
-5mFnui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5H
-HLySruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhB
-BNXB37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wID
-AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4
-TDAfBgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQwF
-AAOCAQEAaOYD8LpE58zhsgdsVsi+t7qAYcj5Zlfhy2B9zY0PZrDyYUX9/MiTlbu0
-FAB2x+FXpuJgMYv84Q9oJEy7HcW2d+wj4VtPEGxq4G3nNPhyFK4WVyWL6LlxodB4
-6hjBUcQuJm3LgI2lud7nN8Er7OiYxvkav/6j3j3WWZhF3EqmrQqvc1BDI1qbmvmP
-/0EV5ZwSnilVXHmciQzIioKGsZaufH1PC/3jnoulTYhVBa1sY6p0DEENRyLMGkUC
-kl7R4LkxUv/2MPCHLN36+rnMRcs2M1s1f18FT+CPmuTS+snU/GKZrFn7/QS8WsBH
-Xl093zGMf9wAy8vA9GJBRNsdusCtig==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/cert_sha512.crt b/Externals/polarssl/programs/ssl/test-ca/cert_sha512.crt
deleted file mode 100644
index 4bb4eed039..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/cert_sha512.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 11 (0xb)
- Signature Algorithm: sha512WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA512
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha512WithRSAEncryption
- 84:68:78:72:54:00:bf:8a:45:28:35:be:18:47:d8:69:f6:67:
- de:a6:f8:a6:d0:fd:9f:79:f7:e8:02:8a:c3:83:5d:85:45:cc:
- b6:98:77:a7:18:3f:6b:d2:e4:d0:af:d5:52:d9:db:7e:4a:d3:
- 68:b0:08:64:14:de:c2:3b:1d:7b:ac:79:ad:49:5a:4c:f6:d2:
- 35:ef:a4:8c:b7:5b:d1:0b:7b:50:c6:9c:48:3e:96:3b:1b:0b:
- 0e:e8:10:3f:8c:3b:4f:6b:1d:5c:3a:27:f3:43:22:ac:37:11:
- 71:b8:07:66:b0:f8:71:c3:22:cf:f4:96:83:93:fb:42:b0:1a:
- 43:f9:4b:df:cb:5f:0f:ba:9e:80:f1:ff:08:3a:46:51:dc:d0:
- 36:bd:b1:c4:ca:fb:00:12:e7:e0:37:70:40:0e:73:19:63:c2:
- e5:da:56:77:07:68:a5:40:9e:d6:0f:ad:b5:b3:b2:f5:3f:01:
- e8:68:e7:a3:b0:d7:f3:dd:ff:b6:d7:8f:75:4e:25:ab:12:32:
- 99:45:ad:57:40:de:d7:b4:0d:d0:c3:66:89:47:f2:0c:b2:b5:
- df:52:0e:fa:63:62:65:89:07:4a:80:69:0e:4e:ba:c0:43:5d:
- 05:75:22:cf:50:f9:ac:bd:ef:8d:8c:10:08:b6:8b:62:4f:a1:
- 60:55:a3:0d
------BEGIN CERTIFICATE-----
-MIIDQjCCAiqgAwIBAgIBCzANBgkqhkiG9w0BAQ0FADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA/MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBNTEyMIIB
-IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA
-58e1bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa
-2BgtgBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe
-5mFnui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5H
-HLySruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhB
-BNXB37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wID
-AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4
-TDAfBgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQ0F
-AAOCAQEAhGh4clQAv4pFKDW+GEfYafZn3qb4ptD9n3n36AKKw4NdhUXMtph3pxg/
-a9Lk0K/VUtnbfkrTaLAIZBTewjsde6x5rUlaTPbSNe+kjLdb0Qt7UMacSD6WOxsL
-DugQP4w7T2sdXDon80MirDcRcbgHZrD4ccMiz/SWg5P7QrAaQ/lL38tfD7qegPH/
-CDpGUdzQNr2xxMr7ABLn4DdwQA5zGWPC5dpWdwdopUCe1g+ttbOy9T8B6Gjno7DX
-893/ttePdU4lqxIymUWtV0De17QN0MNmiUfyDLK131IO+mNiZYkHSoBpDk66wENd
-BXUiz1D5rL3vjYwQCLaLYk+hYFWjDQ==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/client1.crt b/Externals/polarssl/programs/ssl/test-ca/client1.crt
deleted file mode 100644
index e532a137e3..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/client1.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 3 (0x3)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:06 2011 GMT
- Not After : Feb 12 14:44:06 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Client 1
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:95:31:a2:ea:fb:4a:e0:94:a5:e4:49:69:b9:50:
- 7c:de:24:a0:26:f7:4a:a2:a5:c8:da:a4:a3:0e:a2:
- 82:5d:11:d1:4e:30:48:ca:c2:2e:41:8b:ce:ca:8c:
- 50:76:2e:22:d6:ad:b0:98:c5:d6:a3:0b:f9:93:83:
- 2a:47:23:01:b3:93:c9:51:61:a8:f5:27:a6:b8:fb:
- cc:88:20:0b:61:f4:19:77:3c:24:92:94:85:4a:ae:
- be:89:69:c0:12:22:b0:5f:19:7c:c6:0c:80:a9:c9:
- c6:7f:ea:9b:13:cf:ca:56:f5:5d:86:46:10:a3:17:
- c7:28:1a:96:e4:3b:78:49:f0:44:e5:71:0b:e6:ee:
- b4:39:8c:e6:36:1b:bd:6b:63:7a:dc:74:5a:53:99:
- c9:d6:1c:c2:45:04:2a:4b:95:42:c6:8e:a9:79:69:
- e6:b7:d3:6f:df:f2:fa:6f:65:e8:d7:13:68:88:70:
- 0e:6e:cd:aa:2d:be:13:c4:df:d7:f3:8f:97:88:2c:
- 70:0e:cc:dd:14:d7:db:d0:8b:12:a6:e4:3f:e6:43:
- bb:10:4e:d6:70:80:a7:99:af:52:24:fe:39:81:c2:
- a1:39:a8:63:ed:81:07:b2:09:49:9c:9d:bd:2e:69:
- 14:25:a2:9f:f3:ef:42:6a:62:2f:b7:ae:2c:71:ba:
- d9:59
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- DC:6E:4E:97:49:B9:7C:E5:B3:EA:E3:F9:85:A2:D2:F9:45:4C:CC:3B
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 06:a1:49:14:9c:4a:be:34:50:2b:a5:9f:04:3a:09:23:fb:ec:
- 04:e8:a3:f7:c5:80:1d:87:f6:3d:46:ca:dd:14:5d:e9:06:69:
- 72:9b:8c:c5:18:f2:2b:b9:7c:ed:1b:41:8d:f5:8e:c8:0a:fd:
- c0:7b:3e:72:f0:1c:d0:eb:0d:de:04:87:8a:35:44:a0:c5:68:
- 6b:8f:0e:5c:ee:d9:fb:de:99:9b:94:42:f6:b1:14:24:5e:77:
- 0a:9c:1d:94:55:c8:85:08:6d:2e:6d:65:4e:6f:62:ef:4d:f0:
- 7b:c6:eb:7e:e9:5a:65:1c:aa:d1:f5:36:39:81:37:cf:90:14:
- be:ce:a8:fe:bf:53:e1:ee:06:ee:42:a1:d8:19:58:a2:02:26:
- b8:96:92:e8:e8:62:5b:c2:a1:33:bc:f1:5b:03:8b:25:67:40:
- de:e7:f5:f5:af:cd:8c:86:18:8d:66:c7:5d:0e:c0:57:f1:dc:
- c2:24:58:0c:40:14:93:6b:6b:17:34:f1:cd:07:35:d0:76:68:
- 1b:9b:7a:b0:a7:a6:8a:3a:cc:e9:e1:a5:5a:8d:c6:16:7d:c9:
- f7:80:33:20:ae:5d:8b:8b:f3:52:8a:2c:7f:6d:a9:c2:3a:41:
- 44:e3:41:c1:69:6f:aa:53:41:39:69:1e:a8:8f:2e:47:70:06:
- 62:f7:da:77
------BEGIN CERTIFICATE-----
-MIIDPzCCAiegAwIBAgIBAzANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA2WhcNMjEwMjEyMTQ0NDA2WjA8MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIENsaWVudCAxMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlTGi6vtK4JSl5ElpuVB83iSgJvdK
-oqXI2qSjDqKCXRHRTjBIysIuQYvOyoxQdi4i1q2wmMXWowv5k4MqRyMBs5PJUWGo
-9SemuPvMiCALYfQZdzwkkpSFSq6+iWnAEiKwXxl8xgyAqcnGf+qbE8/KVvVdhkYQ
-oxfHKBqW5Dt4SfBE5XEL5u60OYzmNhu9a2N63HRaU5nJ1hzCRQQqS5VCxo6peWnm
-t9Nv3/L6b2Xo1xNoiHAObs2qLb4TxN/X84+XiCxwDszdFNfb0IsSpuQ/5kO7EE7W
-cICnma9SJP45gcKhOahj7YEHsglJnJ29LmkUJaKf8+9CamIvt64scbrZWQIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBTcbk6XSbl85bPq4/mFotL5RUzMOzAf
-BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQUFAAOC
-AQEABqFJFJxKvjRQK6WfBDoJI/vsBOij98WAHYf2PUbK3RRd6QZpcpuMxRjyK7l8
-7RtBjfWOyAr9wHs+cvAc0OsN3gSHijVEoMVoa48OXO7Z+96Zm5RC9rEUJF53Cpwd
-lFXIhQhtLm1lTm9i703we8brfulaZRyq0fU2OYE3z5AUvs6o/r9T4e4G7kKh2BlY
-ogImuJaS6OhiW8KhM7zxWwOLJWdA3uf19a/NjIYYjWbHXQ7AV/HcwiRYDEAUk2tr
-FzTxzQc10HZoG5t6sKemijrM6eGlWo3GFn3J94AzIK5di4vzUoosf22pwjpBRONB
-wWlvqlNBOWkeqI8uR3AGYvfadw==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/client1.key b/Externals/polarssl/programs/ssl/test-ca/client1.key
deleted file mode 100644
index 8a55d889d4..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/client1.key
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAlTGi6vtK4JSl5ElpuVB83iSgJvdKoqXI2qSjDqKCXRHRTjBI
-ysIuQYvOyoxQdi4i1q2wmMXWowv5k4MqRyMBs5PJUWGo9SemuPvMiCALYfQZdzwk
-kpSFSq6+iWnAEiKwXxl8xgyAqcnGf+qbE8/KVvVdhkYQoxfHKBqW5Dt4SfBE5XEL
-5u60OYzmNhu9a2N63HRaU5nJ1hzCRQQqS5VCxo6peWnmt9Nv3/L6b2Xo1xNoiHAO
-bs2qLb4TxN/X84+XiCxwDszdFNfb0IsSpuQ/5kO7EE7WcICnma9SJP45gcKhOahj
-7YEHsglJnJ29LmkUJaKf8+9CamIvt64scbrZWQIDAQABAoIBAAnyv1xP2VRUVSN9
-ybDzrv/ZDVzLzIw/5b6+j6jgKTUvhPdjvNbYT+FLA0T6Sjs3JFeQSWBGgONqXv/5
-FQ6dRPXGevwUOQHv3OwkziSdjmS/tBsBRacIhELQmB/tj0MmUQBmYK2ME+A+dh/9
-cs3FY0adIdlcPqvBYCRKcZlSZdj4NG9Ysmaw4GxxHDSOaFawShmdqXwPojy7SFi2
-z7kcFcR8KXkgnnWZvLHOfWqZXgpt+B1FZ5H2/trsJXRz2MpuJz1bk1bPiw608i+7
-dHaah+puj3/VKdBVOf6e1EKnyVw6UnJqZeUnp963zVFeld3UxzMr6fTsOxw/pVXg
-FFDK0SECgYEAxXn5symC/qe5xffw65VCy697joowClkeu6xtJmxqFDLuH99UiA7b
-Y9M2l4pJkdenGuPEpdEm/GZaJ30dV7ppBsKbdCUTXcroPhEWcc3dYWaA/QLrFzbp
-lg6j4EppiJovnT9iu9ZUXRo647pXYXqsSvfdShqvdIU5DnED9FI8wdUCgYEAwWiW
-htIVaZI0GTuNxQBi87ikueCLtSgT3zrKxnu1f9qhtipOGcFxwveTxsVQUo62UW/b
-g12lsYhqWETfIgIlackIkOvIJncLGNiMopoNZlnjq0iEkruUWsdVypN14FrDezSv
-yaAL6wKteSWmH+zB/22PI+NubtkqcXF2qBRLt3UCgYEAq7arrOHM2VjJTl6RrJhm
-s6zMuJ5qtaTW94QwiTe+af/7VdWhsImStdPkZZNG871cviIOTc13pAPwIuRFTpJ2
-Xv17pVvT4jvdBJNhO+YxuU8jnF4cRFxocyYZ05+A8tp3yrliRklRpH95c6oF72p3
-RN0RHC3mIWDywx78vEeCM10CgYEAsDfa7nv7hnTvgw3/3b68adOSQsmUgTpC4OFw
-X+fXNua88H0bK9xVCo8I1dJxnMbq1shT+R0aGudv/XzC0PmjnP7ODzzE4EcWlUy4
-1m4GR3sfNLCeGhNO2GdGg4xXmlMYSOl4QPzR3w5RgFANTIkrOM9Z3BkcRWMYiMQY
-mIvlcQECgYBtKT8Zyfs+anDMBrLAXhHOKjz9a4gtF04pmScURTRK2s4ljLxk1Mrq
-O2IcULXSwOkHW9qQw4gBdaLAg1XddoMrzNiv5oPKQkDqoc4QmRPM4cx5juHGflc8
-NZxGS6eA8ddtvrOWmLt3gY0ocRDrStKgWWoda4jG6bu6q3dQOi2sZQ==
------END RSA PRIVATE KEY-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/client2.crt b/Externals/polarssl/programs/ssl/test-ca/client2.crt
deleted file mode 100644
index b800f9835b..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/client2.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 4 (0x4)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Client 2
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:c8:74:c4:cc:b9:f9:b5:79:e9:45:d9:14:60:b0:
- 7d:bb:93:f2:6b:1e:9f:33:ad:0d:8f:8a:3c:56:65:
- e5:dc:44:d9:cc:66:85:07:d5:f8:27:b0:4a:35:d0:
- 63:9e:0a:6e:1b:b7:da:f0:7e:ab:ee:0c:10:93:86:
- 49:18:34:f3:a8:2a:d2:57:f5:2e:d4:2f:77:29:84:
- 61:4d:82:50:8f:a7:95:48:70:f5:6e:4d:b2:d5:13:
- c3:d2:1a:ed:e6:43:ea:42:14:eb:74:ea:c0:ed:1f:
- d4:57:4e:a9:f3:a8:ed:d2:e0:c1:30:71:30:32:30:
- d5:d3:f6:08:d0:56:4f:46:8e:f2:5f:f9:3d:67:91:
- 88:30:2e:42:b2:df:7d:fb:e5:0c:77:ff:ec:31:c0:
- 78:8f:bf:c2:7f:ca:ad:6c:21:d6:8d:d9:8b:6a:8e:
- 6f:e0:9b:f8:10:56:cc:b3:8e:13:15:e6:34:04:66:
- c7:ee:f9:36:0e:6a:95:f6:09:9a:06:67:f4:65:71:
- f8:ca:a4:b1:25:e0:fe:3c:8b:35:04:67:ba:e0:4f:
- 76:85:fc:7f:fc:36:6b:b5:e9:cd:2d:03:62:4e:b3:
- 3d:00:cf:af:76:a0:69:56:83:6a:d2:a8:d4:e7:50:
- 71:e6:b5:36:05:77:05:6d:7b:c8:e4:c4:fd:4c:d5:
- 21:5f
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 71:A1:00:73:72:40:2F:54:76:5E:33:FC:52:8F:BC:F1:DD:6B:46:21
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 02:7f:3a:8a:c0:0c:f1:7f:a6:57:02:6a:78:8b:6d:e8:4f:6c:
- 96:11:10:6c:0a:1f:ca:4f:9d:88:7d:4b:87:c6:3d:88:b9:56:
- 41:22:9b:c3:f5:17:62:3c:79:2c:b3:d9:72:78:a8:bf:12:1c:
- 01:10:bf:06:3c:99:47:d8:37:53:04:c7:34:63:66:fa:bc:2b:
- a9:ad:79:be:2b:8d:38:50:5c:87:29:17:fc:ea:ec:93:4d:84:
- 1f:b3:51:02:5c:39:58:b3:e8:ad:88:c4:0f:a7:1d:55:08:01:
- 97:da:2d:f7:71:dd:26:88:11:89:70:b1:12:b3:3b:34:2f:3f:
- 78:fe:75:d6:68:ea:fa:e2:c3:8c:b2:87:f1:93:d0:f0:8e:1e:
- 90:72:67:ae:82:ec:0e:42:30:5c:a1:88:b2:f2:01:1d:0c:b6:
- 69:cf:cd:c0:72:c2:40:e2:ba:99:fb:a6:d6:94:71:e7:65:78:
- 52:db:b9:74:b2:e3:0f:96:cc:c4:e0:42:ec:a5:38:c5:92:ae:
- 31:75:d9:33:af:fd:dd:86:f9:d4:af:c9:e1:a8:5f:d5:3c:49:
- 95:35:97:b6:7c:c3:af:db:1a:11:87:4d:cb:64:8a:63:fe:99:
- 88:33:47:0f:eb:2d:a4:02:a2:40:b0:16:68:0b:ac:21:62:98:
- 13:2c:3d:31
------BEGIN CERTIFICATE-----
-MIIDPzCCAiegAwIBAgIBBDANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA8MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIENsaWVudCAyMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyHTEzLn5tXnpRdkUYLB9u5Pyax6f
-M60Nj4o8VmXl3ETZzGaFB9X4J7BKNdBjngpuG7fa8H6r7gwQk4ZJGDTzqCrSV/Uu
-1C93KYRhTYJQj6eVSHD1bk2y1RPD0hrt5kPqQhTrdOrA7R/UV06p86jt0uDBMHEw
-MjDV0/YI0FZPRo7yX/k9Z5GIMC5Cst99++UMd//sMcB4j7/Cf8qtbCHWjdmLao5v
-4Jv4EFbMs44TFeY0BGbH7vk2DmqV9gmaBmf0ZXH4yqSxJeD+PIs1BGe64E92hfx/
-/DZrtenNLQNiTrM9AM+vdqBpVoNq0qjU51Bx5rU2BXcFbXvI5MT9TNUhXwIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBRxoQBzckAvVHZeM/xSj7zx3WtGITAf
-BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQUFAAOC
-AQEAAn86isAM8X+mVwJqeItt6E9slhEQbAofyk+diH1Lh8Y9iLlWQSKbw/UXYjx5
-LLPZcniovxIcARC/BjyZR9g3UwTHNGNm+rwrqa15viuNOFBchykX/Orsk02EH7NR
-Alw5WLPorYjED6cdVQgBl9ot93HdJogRiXCxErM7NC8/eP511mjq+uLDjLKH8ZPQ
-8I4ekHJnroLsDkIwXKGIsvIBHQy2ac/NwHLCQOK6mfum1pRx52V4Utu5dLLjD5bM
-xOBC7KU4xZKuMXXZM6/93Yb51K/J4ahf1TxJlTWXtnzDr9saEYdNy2SKY/6ZiDNH
-D+stpAKiQLAWaAusIWKYEyw9MQ==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/client2.key b/Externals/polarssl/programs/ssl/test-ca/client2.key
deleted file mode 100644
index ee1be3898c..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/client2.key
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAyHTEzLn5tXnpRdkUYLB9u5Pyax6fM60Nj4o8VmXl3ETZzGaF
-B9X4J7BKNdBjngpuG7fa8H6r7gwQk4ZJGDTzqCrSV/Uu1C93KYRhTYJQj6eVSHD1
-bk2y1RPD0hrt5kPqQhTrdOrA7R/UV06p86jt0uDBMHEwMjDV0/YI0FZPRo7yX/k9
-Z5GIMC5Cst99++UMd//sMcB4j7/Cf8qtbCHWjdmLao5v4Jv4EFbMs44TFeY0BGbH
-7vk2DmqV9gmaBmf0ZXH4yqSxJeD+PIs1BGe64E92hfx//DZrtenNLQNiTrM9AM+v
-dqBpVoNq0qjU51Bx5rU2BXcFbXvI5MT9TNUhXwIDAQABAoIBAGdNtfYDiap6bzst
-yhCiI8m9TtrhZw4MisaEaN/ll3XSjaOG2dvV6xMZCMV+5TeXDHOAZnY18Yi18vzz
-4Ut2TnNFzizCECYNaA2fST3WgInnxUkV3YXAyP6CNxJaCmv2aA0yFr2kFVSeaKGt
-ymvljNp2NVkvm7Th8fBQBO7I7AXhz43k0mR7XmPgewe8ApZOG3hstkOaMvbWAvWA
-zCZupdDjZYjOJqlA4eEA4H8/w7F83r5CugeBE8LgEREjLPiyejrU5H1fubEY+h0d
-l5HZBJ68ybTXfQ5U9o/QKA3dd0toBEhhdRUDGzWtjvwkEQfqF1reGWj/tod/gCpf
-DFi6X0ECgYEA4wOv/pjSC3ty6TuOvKX2rOUiBrLXXv2JSxZnMoMiWI5ipLQt+RYT
-VPafL/m7Dn6MbwjayOkcZhBwk5CNz5A6Q4lJ64Mq/lqHznRCQQ2Mc1G8eyDF/fYL
-Ze2pLvwP9VD5jTc2miDfw+MnvJhywRRLcemDFP8k4hQVtm8PMp3ZmNECgYEA4gz7
-wzObR4gn8ibe617uQPZjWzUj9dUHYd+in1gwBCIrtNnaRn9I9U/Q6tegRYpii4ys
-c176NmU+umy6XmuSKV5qD9bSpZWG2nLFnslrN15Lm3fhZxoeMNhBaEDTnLT26yoi
-33gp0mSSWy94ZEqipms+ULF6sY1ZtFW6tpGFoy8CgYAQHhnnvJflIs2ky4q10B60
-ZcxFp3rtDpkp0JxhFLhiizFrujMtZSjYNm5U7KkgPVHhLELEUvCmOnKTt4ap/vZ0
-BxJNe1GZH3pW6SAvGDQpl9sG7uu/vTFP+lCxukmzxB0DrrDcvorEkKMom7ZCCRvW
-KZsZ6YeH2Z81BauRj218kQKBgQCUV/DgKP2985xDTT79N08jUo3hTP5MVYCCuj/+
-UeEw1TvZcx3LJby7P6Xad6a1/BqveaGyFKIfEFIaBUBItk801sDDpDaYc4gL00Xc
-7lFuBHOZkxJYlss5QrGpuOEl9ZwUt5IrFLBdYaKqNHzNVC1pCPfb/JyH6Dr2HUxq
-gxUwAQKBgQCcU6G2L8AG9d9c0UpOyL1tMvFe5Ttw0KjlQVdsh1MP6yigYo9DYuwu
-bHFVW2r0dBTqegP2/KTOxKzaHfC1qf0RGDsUoJCNJrd1cwoCLG8P2EF4w3OBrKqv
-8u4ytY0F+Vlanj5lm3TaoHSVF1+NWPyOTiwevIECGKwSxvlki4fDAA==
------END RSA PRIVATE KEY-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/client2.pfx b/Externals/polarssl/programs/ssl/test-ca/client2.pfx
deleted file mode 100644
index e6df4ea5ec..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/client2.pfx
+++ /dev/null
Binary files differ
diff --git a/Externals/polarssl/programs/ssl/test-ca/crl.pem b/Externals/polarssl/programs/ssl/test-ca/crl.pem
deleted file mode 100644
index 2bd10968e7..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/crl.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIyMDEwMjI1
-OVoXDTE5MTEyNTEwMjI1OVowKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQEFBQADggEBAJYuWdKPdblMVWCnxpMnchuL
-dqWzK2BA0RelCaGjpxuwX3NmLDm+5hKja/DJxaRqTOf4RSC3kcX8CdIldsLO96dz
-//wAQdFPDhy6AFT5vKTO8ItPHDb7qFOqFqpeJi5XN1yoZGTB1ei0mgD3xBaKbp6U
-yCOZJSIFomt7piT4GcgWVHLUmpyHDDeodNhYPrN0jf2mr+ECd9fQJYdz1qm0Xx+Q
-NbKXDiPRmPX0qVleCZSeSp1JAmU4GoCO+96qQUpjgll+6xWya3UNj61f9sh0Zzr7
-5ug2LZo5uBM/LpNR1K3TLxNCcg7uUPTn9r143d7ivJhPl3tEJn4PXjv6mlLoOgU=
------END X509 CRL-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/crl_md2.pem b/Externals/polarssl/programs/ssl/test-ca/crl_md2.pem
deleted file mode 100644
index e69de29bb2..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/crl_md2.pem
+++ /dev/null
diff --git a/Externals/polarssl/programs/ssl/test-ca/crl_md4.pem b/Externals/polarssl/programs/ssl/test-ca/crl_md4.pem
deleted file mode 100644
index 1f77dab78c..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/crl_md4.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQMFADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIxMjE0NDQw
-N1oXDTExMDQxMzE0NDQwN1owKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQEDBQADggEBAIJtYXy3uwIpmSGfi9muS8xv
-36FT6g3s1V/xicdPa54juJgBI6sxHKzQtbSNIbqadEWwUtvQ8k1EMRo9UGObhRV8
-i+UWm5qi0GFV7nMi4E2p2Ji/sFKtgdxkzhCfn+p3MoGgx/nC7YtwpnNdF+kuCV1M
-JTPqfm+taZkYADOafP/hRaPx3TI+HNE3ux4Cb7hNpWdfWzt48ZPMuhCMzItLd/UK
-xxjJam9XAGUTKi7+eWtma9XzmYOIElQv2KFPVMcx5nvg039rrWK6tObGL67kCfTH
-v+nIx7rAOW6UNU8aj1kfJHYjEKMBH1I9wjMSHUpkxBLQOKlPNRksiEVsIhmEVss=
------END X509 CRL-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/crl_md5.pem b/Externals/polarssl/programs/ssl/test-ca/crl_md5.pem
deleted file mode 100644
index 1b17967ec8..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/crl_md5.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQQFADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIxMjE0NDQw
-N1oXDTExMDQxMzE0NDQwN1owKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQEEBQADggEBAKKCJZ1MwL+gKAw3RV4qEmb9
-gMDdSLJ1Vdkn9FgDx2ijNnYDtvaW+I3sOXrq7O6gVN1KEamJJbufVJA5+OE2oVbC
-husEdgQm8D5TbrGcjPIPWxgYyuuRsl7XovZhXnqTIUrC+J8oH9XzKaMc+HZb5UhR
-h8bzcyp+9jbBje7lWwKTzkuvd/I7VbS02TUkWFJTrYB0Laj8WMcgcZiyX0iZuj8j
-4hOupu0lPoSzZ4h7t0Vmay6wO+8n8LJohyiwYS7LddpOjIdP0MWifN7u/ArqNNlh
-2kg8eAc1pYOU/pJFTAAbOmC/kQpa9skd+PPIPPh9T53o3yeDQA0vFqN92JryCCU=
------END X509 CRL-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/crl_sha1.pem b/Externals/polarssl/programs/ssl/test-ca/crl_sha1.pem
deleted file mode 100644
index 049bebfcf5..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/crl_sha1.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIxMjE0NDQw
-N1oXDTExMDQxMzE0NDQwN1owKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQEFBQADggEBAG64jqn7VLdvnKROsbCPR8w9
-xnox9vjuM2lGWema9sTuptw9EhArVSbibXZ1IPPyrEy1QOq3NukBqUW3KzOzYV5M
-BxZSa28FTQxtVChWkDUIMCK8BSxy07yieFf/3A8mbfcW3ZzN4akLxOweuFp6l2H7
-9oa2jeUi1BlHCZS6JYI2pHZl8qiMRiqqMleSM2k1w7TraKLNBFM8UK72brXeZjPi
-nNOzdYsQDzWo1HW7dsLWLfZKoJeyqvofVDQpC5dO56kty/do89z1OnEXfzMNeVVT
-JCeAOzuu6kdrf+9keRoWhcIoBos/XtTV57u0pgr81bLgjj5PYivevKL/kKbyvKI=
------END X509 CRL-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/crl_sha224.pem b/Externals/polarssl/programs/ssl/test-ca/crl_sha224.pem
deleted file mode 100644
index 066f5be070..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/crl_sha224.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQ4FADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIxMjE0NDQw
-N1oXDTExMDQxMzE0NDQwN1owKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQEOBQADggEBAL2sIly2OwgBu9UfEImduTG/
-RtGEO8RkXbCRJPLZaVGQh9b8rCRVHL9tIWm372FVkKyYEm3mIrl2ry16RznRt5yx
-Dd8/DKUGUlIe1KwzjDc9O7bv1FDSXHd1USmGTheKDHNtuJXYENMHdoyR2k2BVGOZ
-ie4zUcSpqyMjBlUjgNmXN6gQIcrRImumVUjMk74+rWTa0hQ0piF2qlRuE1dDqcZP
-LkE/92rbnFeRAO91XUeEj13dif2UjlArFWd62AFp0wtIn2sb7wahhUj9/rEs6Wgx
-kdiNsRMto6/ixLrPu3vxs80ZPWHey587T1ZZ9bS/wDkp9W+W0rGyRoPVmqiKtvM=
------END X509 CRL-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/crl_sha256.pem b/Externals/polarssl/programs/ssl/test-ca/crl_sha256.pem
deleted file mode 100644
index c3ca25699f..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/crl_sha256.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQsFADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIxMjE0NDQw
-N1oXDTExMDQxMzE0NDQwN1owKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQELBQADggEBAG4mBBgwfNynCYYL2CEnqore
-mgKpC32tB6WiUBu9figcvdN3nSX/1wrB8rpiE8R04C8oSFglwhotJCnlWsy42tjb
-0pk0Wuizln0PFMc/OypqRNNhwx31SHH42W4KzONiqvq3n/WkH3M1YniR1ZnMlyvi
-lJioQn6ZAoc6O6mMP1J9duKYYhiMAOV992PD1/iqXw+jYN31RwdIS8/mGzIs4ake
-EdviwhM3E4/sVbNOWCOnZFYV4m+yNAEe29HL1VKw6UXixBczct+brqXNVD3U6T0F
-5ovR6BTefZO17eT52Duke5RZGDUyQOGywxOYKI5W+FcOYdp+U5Idk399tAz2Mdw=
------END X509 CRL-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/crl_sha384.pem b/Externals/polarssl/programs/ssl/test-ca/crl_sha384.pem
deleted file mode 100644
index b3baa2a950..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/crl_sha384.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQwFADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIxMjE0NDQw
-N1oXDTExMDQxMzE0NDQwN1owKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQEMBQADggEBAC0GpmRvsrvshp1q/SXk80HA
-m28ZvEuys9zY5/AnrtYHQfsX9QRJk5li7PlnzHtVGp8I5Qi4mJVPaJ+JmhqAc/oo
-NPmxDx8m9XF9v0XHzqQZIWlPXH8QM9WLzTazbQFXhuwnZ6LPhpo+m8cbN91mUFil
-9g+SGkma+VYV+yPRNmKyldcRVvPZUIkhTCMWkZoYrbDXUmkVQpsgz2c5ksIeMI/7
-4Qj9J38I9AOt0DlQ3etFhNc0OMnR7zY8tn9B4dejoNklEZfiyDxsDZVPusZrxnWM
-WxuehOGHZf3YESjLMtR7BW26QRHIF/nhGDHsbLiunxXI6eJlbYFoZMfwc6TMqnc=
------END X509 CRL-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/crl_sha512.pem b/Externals/polarssl/programs/ssl/test-ca/crl_sha512.pem
deleted file mode 100644
index 4d712e55de..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/crl_sha512.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQ0FADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIxMjE0NDQw
-N1oXDTExMDQxMzE0NDQwN1owKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQENBQADggEBAH6GU24hd6d/5PmDusT+h2Kl
-e7scmhkZDPU+VJSnzHdEREYTPaoFqyVBuJOE95lZELEqdOauhO3lG2WEQVGcgEcv
-4jS2EzR3BYex1c1upqGtdIvIoA9TOLukdy6KeauomiWho2Kd7bSaXHy20jwdkLko
-/t3lVhTtBvKbh8XHVYwCaw1aCj3LydwNcS+zPnRgsMVHszFxmMNn5HCRW8lbYwcf
-UA98OmxIZs2hpBKRpvlfA5y6sXEx2+tSMg+MJrziGBgG6OR/m+KTaK5Yle9nrC+7
-hzKIe83hpktvfB1CY5Ak4Uke9/1FRqAjs5KCRxYSGQ7ZdS7DgAeGwT3slLbl/tY=
------END X509 CRL-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/gen_test_ca.sh b/Externals/polarssl/programs/ssl/test-ca/gen_test_ca.sh
deleted file mode 100644
index 65cf9aa51d..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/gen_test_ca.sh
+++ /dev/null
@@ -1,108 +0,0 @@
-#!/bin/sh
-rm -rf index newcerts/*.pem serial *.req *.key *.crt crl.prm
-
-touch index
-echo "01" > serial
-
-PASSWORD=PolarSSLTest
-
-echo "Generating CA"
-cat sslconf.txt > sslconf_use.txt
-echo "CN=PolarSSL Test CA" >> sslconf_use.txt
-
-openssl req -config sslconf_use.txt -days 3653 -x509 -newkey rsa:2048 \
- -set_serial 0 -text -keyout test-ca.key -out test-ca.crt \
- -passout pass:$PASSWORD
-
-echo "Generating rest"
-openssl genrsa -out server1.key 2048
-openssl genrsa -out server2.key 2048
-openssl genrsa -out client1.key 2048
-openssl genrsa -out client2.key 2048
-openssl genrsa -out cert_digest.key 2048
-
-echo "Generating requests"
-cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Server 1" >> sslconf_use.txt
-openssl req -config sslconf_use.txt -new -key server1.key -out server1.req
-
-cat sslconf.txt > sslconf_use.txt;echo "CN=localhost" >> sslconf_use.txt
-openssl req -config sslconf_use.txt -new -key server2.key -out server2.req
-
-cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Client 1" >> sslconf_use.txt
-openssl req -config sslconf_use.txt -new -key client1.key -out client1.req
-
-cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Client 2" >> sslconf_use.txt
-openssl req -config sslconf_use.txt -new -key client2.key -out client2.req
-
-cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert MD2" >> sslconf_use.txt
-openssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_md2.req -md2
-
-cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert MD4" >> sslconf_use.txt
-openssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_md4.req -md4
-
-cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert MD5" >> sslconf_use.txt
-openssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_md5.req -md5
-
-cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert SHA1" >> sslconf_use.txt
-openssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_sha1.req -sha1
-
-cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert SHA224" >> sslconf_use.txt
-openssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_sha224.req -sha224
-
-cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert SHA256" >> sslconf_use.txt
-openssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_sha256.req -sha256
-
-cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert SHA384" >> sslconf_use.txt
-openssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_sha384.req -sha384
-
-cat sslconf.txt > sslconf_use.txt;echo "CN=PolarSSL Cert SHA512" >> sslconf_use.txt
-openssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_sha512.req -sha512
-
-cat sslconf.txt > sslconf_use.txt;echo "CN=*.example.com" >> sslconf_use.txt
-openssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_example_wildcard.req
-
-cat sslconf.txt > sslconf_use.txt;echo "CN=www.example.com" >> sslconf_use.txt
-echo "[ v3_req ]" >> sslconf_use.txt
-echo "subjectAltName = \"DNS:example.com,DNS:example.net,DNS:*.example.org\"" >> sslconf_use.txt
-openssl req -config sslconf_use.txt -new -key cert_digest.key -out cert_example_multi.req -reqexts "v3_req"
-
-echo "Signing requests"
-for i in server1 server2 client1 client2;
-do
- openssl ca -config sslconf.txt -out $i.crt -passin pass:$PASSWORD \
- -batch -in $i.req
-done
-
-for i in md2 md4 md5 sha1 sha224 sha256 sha384 sha512;
-do
- openssl ca -config sslconf.txt -out cert_$i.crt -passin pass:$PASSWORD \
- -batch -in cert_$i.req -md $i
-done
-
-for i in example_wildcard example_multi;
-do
- openssl ca -config sslconf.txt -out cert_$i.crt -passin pass:$PASSWORD \
- -batch -in cert_$i.req
-done
-
-echo "Revoking firsts"
-openssl ca -batch -config sslconf.txt -revoke server1.crt -passin pass:$PASSWORD
-openssl ca -batch -config sslconf.txt -revoke client1.crt -passin pass:$PASSWORD
-openssl ca -batch -config sslconf.txt -gencrl -out crl.pem -passin pass:$PASSWORD
-
-for i in md2 md4 md5 sha1 sha224 sha256 sha384 sha512;
-do
- openssl ca -batch -config sslconf.txt -gencrl -out crl_$i.pem -md $i -passin pass:$PASSWORD
-done
-
-echo "Verifying second"
-openssl x509 -in server2.crt -text -noout
-cat test-ca.crt crl.pem > ca_crl.pem
-openssl verify -CAfile ca_crl.pem -crl_check server2.crt
-rm ca_crl.pem
-
-echo "Generating PKCS12"
-openssl pkcs12 -export -in client2.crt -inkey client2.key \
- -out client2.pfx -passout pass:$PASSWORD
-
-rm *.old sslconf_use.txt
diff --git a/Externals/polarssl/programs/ssl/test-ca/index b/Externals/polarssl/programs/ssl/test-ca/index
deleted file mode 100644
index a334c8e5e9..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/index
+++ /dev/null
@@ -1,17 +0,0 @@
-R 210212144406Z 110212144407Z 01 unknown /C=NL/O=PolarSSL/CN=PolarSSL Server 1
-V 210212144406Z 02 unknown /C=NL/O=PolarSSL/CN=localhost
-R 210212144406Z 110212144407Z 03 unknown /C=NL/O=PolarSSL/CN=PolarSSL Client 1
-V 210212144407Z 04 unknown /C=NL/O=PolarSSL/CN=PolarSSL Client 2
-V 210212144407Z 05 unknown /C=NL/O=PolarSSL/CN=PolarSSL Cert MD4
-V 210212144407Z 06 unknown /C=NL/O=PolarSSL/CN=PolarSSL Cert MD5
-V 210212144407Z 07 unknown /C=NL/O=PolarSSL/CN=PolarSSL Cert SHA1
-V 210212144407Z 08 unknown /C=NL/O=PolarSSL/CN=PolarSSL Cert SHA224
-V 210212144407Z 09 unknown /C=NL/O=PolarSSL/CN=PolarSSL Cert SHA256
-V 210212144407Z 0A unknown /C=NL/O=PolarSSL/CN=PolarSSL Cert SHA384
-V 210212144407Z 0B unknown /C=NL/O=PolarSSL/CN=PolarSSL Cert SHA512
-V 220207160636Z 0C unknown /C=NL/O=PolarSSL/CN=*.example.com
-V 220207160636Z 0D unknown /C=NL/O=PolarSSL/CN=example.com
-V 220207160636Z 0E unknown /C=NL/O=PolarSSL/CN=www.example.com
-V 220207160636Z 0F unknown /C=NL/O=PolarSSL/CN=www.example.com
-V 220211172555Z 10 unknown /C=NL/O=PolarSSL/CN=www.example.com
-V 220511132341Z 11 unknown /C=NL/O=PolarSSL/CN=www.example.com
diff --git a/Externals/polarssl/programs/ssl/test-ca/index.attr b/Externals/polarssl/programs/ssl/test-ca/index.attr
deleted file mode 100644
index 3a7e39e6ee..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/index.attr
+++ /dev/null
@@ -1 +0,0 @@
-unique_subject = no
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/01.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/01.pem
deleted file mode 100644
index 7e353cc6e1..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/01.pem
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 1 (0x1)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:06 2011 GMT
- Not After : Feb 12 14:44:06 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Server 1
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:a9:02:1f:3d:40:6a:d5:55:53:8b:fd:36:ee:82:
- 65:2e:15:61:5e:89:bf:b8:e8:45:90:db:ee:88:16:
- 52:d3:f1:43:50:47:96:12:59:64:87:6b:fd:2b:e0:
- 46:f9:73:be:dd:cf:92:e1:91:5b:ed:66:a0:6f:89:
- 29:79:45:80:d0:83:6a:d5:41:43:77:5f:39:7c:09:
- 04:47:82:b0:57:39:70:ed:a3:ec:15:19:1e:a8:33:
- 08:47:c1:05:42:a9:fd:4c:c3:b4:df:dd:06:1f:4d:
- 10:51:40:67:73:13:0f:40:f8:6d:81:25:5f:0a:b1:
- 53:c6:30:7e:15:39:ac:f9:5a:ee:7f:92:9e:a6:05:
- 5b:e7:13:97:85:b5:23:92:d9:d4:24:06:d5:09:25:
- 89:75:07:dd:a6:1a:8f:3f:09:19:be:ad:65:2c:64:
- eb:95:9b:dc:fe:41:5e:17:a6:da:6c:5b:69:cc:02:
- ba:14:2c:16:24:9c:4a:dc:cd:d0:f7:52:67:73:f1:
- 2d:a0:23:fd:7e:f4:31:ca:2d:70:ca:89:0b:04:db:
- 2e:a6:4f:70:6e:9e:ce:bd:58:89:e2:53:59:9e:6e:
- 5a:92:65:e2:88:3f:0c:94:19:a3:dd:e5:e8:9d:95:
- 13:ed:29:db:ab:70:12:dc:5a:ca:6b:17:ab:52:82:
- 54:b1
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 1F:74:D6:3F:29:C1:74:74:45:3B:05:12:2C:3D:A8:BD:43:59:02:A6
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- bd:cf:96:c1:95:1e:9a:c2:6e:d8:88:88:d8:2a:7a:96:20:3e:
- 50:0b:c8:c7:df:1d:41:ed:e4:66:cd:b3:02:81:7d:57:04:1b:
- 5d:c6:33:59:0f:c1:20:b9:23:34:89:8a:6c:f2:fd:c7:48:36:
- 8c:80:e7:e1:9b:c6:60:5c:b0:33:02:0e:fd:df:be:61:bc:18:
- 89:0c:38:db:fb:fb:46:23:32:f7:8c:c1:3e:7c:de:1e:2f:3a:
- 77:2f:f4:8e:93:8e:25:4c:77:21:74:6c:18:b7:72:8d:bf:f5:
- 4f:5d:64:95:c1:6a:1a:70:11:88:af:bc:55:8a:25:30:f3:fa:
- 69:f2:af:2d:75:fb:2b:89:22:52:9b:05:42:15:29:13:95:5e:
- 33:9a:55:d4:c7:22:d8:44:ce:25:ab:b6:70:ee:34:14:9b:c8:
- fc:2f:56:ff:04:7e:18:00:2b:31:ac:36:7f:11:bb:ec:4d:e5:
- 69:a6:b4:2c:03:a5:7b:13:3a:03:82:8e:6f:97:f9:70:64:cc:
- e4:88:7a:b4:41:79:15:5a:b7:ff:db:f3:34:86:0c:6b:51:6a:
- cd:a7:01:2d:91:7c:cd:21:d8:2c:48:a6:5c:17:73:8c:1a:0d:
- e2:a0:d4:fd:6c:d1:c9:84:41:46:30:08:e3:d9:b3:1d:7e:ab:
- 6a:57:aa:9f
------BEGIN CERTIFICATE-----
-MIIDPzCCAiegAwIBAgIBATANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA2WhcNMjEwMjEyMTQ0NDA2WjA8MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIFNlcnZlciAxMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqQIfPUBq1VVTi/027oJlLhVhXom/
-uOhFkNvuiBZS0/FDUEeWEllkh2v9K+BG+XO+3c+S4ZFb7Wagb4kpeUWA0INq1UFD
-d185fAkER4KwVzlw7aPsFRkeqDMIR8EFQqn9TMO0390GH00QUUBncxMPQPhtgSVf
-CrFTxjB+FTms+Vruf5KepgVb5xOXhbUjktnUJAbVCSWJdQfdphqPPwkZvq1lLGTr
-lZvc/kFeF6babFtpzAK6FCwWJJxK3M3Q91Jnc/EtoCP9fvQxyi1wyokLBNsupk9w
-bp7OvViJ4lNZnm5akmXiiD8MlBmj3eXonZUT7Snbq3AS3FrKaxerUoJUsQIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQfdNY/KcF0dEU7BRIsPai9Q1kCpjAf
-BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQUFAAOC
-AQEAvc+WwZUemsJu2IiI2Cp6liA+UAvIx98dQe3kZs2zAoF9VwQbXcYzWQ/BILkj
-NImKbPL9x0g2jIDn4ZvGYFywMwIO/d++YbwYiQw42/v7RiMy94zBPnzeHi86dy/0
-jpOOJUx3IXRsGLdyjb/1T11klcFqGnARiK+8VYolMPP6afKvLXX7K4kiUpsFQhUp
-E5VeM5pV1Mci2ETOJau2cO40FJvI/C9W/wR+GAArMaw2fxG77E3laaa0LAOlexM6
-A4KOb5f5cGTM5Ih6tEF5FVq3/9vzNIYMa1FqzacBLZF8zSHYLEimXBdzjBoN4qDU
-/WzRyYRBRjAI49mzHX6raleqnw==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/02.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/02.pem
deleted file mode 100644
index dca4c24230..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/02.pem
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 2 (0x2)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:06 2011 GMT
- Not After : Feb 12 14:44:06 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=localhost
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:c1:4d:a3:dd:e7:cd:1d:d1:04:d7:49:72:b8:99:
- ac:0e:78:e4:3a:3c:4a:cf:3a:13:16:d0:5a:e4:cd:
- a3:00:88:a7:ee:1e:6b:96:a7:52:b4:90:ef:2d:72:
- 7a:3e:24:9a:fc:b6:34:ac:24:f5:77:e0:26:64:8c:
- 9c:b0:28:7d:a1:da:ea:8c:e6:c9:1c:96:bc:fe:c1:
- 04:52:b3:36:d4:a3:fa:e1:b1:76:d8:90:c1:61:b4:
- 66:52:36:a2:26:53:aa:ab:74:5e:07:7d:19:82:db:
- 2a:d8:1f:a0:d9:0d:1c:2d:49:66:f7:5b:25:73:46:
- e8:0b:8a:4f:69:0c:b5:00:90:e1:da:82:10:66:7d:
- ae:54:2b:8b:65:79:91:a1:e2:61:c3:cd:40:49:08:
- ee:68:0c:f1:8b:86:d2:46:bf:d0:b8:aa:11:03:1e:
- 7f:56:a8:1a:1e:44:18:0f:0f:85:8b:da:8b:44:5e:
- e2:18:c6:62:2f:c7:66:8d:fa:5d:d8:7d:f3:27:89:
- 29:01:c5:90:0e:3f:27:f1:30:c8:4a:0e:ef:d6:de:
- c7:c7:27:6b:c7:05:3d:7a:c4:02:3c:9a:1d:3e:0f:
- e8:34:98:5b:cb:73:4b:52:96:d8:11:a2:2c:80:88:
- 69:39:5a:d3:0f:b0:de:59:2f:11:c7:f7:ea:12:01:
- 30:97
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- A5:05:E8:64:B8:DC:DF:60:0F:50:12:4D:60:A8:64:AF:4D:8B:43:93
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 9c:67:5c:29:58:a0:79:1b:a7:bd:1c:a8:1a:ec:19:72:f2:6c:
- 0e:f8:73:36:ce:e5:17:4b:12:01:6c:ee:b1:d5:4b:da:fe:73:
- 6f:77:96:e4:bf:29:d9:62:2d:27:19:a8:0c:d8:57:29:70:51:
- f4:56:bc:a3:28:5a:11:d8:2a:9d:dd:10:84:b8:c5:35:e4:eb:
- fe:73:5f:18:6f:f5:1c:3c:48:67:3c:aa:7e:af:21:31:e4:d5:
- 2d:66:3d:eb:ed:7a:48:1a:b1:8e:58:89:64:2e:33:78:78:61:
- 59:51:1f:71:c7:10:c0:03:d5:39:c0:7b:17:d7:1c:70:c5:40:
- 67:be:05:dd:62:01:bc:f5:fe:c1:fd:1f:c9:78:4a:dc:17:e9:
- e8:2f:4c:ad:cc:c1:74:70:90:a9:2f:8c:a6:84:0c:0f:40:4d:
- b6:71:d2:62:3c:2c:6b:31:4a:e0:aa:7b:da:fd:77:28:e6:b6:
- d7:78:ec:9d:69:d5:1b:a5:cf:70:8b:cd:a4:5c:54:8b:92:45:
- 14:1f:68:3f:27:78:cf:5c:d5:2f:e2:27:f6:a6:4d:5a:89:c4:
- 0d:4a:39:d3:92:e7:bf:34:5a:13:df:48:0a:c0:fa:0e:2a:02:
- 64:a3:7a:57:37:a7:8c:16:a6:16:bc:ce:1b:98:c2:35:6e:5f:
- a2:47:1b:47
------BEGIN CERTIFICATE-----
-MIIDNzCCAh+gAwIBAgIBAjANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA2WhcNMjEwMjEyMTQ0NDA2WjA0MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxEjAQBgNVBAMTCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcN
-AQEBBQADggEPADCCAQoCggEBAMFNo93nzR3RBNdJcriZrA545Do8Ss86ExbQWuTN
-owCIp+4ea5anUrSQ7y1yej4kmvy2NKwk9XfgJmSMnLAofaHa6ozmyRyWvP7BBFKz
-NtSj+uGxdtiQwWG0ZlI2oiZTqqt0Xgd9GYLbKtgfoNkNHC1JZvdbJXNG6AuKT2kM
-tQCQ4dqCEGZ9rlQri2V5kaHiYcPNQEkI7mgM8YuG0ka/0LiqEQMef1aoGh5EGA8P
-hYvai0Re4hjGYi/HZo36Xdh98yeJKQHFkA4/J/EwyEoO79bex8cna8cFPXrEAjya
-HT4P6DSYW8tzS1KW2BGiLICIaTla0w+w3lkvEcf36hIBMJcCAwEAAaNNMEswCQYD
-VR0TBAIwADAdBgNVHQ4EFgQUpQXoZLjc32APUBJNYKhkr02LQ5MwHwYDVR0jBBgw
-FoAUtFrkpbPe0lL2udWmlQ/rPrzH/f8wDQYJKoZIhvcNAQEFBQADggEBAJxnXClY
-oHkbp70cqBrsGXLybA74czbO5RdLEgFs7rHVS9r+c293luS/KdliLScZqAzYVylw
-UfRWvKMoWhHYKp3dEIS4xTXk6/5zXxhv9Rw8SGc8qn6vITHk1S1mPevtekgasY5Y
-iWQuM3h4YVlRH3HHEMAD1TnAexfXHHDFQGe+Bd1iAbz1/sH9H8l4StwX6egvTK3M
-wXRwkKkvjKaEDA9ATbZx0mI8LGsxSuCqe9r9dyjmttd47J1p1Rulz3CLzaRcVIuS
-RRQfaD8neM9c1S/iJ/amTVqJxA1KOdOS5780WhPfSArA+g4qAmSjelc3p4wWpha8
-zhuYwjVuX6JHG0c=
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/03.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/03.pem
deleted file mode 100644
index e532a137e3..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/03.pem
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 3 (0x3)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:06 2011 GMT
- Not After : Feb 12 14:44:06 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Client 1
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:95:31:a2:ea:fb:4a:e0:94:a5:e4:49:69:b9:50:
- 7c:de:24:a0:26:f7:4a:a2:a5:c8:da:a4:a3:0e:a2:
- 82:5d:11:d1:4e:30:48:ca:c2:2e:41:8b:ce:ca:8c:
- 50:76:2e:22:d6:ad:b0:98:c5:d6:a3:0b:f9:93:83:
- 2a:47:23:01:b3:93:c9:51:61:a8:f5:27:a6:b8:fb:
- cc:88:20:0b:61:f4:19:77:3c:24:92:94:85:4a:ae:
- be:89:69:c0:12:22:b0:5f:19:7c:c6:0c:80:a9:c9:
- c6:7f:ea:9b:13:cf:ca:56:f5:5d:86:46:10:a3:17:
- c7:28:1a:96:e4:3b:78:49:f0:44:e5:71:0b:e6:ee:
- b4:39:8c:e6:36:1b:bd:6b:63:7a:dc:74:5a:53:99:
- c9:d6:1c:c2:45:04:2a:4b:95:42:c6:8e:a9:79:69:
- e6:b7:d3:6f:df:f2:fa:6f:65:e8:d7:13:68:88:70:
- 0e:6e:cd:aa:2d:be:13:c4:df:d7:f3:8f:97:88:2c:
- 70:0e:cc:dd:14:d7:db:d0:8b:12:a6:e4:3f:e6:43:
- bb:10:4e:d6:70:80:a7:99:af:52:24:fe:39:81:c2:
- a1:39:a8:63:ed:81:07:b2:09:49:9c:9d:bd:2e:69:
- 14:25:a2:9f:f3:ef:42:6a:62:2f:b7:ae:2c:71:ba:
- d9:59
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- DC:6E:4E:97:49:B9:7C:E5:B3:EA:E3:F9:85:A2:D2:F9:45:4C:CC:3B
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 06:a1:49:14:9c:4a:be:34:50:2b:a5:9f:04:3a:09:23:fb:ec:
- 04:e8:a3:f7:c5:80:1d:87:f6:3d:46:ca:dd:14:5d:e9:06:69:
- 72:9b:8c:c5:18:f2:2b:b9:7c:ed:1b:41:8d:f5:8e:c8:0a:fd:
- c0:7b:3e:72:f0:1c:d0:eb:0d:de:04:87:8a:35:44:a0:c5:68:
- 6b:8f:0e:5c:ee:d9:fb:de:99:9b:94:42:f6:b1:14:24:5e:77:
- 0a:9c:1d:94:55:c8:85:08:6d:2e:6d:65:4e:6f:62:ef:4d:f0:
- 7b:c6:eb:7e:e9:5a:65:1c:aa:d1:f5:36:39:81:37:cf:90:14:
- be:ce:a8:fe:bf:53:e1:ee:06:ee:42:a1:d8:19:58:a2:02:26:
- b8:96:92:e8:e8:62:5b:c2:a1:33:bc:f1:5b:03:8b:25:67:40:
- de:e7:f5:f5:af:cd:8c:86:18:8d:66:c7:5d:0e:c0:57:f1:dc:
- c2:24:58:0c:40:14:93:6b:6b:17:34:f1:cd:07:35:d0:76:68:
- 1b:9b:7a:b0:a7:a6:8a:3a:cc:e9:e1:a5:5a:8d:c6:16:7d:c9:
- f7:80:33:20:ae:5d:8b:8b:f3:52:8a:2c:7f:6d:a9:c2:3a:41:
- 44:e3:41:c1:69:6f:aa:53:41:39:69:1e:a8:8f:2e:47:70:06:
- 62:f7:da:77
------BEGIN CERTIFICATE-----
-MIIDPzCCAiegAwIBAgIBAzANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA2WhcNMjEwMjEyMTQ0NDA2WjA8MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIENsaWVudCAxMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlTGi6vtK4JSl5ElpuVB83iSgJvdK
-oqXI2qSjDqKCXRHRTjBIysIuQYvOyoxQdi4i1q2wmMXWowv5k4MqRyMBs5PJUWGo
-9SemuPvMiCALYfQZdzwkkpSFSq6+iWnAEiKwXxl8xgyAqcnGf+qbE8/KVvVdhkYQ
-oxfHKBqW5Dt4SfBE5XEL5u60OYzmNhu9a2N63HRaU5nJ1hzCRQQqS5VCxo6peWnm
-t9Nv3/L6b2Xo1xNoiHAObs2qLb4TxN/X84+XiCxwDszdFNfb0IsSpuQ/5kO7EE7W
-cICnma9SJP45gcKhOahj7YEHsglJnJ29LmkUJaKf8+9CamIvt64scbrZWQIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBTcbk6XSbl85bPq4/mFotL5RUzMOzAf
-BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQUFAAOC
-AQEABqFJFJxKvjRQK6WfBDoJI/vsBOij98WAHYf2PUbK3RRd6QZpcpuMxRjyK7l8
-7RtBjfWOyAr9wHs+cvAc0OsN3gSHijVEoMVoa48OXO7Z+96Zm5RC9rEUJF53Cpwd
-lFXIhQhtLm1lTm9i703we8brfulaZRyq0fU2OYE3z5AUvs6o/r9T4e4G7kKh2BlY
-ogImuJaS6OhiW8KhM7zxWwOLJWdA3uf19a/NjIYYjWbHXQ7AV/HcwiRYDEAUk2tr
-FzTxzQc10HZoG5t6sKemijrM6eGlWo3GFn3J94AzIK5di4vzUoosf22pwjpBRONB
-wWlvqlNBOWkeqI8uR3AGYvfadw==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/04.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/04.pem
deleted file mode 100644
index b800f9835b..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/04.pem
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 4 (0x4)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Client 2
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:c8:74:c4:cc:b9:f9:b5:79:e9:45:d9:14:60:b0:
- 7d:bb:93:f2:6b:1e:9f:33:ad:0d:8f:8a:3c:56:65:
- e5:dc:44:d9:cc:66:85:07:d5:f8:27:b0:4a:35:d0:
- 63:9e:0a:6e:1b:b7:da:f0:7e:ab:ee:0c:10:93:86:
- 49:18:34:f3:a8:2a:d2:57:f5:2e:d4:2f:77:29:84:
- 61:4d:82:50:8f:a7:95:48:70:f5:6e:4d:b2:d5:13:
- c3:d2:1a:ed:e6:43:ea:42:14:eb:74:ea:c0:ed:1f:
- d4:57:4e:a9:f3:a8:ed:d2:e0:c1:30:71:30:32:30:
- d5:d3:f6:08:d0:56:4f:46:8e:f2:5f:f9:3d:67:91:
- 88:30:2e:42:b2:df:7d:fb:e5:0c:77:ff:ec:31:c0:
- 78:8f:bf:c2:7f:ca:ad:6c:21:d6:8d:d9:8b:6a:8e:
- 6f:e0:9b:f8:10:56:cc:b3:8e:13:15:e6:34:04:66:
- c7:ee:f9:36:0e:6a:95:f6:09:9a:06:67:f4:65:71:
- f8:ca:a4:b1:25:e0:fe:3c:8b:35:04:67:ba:e0:4f:
- 76:85:fc:7f:fc:36:6b:b5:e9:cd:2d:03:62:4e:b3:
- 3d:00:cf:af:76:a0:69:56:83:6a:d2:a8:d4:e7:50:
- 71:e6:b5:36:05:77:05:6d:7b:c8:e4:c4:fd:4c:d5:
- 21:5f
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 71:A1:00:73:72:40:2F:54:76:5E:33:FC:52:8F:BC:F1:DD:6B:46:21
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 02:7f:3a:8a:c0:0c:f1:7f:a6:57:02:6a:78:8b:6d:e8:4f:6c:
- 96:11:10:6c:0a:1f:ca:4f:9d:88:7d:4b:87:c6:3d:88:b9:56:
- 41:22:9b:c3:f5:17:62:3c:79:2c:b3:d9:72:78:a8:bf:12:1c:
- 01:10:bf:06:3c:99:47:d8:37:53:04:c7:34:63:66:fa:bc:2b:
- a9:ad:79:be:2b:8d:38:50:5c:87:29:17:fc:ea:ec:93:4d:84:
- 1f:b3:51:02:5c:39:58:b3:e8:ad:88:c4:0f:a7:1d:55:08:01:
- 97:da:2d:f7:71:dd:26:88:11:89:70:b1:12:b3:3b:34:2f:3f:
- 78:fe:75:d6:68:ea:fa:e2:c3:8c:b2:87:f1:93:d0:f0:8e:1e:
- 90:72:67:ae:82:ec:0e:42:30:5c:a1:88:b2:f2:01:1d:0c:b6:
- 69:cf:cd:c0:72:c2:40:e2:ba:99:fb:a6:d6:94:71:e7:65:78:
- 52:db:b9:74:b2:e3:0f:96:cc:c4:e0:42:ec:a5:38:c5:92:ae:
- 31:75:d9:33:af:fd:dd:86:f9:d4:af:c9:e1:a8:5f:d5:3c:49:
- 95:35:97:b6:7c:c3:af:db:1a:11:87:4d:cb:64:8a:63:fe:99:
- 88:33:47:0f:eb:2d:a4:02:a2:40:b0:16:68:0b:ac:21:62:98:
- 13:2c:3d:31
------BEGIN CERTIFICATE-----
-MIIDPzCCAiegAwIBAgIBBDANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA8MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIENsaWVudCAyMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyHTEzLn5tXnpRdkUYLB9u5Pyax6f
-M60Nj4o8VmXl3ETZzGaFB9X4J7BKNdBjngpuG7fa8H6r7gwQk4ZJGDTzqCrSV/Uu
-1C93KYRhTYJQj6eVSHD1bk2y1RPD0hrt5kPqQhTrdOrA7R/UV06p86jt0uDBMHEw
-MjDV0/YI0FZPRo7yX/k9Z5GIMC5Cst99++UMd//sMcB4j7/Cf8qtbCHWjdmLao5v
-4Jv4EFbMs44TFeY0BGbH7vk2DmqV9gmaBmf0ZXH4yqSxJeD+PIs1BGe64E92hfx/
-/DZrtenNLQNiTrM9AM+vdqBpVoNq0qjU51Bx5rU2BXcFbXvI5MT9TNUhXwIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBRxoQBzckAvVHZeM/xSj7zx3WtGITAf
-BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQUFAAOC
-AQEAAn86isAM8X+mVwJqeItt6E9slhEQbAofyk+diH1Lh8Y9iLlWQSKbw/UXYjx5
-LLPZcniovxIcARC/BjyZR9g3UwTHNGNm+rwrqa15viuNOFBchykX/Orsk02EH7NR
-Alw5WLPorYjED6cdVQgBl9ot93HdJogRiXCxErM7NC8/eP511mjq+uLDjLKH8ZPQ
-8I4ekHJnroLsDkIwXKGIsvIBHQy2ac/NwHLCQOK6mfum1pRx52V4Utu5dLLjD5bM
-xOBC7KU4xZKuMXXZM6/93Yb51K/J4ahf1TxJlTWXtnzDr9saEYdNy2SKY/6ZiDNH
-D+stpAKiQLAWaAusIWKYEyw9MQ==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/05.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/05.pem
deleted file mode 100644
index 16f166b815..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/05.pem
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 5 (0x5)
- Signature Algorithm: md4WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert MD4
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: md4WithRSAEncryption
- 94:db:e1:86:71:2d:43:d6:51:61:a7:95:bc:e8:73:da:ff:e4:
- fd:41:0f:5c:de:14:f4:c4:ba:5d:2c:30:2c:a6:dc:2d:e8:87:
- 45:f1:c5:fe:d1:4a:64:99:19:09:2f:72:7c:3f:8d:c8:31:22:
- dd:0a:69:03:3d:12:8c:4d:c3:f7:a3:c5:d1:5d:c9:ff:4b:83:
- 6b:d6:b4:e5:d8:ce:94:5e:ec:bf:68:c5:b2:63:8e:5c:cb:f3:
- 8d:62:73:82:62:7e:df:db:7d:0b:8d:21:10:db:9a:a1:62:4d:
- 46:42:d1:bb:38:32:ef:c1:fc:a1:e2:7f:60:08:37:32:20:2c:
- 7c:a2:c9:12:0d:89:fe:2b:15:08:91:79:e2:a9:79:a4:da:cd:
- 81:43:01:e2:09:2d:1a:f4:16:ef:af:4d:50:46:5e:2d:dd:48:
- 27:10:c0:42:b7:a5:9e:c2:1f:6e:50:36:03:ed:95:77:9a:a3:
- d9:4c:d7:23:93:b1:24:2a:63:27:28:7a:de:3d:59:d2:92:c8:
- 8f:f6:39:1d:65:ab:09:78:05:46:90:a9:f6:10:b1:ef:c8:8c:
- 4d:7d:8d:f2:78:b7:88:15:09:7e:df:e9:87:a8:64:c1:95:53:
- fb:da:05:b7:62:bc:ad:fb:d9:a4:a9:06:6c:6b:98:01:b9:39:
- 78:d3:4e:87
------BEGIN CERTIFICATE-----
-MIIDPzCCAiegAwIBAgIBBTANBgkqhkiG9w0BAQMFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA8MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIENlcnQgTUQ0MIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA58e1
-bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa2Bgt
-gBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe5mFn
-ui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5HHLyS
-ruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhBBNXB
-37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4TDAf
-BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQMFAAOC
-AQEAlNvhhnEtQ9ZRYaeVvOhz2v/k/UEPXN4U9MS6XSwwLKbcLeiHRfHF/tFKZJkZ
-CS9yfD+NyDEi3QppAz0SjE3D96PF0V3J/0uDa9a05djOlF7sv2jFsmOOXMvzjWJz
-gmJ+39t9C40hENuaoWJNRkLRuzgy78H8oeJ/YAg3MiAsfKLJEg2J/isVCJF54ql5
-pNrNgUMB4gktGvQW769NUEZeLd1IJxDAQrelnsIfblA2A+2Vd5qj2UzXI5OxJCpj
-Jyh63j1Z0pLIj/Y5HWWrCXgFRpCp9hCx78iMTX2N8ni3iBUJft/ph6hkwZVT+9oF
-t2K8rfvZpKkGbGuYAbk5eNNOhw==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/06.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/06.pem
deleted file mode 100644
index 13d43f1acb..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/06.pem
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 6 (0x6)
- Signature Algorithm: md5WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert MD5
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: md5WithRSAEncryption
- 92:13:81:0c:ff:ac:ab:98:52:6c:28:c9:c6:3e:80:c6:ec:77:
- d0:13:e1:a2:29:1d:2f:b7:c5:95:41:83:60:d9:50:9c:d0:d6:
- 09:f7:0f:97:cd:c0:e6:b2:68:fa:31:c9:2a:a3:d3:1e:53:ae:
- 79:dc:35:ba:b0:d9:e5:7a:37:1b:2a:92:fa:d2:59:90:43:1b:
- 6a:91:c1:db:36:da:e9:39:d3:f5:ac:e3:46:01:ca:55:04:17:
- 1a:b1:97:28:e8:ff:1b:e7:e1:10:c9:b5:31:d8:ce:a6:89:6a:
- 4a:df:78:7b:02:2f:83:b3:41:d5:ef:0b:b6:44:ff:32:a6:cf:
- 1b:c2:f4:b0:75:66:a9:da:6f:7c:a5:e3:c6:c1:3a:2f:bf:f8:
- 12:6f:04:2c:37:f2:4e:fc:b9:09:ff:a4:5b:40:19:e9:58:91:
- 64:82:d6:ad:b9:7f:c0:12:c2:ce:b7:b6:ba:fb:10:a2:3f:74:
- 97:10:39:d4:dc:4a:e5:5c:f7:e5:3a:d9:68:d7:17:6b:f5:51:
- 08:b4:a2:30:0d:cc:36:10:6d:4e:1d:22:cc:48:d1:38:44:ba:
- cc:2b:47:99:f7:c6:8b:41:24:f3:f1:2c:10:1a:f2:88:bb:b2:
- e0:fd:44:26:3d:ad:ea:af:1d:d0:00:56:41:4e:f4:b0:3b:9d:
- 32:6f:48:c7
------BEGIN CERTIFICATE-----
-MIIDPzCCAiegAwIBAgIBBjANBgkqhkiG9w0BAQQFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA8MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIENlcnQgTUQ1MIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA58e1
-bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa2Bgt
-gBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe5mFn
-ui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5HHLyS
-ruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhBBNXB
-37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4TDAf
-BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQQFAAOC
-AQEAkhOBDP+sq5hSbCjJxj6Axux30BPhoikdL7fFlUGDYNlQnNDWCfcPl83A5rJo
-+jHJKqPTHlOuedw1urDZ5Xo3GyqS+tJZkEMbapHB2zba6TnT9azjRgHKVQQXGrGX
-KOj/G+fhEMm1MdjOpolqSt94ewIvg7NB1e8LtkT/MqbPG8L0sHVmqdpvfKXjxsE6
-L7/4Em8ELDfyTvy5Cf+kW0AZ6ViRZILWrbl/wBLCzre2uvsQoj90lxA51NxK5Vz3
-5TrZaNcXa/VRCLSiMA3MNhBtTh0izEjROES6zCtHmffGi0Ek8/EsEBryiLuy4P1E
-Jj2t6q8d0ABWQU70sDudMm9Ixw==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/07.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/07.pem
deleted file mode 100644
index 718b2f27e9..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/07.pem
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 7 (0x7)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA1
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 93:26:40:68:3d:e7:62:ea:d1:6a:78:2b:c2:07:f3:0d:3b:f6:
- 69:18:cd:08:5e:31:e7:48:60:08:2a:46:b6:de:d1:35:0a:ec:
- 31:36:83:7d:eb:7c:d8:63:09:c3:e4:c5:10:ca:7c:7b:2f:20:
- 4d:d2:0e:5f:ee:09:e3:84:4f:28:cc:08:74:9a:11:23:5f:de:
- 0e:3a:0f:8b:2d:64:91:05:f6:d5:c7:30:c8:20:ee:6c:c4:62:
- 7c:8d:a8:4d:2e:70:8c:ac:b5:5d:de:9b:10:5c:98:fd:a1:78:
- 9b:9c:f0:73:33:de:2f:8c:59:fa:dc:af:4c:df:97:e3:9d:00:
- 37:9a:fa:d3:67:77:b9:2f:b9:4a:23:ad:f9:b4:a1:b7:ac:c5:
- a8:0f:62:8c:e6:7e:b4:94:2a:db:f2:fc:52:92:a4:9e:4e:51:
- 4f:9d:c0:ce:ae:3d:17:1c:94:6c:5f:e8:16:b5:ce:2e:e2:5a:
- cf:6a:db:dd:b0:d4:be:62:a5:46:92:30:7c:7c:fc:05:f8:78:
- 30:93:30:28:ab:69:a1:72:31:dc:3b:97:63:3a:5b:b3:e1:34:
- 86:80:4a:28:f5:dc:d5:84:8c:13:a4:6c:d2:c1:2d:a6:25:d7:
- 6f:c9:93:78:a5:16:ba:d9:17:6e:3e:ca:96:f2:9e:5c:e3:ae:
- 12:2e:a5:11
------BEGIN CERTIFICATE-----
-MIIDQDCCAiigAwIBAgIBBzANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA9MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGzAZBgNVBAMTElBvbGFyU1NMIENlcnQgU0hBMTCCASIw
-DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALk8SsXIo46QF6SeUqpxdSZhgOfH
-tW2M/6q2QSa3vhGtXHMWDGQRSAT/1uE7BduJu7OXCdUcFN1ohzmwPXHL4nbQGtgY
-LYAbVPblRJrxy69hLt9JDZ0Jt+2x/Tz9PPokz12/fORT5yW16kQi6SbT6iCUnuZh
-Z7ouB2cLAy+iCe3wM48LzhDvZ6TGCNrB7cI/10rdFT35XhyBYEY+tbM9L6beRxy8
-kq7r3ydrFla33OzRVVelbux1JfW3e9+r0jpakZh9lxcLEwqna0qLwUcw+zr4QQTV
-wd+4Hb97AaVlouAeNremXMwwWvjNb83xGWIlygHjNX/6IPXc/WmyagB9F/cCAwEA
-AaNNMEswCQYDVR0TBAIwADAdBgNVHQ4EFgQUfeSca+b5cX1G0hI9rWsd/cKqeEww
-HwYDVR0jBBgwFoAUtFrkpbPe0lL2udWmlQ/rPrzH/f8wDQYJKoZIhvcNAQEFBQAD
-ggEBAJMmQGg952Lq0Wp4K8IH8w079mkYzQheMedIYAgqRrbe0TUK7DE2g33rfNhj
-CcPkxRDKfHsvIE3SDl/uCeOETyjMCHSaESNf3g46D4stZJEF9tXHMMgg7mzEYnyN
-qE0ucIystV3emxBcmP2heJuc8HMz3i+MWfrcr0zfl+OdADea+tNnd7kvuUojrfm0
-obesxagPYozmfrSUKtvy/FKSpJ5OUU+dwM6uPRcclGxf6Ba1zi7iWs9q292w1L5i
-pUaSMHx8/AX4eDCTMCiraaFyMdw7l2M6W7PhNIaASij13NWEjBOkbNLBLaYl12/J
-k3ilFrrZF24+ypbynlzjrhIupRE=
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/08.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/08.pem
deleted file mode 100644
index 7283c28c0b..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/08.pem
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 8 (0x8)
- Signature Algorithm: sha224WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA224
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha224WithRSAEncryption
- b8:9b:0a:d1:b4:d1:a4:ce:05:39:42:7a:3b:7b:5e:fd:97:57:
- 8a:36:60:42:39:d0:e6:0c:9c:7e:2f:2b:be:ef:e7:45:34:77:
- 48:7a:10:4a:fd:76:ca:42:39:25:3c:fa:19:f8:63:6c:e7:36:
- 27:9a:ec:06:ce:e4:f7:2c:2e:c6:36:c1:25:bd:ab:09:aa:e2:
- da:4e:de:ae:b5:f5:ba:9e:90:24:52:34:96:96:61:4c:26:b5:
- 57:65:b1:10:ed:13:2b:54:90:ce:d3:21:cb:8c:d3:4c:6c:e5:
- e1:78:22:16:3f:e1:be:f1:ee:5d:39:48:a1:e6:80:46:f4:46:
- f2:79:03:3e:f1:fc:51:47:d9:05:e8:85:81:1b:0b:4f:fa:85:
- 9d:ce:e7:76:5a:6f:da:98:9f:43:f1:f3:2f:2f:57:28:aa:70:
- 14:82:7f:d5:69:14:8c:f9:82:b6:2f:a6:df:b5:6b:0e:43:c9:
- 96:91:64:3d:8b:a8:17:15:9a:88:42:a4:d0:90:c0:a3:a2:e1:
- dd:f6:95:6d:3b:9d:71:a6:1e:9e:2c:1e:db:f6:5f:93:43:2c:
- ed:53:70:55:50:56:df:cd:96:6c:d5:91:0f:b1:a7:f4:b7:17:
- 9d:1f:0b:f6:0b:f8:fe:e7:7c:de:c1:20:b7:fc:69:13:ba:e2:
- 61:9b:a5:62
------BEGIN CERTIFICATE-----
-MIIDQjCCAiqgAwIBAgIBCDANBgkqhkiG9w0BAQ4FADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA/MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBMjI0MIIB
-IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA
-58e1bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa
-2BgtgBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe
-5mFnui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5H
-HLySruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhB
-BNXB37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wID
-AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4
-TDAfBgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQ4F
-AAOCAQEAuJsK0bTRpM4FOUJ6O3te/ZdXijZgQjnQ5gycfi8rvu/nRTR3SHoQSv12
-ykI5JTz6GfhjbOc2J5rsBs7k9ywuxjbBJb2rCari2k7errX1up6QJFI0lpZhTCa1
-V2WxEO0TK1SQztMhy4zTTGzl4XgiFj/hvvHuXTlIoeaARvRG8nkDPvH8UUfZBeiF
-gRsLT/qFnc7ndlpv2pifQ/HzLy9XKKpwFIJ/1WkUjPmCti+m37VrDkPJlpFkPYuo
-FxWaiEKk0JDAo6Lh3faVbTudcaYeniwe2/Zfk0Ms7VNwVVBW382WbNWRD7Gn9LcX
-nR8L9gv4/ud83sEgt/xpE7riYZulYg==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/09.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/09.pem
deleted file mode 100644
index 03a7521316..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/09.pem
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 9 (0x9)
- Signature Algorithm: sha256WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA256
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha256WithRSAEncryption
- 69:ce:f9:a9:d5:e2:32:db:fe:a9:f9:92:7a:d6:76:37:05:51:
- c9:e3:a1:03:72:b2:bc:2c:86:4b:31:16:02:10:e8:43:d4:c0:
- 33:3c:4f:ea:9d:12:6b:57:51:bc:d7:d9:42:56:cf:c7:29:e7:
- d7:52:24:49:29:ac:9c:de:8f:cc:ab:1a:a9:62:07:5a:6b:f7:
- fb:19:ab:f5:b1:2c:a4:aa:dc:5d:03:73:17:7c:ea:52:44:80:
- ca:70:d3:10:c5:2e:fd:9f:d2:0d:65:c4:f2:cc:ef:1b:18:e1:
- 0a:08:4e:67:d0:56:7f:24:54:2e:73:31:b5:4d:22:74:f8:30:
- f9:92:c4:64:c9:46:80:d4:e1:bd:d6:e7:26:ea:bb:c4:fe:6f:
- a2:c5:10:e4:64:2f:b0:44:04:2c:b3:44:39:cf:b4:de:ac:83:
- 43:5e:0b:ca:cd:fb:4e:18:e6:38:39:e7:10:3f:d6:59:17:e7:
- 42:ef:00:e3:88:c6:43:bc:21:12:bf:20:a8:64:c6:30:dc:8c:
- 6b:b8:6a:ce:6b:8a:22:3b:d8:af:0c:b4:bb:4d:be:96:dd:40:
- d9:87:3e:95:2e:1a:27:23:62:e8:6e:bd:e0:89:d0:a7:28:16:
- 95:ea:cb:89:a3:f7:7f:fb:0f:ac:ab:d6:a8:b4:cb:43:92:d9:
- cb:3e:8a:11
------BEGIN CERTIFICATE-----
-MIIDQjCCAiqgAwIBAgIBCTANBgkqhkiG9w0BAQsFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA/MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBMjU2MIIB
-IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA
-58e1bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa
-2BgtgBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe
-5mFnui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5H
-HLySruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhB
-BNXB37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wID
-AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4
-TDAfBgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQsF
-AAOCAQEAac75qdXiMtv+qfmSetZ2NwVRyeOhA3KyvCyGSzEWAhDoQ9TAMzxP6p0S
-a1dRvNfZQlbPxynn11IkSSmsnN6PzKsaqWIHWmv3+xmr9bEspKrcXQNzF3zqUkSA
-ynDTEMUu/Z/SDWXE8szvGxjhCghOZ9BWfyRULnMxtU0idPgw+ZLEZMlGgNThvdbn
-Juq7xP5vosUQ5GQvsEQELLNEOc+03qyDQ14Lys37ThjmODnnED/WWRfnQu8A44jG
-Q7whEr8gqGTGMNyMa7hqzmuKIjvYrwy0u02+lt1A2Yc+lS4aJyNi6G694InQpygW
-lerLiaP3f/sPrKvWqLTLQ5LZyz6KEQ==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/0A.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/0A.pem
deleted file mode 100644
index 73caac90df..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/0A.pem
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 10 (0xa)
- Signature Algorithm: sha384WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA384
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha384WithRSAEncryption
- 68:e6:03:f0:ba:44:e7:cc:e1:b2:07:6c:56:c8:be:b7:ba:80:
- 61:c8:f9:66:57:e1:cb:60:7d:cd:8d:0f:66:b0:f2:61:45:fd:
- fc:c8:93:95:bb:b4:14:00:76:c7:e1:57:a6:e2:60:31:8b:fc:
- e1:0f:68:24:4c:bb:1d:c5:b6:77:ec:23:e1:5b:4f:10:6c:6a:
- e0:6d:e7:34:f8:72:14:ae:16:57:25:8b:e8:b9:71:a1:d0:78:
- ea:18:c1:51:c4:2e:26:6d:cb:80:8d:a5:b9:de:e7:37:c1:2b:
- ec:e8:98:c6:f9:1a:bf:fe:a3:de:3d:d6:59:98:45:dc:4a:a6:
- ad:0a:af:73:50:43:23:5a:9b:9a:f9:8f:ff:41:15:e5:9c:12:
- 9e:29:55:5c:79:9c:89:0c:c8:8a:82:86:b1:96:ae:7c:7d:4f:
- 0b:fd:e3:9e:8b:a5:4d:88:55:05:ad:6c:63:aa:74:0c:41:0d:
- 47:22:cc:1a:45:02:92:5e:d1:e0:b9:31:52:ff:f6:30:f0:87:
- 2c:dd:fa:fa:b9:cc:45:cb:36:33:5b:35:7f:5f:05:4f:e0:8f:
- 9a:e4:d2:fa:c9:d4:fc:62:99:ac:59:fb:fd:04:bc:5a:c0:47:
- 5e:5d:3d:df:31:8c:7f:dc:00:cb:cb:c0:f4:62:41:44:db:1d:
- ba:c0:ad:8a
------BEGIN CERTIFICATE-----
-MIIDQjCCAiqgAwIBAgIBCjANBgkqhkiG9w0BAQwFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA/MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBMzg0MIIB
-IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA
-58e1bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa
-2BgtgBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe
-5mFnui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5H
-HLySruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhB
-BNXB37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wID
-AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4
-TDAfBgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQwF
-AAOCAQEAaOYD8LpE58zhsgdsVsi+t7qAYcj5Zlfhy2B9zY0PZrDyYUX9/MiTlbu0
-FAB2x+FXpuJgMYv84Q9oJEy7HcW2d+wj4VtPEGxq4G3nNPhyFK4WVyWL6LlxodB4
-6hjBUcQuJm3LgI2lud7nN8Er7OiYxvkav/6j3j3WWZhF3EqmrQqvc1BDI1qbmvmP
-/0EV5ZwSnilVXHmciQzIioKGsZaufH1PC/3jnoulTYhVBa1sY6p0DEENRyLMGkUC
-kl7R4LkxUv/2MPCHLN36+rnMRcs2M1s1f18FT+CPmuTS+snU/GKZrFn7/QS8WsBH
-Xl093zGMf9wAy8vA9GJBRNsdusCtig==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/0B.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/0B.pem
deleted file mode 100644
index 4bb4eed039..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/0B.pem
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 11 (0xb)
- Signature Algorithm: sha512WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA512
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha512WithRSAEncryption
- 84:68:78:72:54:00:bf:8a:45:28:35:be:18:47:d8:69:f6:67:
- de:a6:f8:a6:d0:fd:9f:79:f7:e8:02:8a:c3:83:5d:85:45:cc:
- b6:98:77:a7:18:3f:6b:d2:e4:d0:af:d5:52:d9:db:7e:4a:d3:
- 68:b0:08:64:14:de:c2:3b:1d:7b:ac:79:ad:49:5a:4c:f6:d2:
- 35:ef:a4:8c:b7:5b:d1:0b:7b:50:c6:9c:48:3e:96:3b:1b:0b:
- 0e:e8:10:3f:8c:3b:4f:6b:1d:5c:3a:27:f3:43:22:ac:37:11:
- 71:b8:07:66:b0:f8:71:c3:22:cf:f4:96:83:93:fb:42:b0:1a:
- 43:f9:4b:df:cb:5f:0f:ba:9e:80:f1:ff:08:3a:46:51:dc:d0:
- 36:bd:b1:c4:ca:fb:00:12:e7:e0:37:70:40:0e:73:19:63:c2:
- e5:da:56:77:07:68:a5:40:9e:d6:0f:ad:b5:b3:b2:f5:3f:01:
- e8:68:e7:a3:b0:d7:f3:dd:ff:b6:d7:8f:75:4e:25:ab:12:32:
- 99:45:ad:57:40:de:d7:b4:0d:d0:c3:66:89:47:f2:0c:b2:b5:
- df:52:0e:fa:63:62:65:89:07:4a:80:69:0e:4e:ba:c0:43:5d:
- 05:75:22:cf:50:f9:ac:bd:ef:8d:8c:10:08:b6:8b:62:4f:a1:
- 60:55:a3:0d
------BEGIN CERTIFICATE-----
-MIIDQjCCAiqgAwIBAgIBCzANBgkqhkiG9w0BAQ0FADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA/MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBNTEyMIIB
-IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA
-58e1bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa
-2BgtgBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe
-5mFnui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5H
-HLySruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhB
-BNXB37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wID
-AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4
-TDAfBgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQ0F
-AAOCAQEAhGh4clQAv4pFKDW+GEfYafZn3qb4ptD9n3n36AKKw4NdhUXMtph3pxg/
-a9Lk0K/VUtnbfkrTaLAIZBTewjsde6x5rUlaTPbSNe+kjLdb0Qt7UMacSD6WOxsL
-DugQP4w7T2sdXDon80MirDcRcbgHZrD4ccMiz/SWg5P7QrAaQ/lL38tfD7qegPH/
-CDpGUdzQNr2xxMr7ABLn4DdwQA5zGWPC5dpWdwdopUCe1g+ttbOy9T8B6Gjno7DX
-893/ttePdU4lqxIymUWtV0De17QN0MNmiUfyDLK131IO+mNiZYkHSoBpDk66wENd
-BXUiz1D5rL3vjYwQCLaLYk+hYFWjDQ==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/0C.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/0C.pem
deleted file mode 100644
index 4895e8a037..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/0C.pem
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 12 (0xc)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 7 16:06:36 2012 GMT
- Not After : Feb 7 16:06:36 2022 GMT
- Subject: C=NL, O=PolarSSL, CN=*.example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
- Modulus:
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 91:b3:84:5c:5d:60:f2:a5:0a:4a:dc:d6:c6:75:da:34:52:72:
- 6c:0e:60:4f:ef:0e:55:f3:4b:bf:d0:40:e7:91:2c:a7:94:8f:
- 3d:db:0a:ec:b2:f5:83:a7:a1:33:61:96:37:57:14:80:5b:e7:
- bc:e1:d3:2c:36:32:6f:ef:7a:00:99:33:15:fc:38:20:df:74:
- 7d:3d:0f:81:d0:b4:fd:b6:46:f1:c5:b8:bc:de:74:a2:41:a7:
- c8:51:da:20:12:82:3e:0c:8c:48:da:19:b6:52:e9:4f:67:c1:
- 28:9e:20:b6:ce:be:89:bd:64:d7:05:3e:87:af:ba:2b:5d:aa:
- fe:62:66:fb:a6:75:ad:89:a1:18:e8:78:54:ea:df:0a:85:e9:
- 32:32:a8:1a:cd:35:81:f8:a8:da:d1:16:8a:63:e7:67:da:6e:
- e1:3b:1c:31:20:99:ee:e2:b2:fb:82:c5:21:e2:63:4c:61:15:
- 4d:53:ad:dd:15:7f:0b:b6:33:43:ad:27:8a:b1:af:93:17:72:
- c4:be:31:26:93:3c:7d:fc:d5:3d:cf:0b:be:c5:7b:e9:b4:f8:
- f3:30:f2:f5:a2:27:eb:9a:71:fc:7f:79:5e:88:c5:a6:2d:33:
- 57:ba:38:06:e6:ad:0b:96:97:9d:cc:94:7b:83:09:17:a6:ee:
- ce:bb:0f:36
------BEGIN CERTIFICATE-----
-MIIDOzCCAiOgAwIBAgIBDDANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTIwMjA3MTYwNjM2WhcNMjIwMjA3MTYwNjM2WjA4MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxFjAUBgNVBAMUDSouZXhhbXBsZS5jb20wggEiMA0GCSqG
-SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5PErFyKOOkBeknlKqcXUmYYDnx7VtjP+q
-tkEmt74RrVxzFgxkEUgE/9bhOwXbibuzlwnVHBTdaIc5sD1xy+J20BrYGC2AG1T2
-5USa8cuvYS7fSQ2dCbftsf08/Tz6JM9dv3zkU+cltepEIukm0+oglJ7mYWe6Lgdn
-CwMvognt8DOPC84Q72ekxgjawe3CP9dK3RU9+V4cgWBGPrWzPS+m3kccvJKu698n
-axZWt9zs0VVXpW7sdSX1t3vfq9I6WpGYfZcXCxMKp2tKi8FHMPs6+EEE1cHfuB2/
-ewGlZaLgHja3plzMMFr4zW/N8RliJcoB4zV/+iD13P1psmoAfRf3AgMBAAGjTTBL
-MAkGA1UdEwQCMAAwHQYDVR0OBBYEFH3knGvm+XF9RtISPa1rHf3CqnhMMB8GA1Ud
-IwQYMBaAFLRa5KWz3tJS9rnVppUP6z68x/3/MA0GCSqGSIb3DQEBBQUAA4IBAQCR
-s4RcXWDypQpK3NbGddo0UnJsDmBP7w5V80u/0EDnkSynlI892wrssvWDp6EzYZY3
-VxSAW+e84dMsNjJv73oAmTMV/Dgg33R9PQ+B0LT9tkbxxbi83nSiQafIUdogEoI+
-DIxI2hm2UulPZ8EoniC2zr6JvWTXBT6Hr7orXar+Ymb7pnWtiaEY6HhU6t8Kheky
-MqgazTWB+Kja0RaKY+dn2m7hOxwxIJnu4rL7gsUh4mNMYRVNU63dFX8LtjNDrSeK
-sa+TF3LEvjEmkzx9/NU9zwu+xXvptPjzMPL1oifrmnH8f3leiMWmLTNXujgG5q0L
-lpedzJR7gwkXpu7Ouw82
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/0D.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/0D.pem
deleted file mode 100644
index d5638823a4..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/0D.pem
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 13 (0xd)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 7 16:06:36 2012 GMT
- Not After : Feb 7 16:06:36 2022 GMT
- Subject: C=NL, O=PolarSSL, CN=example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
- Modulus:
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 83:f7:04:f3:bd:08:cf:81:f9:a1:b0:54:a4:5f:91:1d:15:9f:
- 03:ab:9a:07:0d:bd:ad:fa:ce:44:79:58:9c:88:d1:6e:48:fd:
- 2b:f2:6e:fc:1f:c6:3a:28:4d:2a:f7:31:27:e4:64:6d:1c:d2:
- a7:64:18:9e:0a:07:cd:4c:44:31:e2:8f:c4:4d:d9:e5:38:85:
- 32:44:ba:3d:0a:97:c8:3f:59:14:8e:aa:98:e1:69:24:49:8a:
- 0e:3e:01:b5:fd:88:66:bb:ad:0c:fb:da:87:01:8d:f7:72:30:
- 78:a8:eb:29:4f:3b:20:6b:3e:83:2c:ee:08:88:b1:e9:e2:37:
- 48:77:76:bf:f2:92:98:58:21:04:02:1c:23:70:ff:10:45:1e:
- 69:ac:67:23:0f:1e:62:ef:35:d3:c3:94:dc:99:48:7c:05:ad:
- c1:1c:1a:2a:e6:e3:d7:89:f5:44:25:1a:aa:7a:d4:8f:b7:5a:
- ae:03:4b:be:5e:e8:43:35:12:e8:b9:95:64:81:ef:26:1a:cd:
- e4:82:22:de:2e:ac:93:4f:32:f9:0b:0d:b2:5f:69:21:b9:1b:
- f8:54:c0:df:11:17:23:85:ae:71:cb:ae:17:e8:36:2f:aa:fe:
- 04:04:2b:33:1b:12:2b:80:19:11:6f:ce:cb:bb:6c:fe:a5:80:
- a7:4a:6d:0f
------BEGIN CERTIFICATE-----
-MIIDOTCCAiGgAwIBAgIBDTANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTIwMjA3MTYwNjM2WhcNMjIwMjA3MTYwNjM2WjA2MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxFDASBgNVBAMTC2V4YW1wbGUuY29tMIIBIjANBgkqhkiG
-9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA58e1bYz/qrZB
-Jre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa2BgtgBtU9uVE
-mvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe5mFnui4HZwsD
-L6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5HHLySruvfJ2sW
-Vrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhBBNXB37gdv3sB
-pWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wIDAQABo00wSzAJ
-BgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4TDAfBgNVHSME
-GDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQUFAAOCAQEAg/cE
-870Iz4H5obBUpF+RHRWfA6uaBw29rfrORHlYnIjRbkj9K/Ju/B/GOihNKvcxJ+Rk
-bRzSp2QYngoHzUxEMeKPxE3Z5TiFMkS6PQqXyD9ZFI6qmOFpJEmKDj4Btf2IZrut
-DPvahwGN93IweKjrKU87IGs+gyzuCIix6eI3SHd2v/KSmFghBAIcI3D/EEUeaaxn
-Iw8eYu8108OU3JlIfAWtwRwaKubj14n1RCUaqnrUj7dargNLvl7oQzUS6LmVZIHv
-JhrN5IIi3i6sk08y+QsNsl9pIbkb+FTA3xEXI4WuccuuF+g2L6r+BAQrMxsSK4AZ
-EW/Oy7ts/qWAp0ptDw==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/0E.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/0E.pem
deleted file mode 100644
index 9f4d8a9fae..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/0E.pem
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 14 (0xe)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 7 16:06:36 2012 GMT
- Not After : Feb 7 16:06:36 2022 GMT
- Subject: C=NL, O=PolarSSL, CN=www.example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
- Modulus:
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 3e:b2:e4:9b:c0:8b:a0:d1:e8:66:f4:03:7b:76:7f:7e:0f:6b:
- e5:78:ef:2f:6c:14:d6:22:5c:0c:bf:c8:70:09:ca:c5:64:a8:
- 77:ed:e2:8d:ab:27:cc:40:ba:a5:95:d7:ec:a1:cc:41:3d:6b:
- e3:69:c5:cb:10:c6:75:59:2c:6f:3d:2d:b3:c3:f8:75:4a:d4:
- 31:2e:e9:fc:72:4b:42:ed:c8:f7:6e:cd:da:98:db:3f:e2:3b:
- ea:26:1b:73:eb:59:f5:10:48:07:45:a3:20:40:2c:c6:95:59:
- 08:82:26:ab:13:9f:ea:66:b1:05:e5:99:1d:26:0f:21:0f:b5:
- 2e:52:82:99:53:85:a8:fe:b7:6e:e9:ed:44:01:f8:c8:08:d0:
- 64:25:43:70:da:3f:1b:0d:97:81:1b:2a:5d:e4:17:10:20:b0:
- eb:56:44:be:ec:55:4a:66:c1:c9:69:7b:36:01:66:36:14:22:
- 37:a4:96:d2:db:0e:bd:01:e9:3e:6a:ef:94:94:63:69:ea:27:
- 7c:40:29:4a:38:f0:06:dd:4a:06:ef:8b:92:98:ad:02:60:a0:
- 3c:6c:53:4c:a1:5b:ae:c7:a2:61:ee:0e:18:c6:f8:46:80:c6:
- 2f:55:38:2a:33:84:da:9a:a4:69:ae:c3:8a:a1:e2:07:6c:71:
- 9b:56:fd:93
------BEGIN CERTIFICATE-----
-MIIDPTCCAiWgAwIBAgIBDjANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTIwMjA3MTYwNjM2WhcNMjIwMjA3MTYwNjM2WjA6MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGDAWBgNVBAMTD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJ
-KoZIhvcNAQEBBQADggEPADCCAQoCggEBALk8SsXIo46QF6SeUqpxdSZhgOfHtW2M
-/6q2QSa3vhGtXHMWDGQRSAT/1uE7BduJu7OXCdUcFN1ohzmwPXHL4nbQGtgYLYAb
-VPblRJrxy69hLt9JDZ0Jt+2x/Tz9PPokz12/fORT5yW16kQi6SbT6iCUnuZhZ7ou
-B2cLAy+iCe3wM48LzhDvZ6TGCNrB7cI/10rdFT35XhyBYEY+tbM9L6beRxy8kq7r
-3ydrFla33OzRVVelbux1JfW3e9+r0jpakZh9lxcLEwqna0qLwUcw+zr4QQTVwd+4
-Hb97AaVlouAeNremXMwwWvjNb83xGWIlygHjNX/6IPXc/WmyagB9F/cCAwEAAaNN
-MEswCQYDVR0TBAIwADAdBgNVHQ4EFgQUfeSca+b5cX1G0hI9rWsd/cKqeEwwHwYD
-VR0jBBgwFoAUtFrkpbPe0lL2udWmlQ/rPrzH/f8wDQYJKoZIhvcNAQEFBQADggEB
-AD6y5JvAi6DR6Gb0A3t2f34Pa+V47y9sFNYiXAy/yHAJysVkqHft4o2rJ8xAuqWV
-1+yhzEE9a+NpxcsQxnVZLG89LbPD+HVK1DEu6fxyS0LtyPduzdqY2z/iO+omG3Pr
-WfUQSAdFoyBALMaVWQiCJqsTn+pmsQXlmR0mDyEPtS5SgplThaj+t27p7UQB+MgI
-0GQlQ3DaPxsNl4EbKl3kFxAgsOtWRL7sVUpmwclpezYBZjYUIjekltLbDr0B6T5q
-75SUY2nqJ3xAKUo48AbdSgbvi5KYrQJgoDxsU0yhW67HomHuDhjG+EaAxi9VOCoz
-hNqapGmuw4qh4gdscZtW/ZM=
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/0F.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/0F.pem
deleted file mode 100644
index c6341f1302..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/0F.pem
+++ /dev/null
@@ -1,80 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 15 (0xf)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 7 16:06:36 2012 GMT
- Not After : Feb 7 16:06:36 2022 GMT
- Subject: C=NL, O=PolarSSL, CN=www.example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
- Modulus:
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- X509v3 Subject Alternative Name:
- DNS:www.example.com, DNS:example.com, DNS:example.net
- Signature Algorithm: sha1WithRSAEncryption
- 35:06:02:c6:0a:87:d5:02:5e:fa:74:71:50:bc:ac:8d:b2:c1:
- 00:18:7f:a5:bc:41:c3:fe:69:44:77:3b:2d:62:99:32:5d:c6:
- 5b:bc:f4:d6:9e:7c:3d:71:ef:46:d9:a9:ee:df:c2:d0:e1:e4:
- ba:23:60:96:8a:18:f7:dd:1b:2b:60:fc:b6:19:83:73:97:e8:
- 99:50:e2:58:81:10:14:ab:8e:e1:64:0a:b5:15:aa:49:c6:dc:
- 0b:83:34:c5:3c:d4:ee:80:6a:90:db:41:3e:62:81:b8:fb:9e:
- 32:48:89:80:06:64:52:70:2e:66:31:2f:02:1d:c2:da:47:c1:
- 7d:ad:48:10:c8:b0:62:76:aa:e5:40:f7:1a:34:75:4b:b3:be:
- 69:75:dc:72:e0:f6:c2:b8:0a:01:2d:57:6f:26:fc:0f:50:e3:
- 8d:17:48:a0:5f:83:b3:c1:e7:b2:e4:00:10:90:bb:5f:58:f5:
- 66:8c:ec:17:82:5a:97:0d:b8:0f:ce:2d:5e:2a:5b:36:bc:e0:
- f1:29:77:44:46:17:93:cc:c3:58:5c:c0:ea:01:23:cc:5b:cf:
- c4:a2:af:01:24:0f:b5:d3:22:45:c3:a3:ff:0f:4d:b7:bb:96:
- 01:b4:7b:cc:c4:5e:c7:5f:ed:65:38:3a:1f:58:2c:87:7d:a4:
- 92:a4:3e:79
------BEGIN CERTIFICATE-----
-MIIDdTCCAl2gAwIBAgIBDzANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTIwMjA3MTYwNjM2WhcNMjIwMjA3MTYwNjM2WjA6MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGDAWBgNVBAMTD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJ
-KoZIhvcNAQEBBQADggEPADCCAQoCggEBALk8SsXIo46QF6SeUqpxdSZhgOfHtW2M
-/6q2QSa3vhGtXHMWDGQRSAT/1uE7BduJu7OXCdUcFN1ohzmwPXHL4nbQGtgYLYAb
-VPblRJrxy69hLt9JDZ0Jt+2x/Tz9PPokz12/fORT5yW16kQi6SbT6iCUnuZhZ7ou
-B2cLAy+iCe3wM48LzhDvZ6TGCNrB7cI/10rdFT35XhyBYEY+tbM9L6beRxy8kq7r
-3ydrFla33OzRVVelbux1JfW3e9+r0jpakZh9lxcLEwqna0qLwUcw+zr4QQTVwd+4
-Hb97AaVlouAeNremXMwwWvjNb83xGWIlygHjNX/6IPXc/WmyagB9F/cCAwEAAaOB
-hDCBgTAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4TDAf
-BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zA0BgNVHREELTArgg93d3cu
-ZXhhbXBsZS5jb22CC2V4YW1wbGUuY29tggtleGFtcGxlLm5ldDANBgkqhkiG9w0B
-AQUFAAOCAQEANQYCxgqH1QJe+nRxULysjbLBABh/pbxBw/5pRHc7LWKZMl3GW7z0
-1p58PXHvRtmp7t/C0OHkuiNglooY990bK2D8thmDc5fomVDiWIEQFKuO4WQKtRWq
-ScbcC4M0xTzU7oBqkNtBPmKBuPueMkiJgAZkUnAuZjEvAh3C2kfBfa1IEMiwYnaq
-5UD3GjR1S7O+aXXccuD2wrgKAS1Xbyb8D1DjjRdIoF+Ds8HnsuQAEJC7X1j1Zozs
-F4Jalw24D84tXipbNrzg8Sl3REYXk8zDWFzA6gEjzFvPxKKvASQPtdMiRcOj/w9N
-t7uWAbR7zMRex1/tZTg6H1gsh32kkqQ+eQ==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/10.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/10.pem
deleted file mode 100644
index cd4ccade01..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/10.pem
+++ /dev/null
@@ -1,80 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 16 (0x10)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 11 17:25:55 2012 GMT
- Not After : Feb 11 17:25:55 2022 GMT
- Subject: C=NL, O=PolarSSL, CN=www.example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
- Modulus:
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- X509v3 Subject Alternative Name:
- DNS:www.example.com, DNS:example.com, DNS:example.net, DNS:*.example.org
- Signature Algorithm: sha1WithRSAEncryption
- 09:0b:61:f4:8d:b9:78:18:47:48:f0:5f:0c:d6:67:4f:66:fe:
- fd:51:6f:8e:9b:75:c0:1c:d1:73:dc:50:64:41:c7:99:2d:31:
- 47:51:6a:3a:44:1f:69:a8:6b:e6:e0:d8:81:9f:82:b9:02:5b:
- 80:cf:fe:aa:a6:fe:73:f4:20:66:11:3d:e9:aa:69:97:30:49:
- d1:7e:04:63:66:7c:51:6a:c1:1e:e8:96:9d:2a:f2:2e:97:2d:
- 1c:66:da:bc:39:1b:19:42:a2:01:85:69:59:93:b6:bd:af:bf:
- 95:f0:40:d5:6c:b7:27:b7:99:bb:c6:ed:f5:ad:fe:81:be:4e:
- 9b:6e:e3:b9:10:0d:21:c9:2f:e7:fe:34:32:96:64:a2:19:23:
- 89:87:c6:4a:7f:65:c7:76:21:83:8b:bb:77:a3:1e:52:0a:25:
- 68:c2:2c:1f:1f:e6:cb:c1:35:a6:df:1b:05:05:77:3f:40:92:
- 10:ac:cb:1a:c3:25:cd:21:56:7e:99:f7:a3:93:b3:18:77:69:
- 22:e0:ee:cd:97:92:34:37:48:b3:fe:c5:6f:f8:25:29:3d:6c:
- 50:73:47:8f:4d:13:55:3b:c8:69:be:5d:8f:a8:26:f6:c5:47:
- 4d:b9:ee:95:ce:b8:29:59:e6:6a:e2:ce:9b:01:ef:0a:18:62:
- 40:46:ed:3b
------BEGIN CERTIFICATE-----
-MIIDhDCCAmygAwIBAgIBEDANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTIwMjExMTcyNTU1WhcNMjIwMjExMTcyNTU1WjA6MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGDAWBgNVBAMTD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJ
-KoZIhvcNAQEBBQADggEPADCCAQoCggEBALk8SsXIo46QF6SeUqpxdSZhgOfHtW2M
-/6q2QSa3vhGtXHMWDGQRSAT/1uE7BduJu7OXCdUcFN1ohzmwPXHL4nbQGtgYLYAb
-VPblRJrxy69hLt9JDZ0Jt+2x/Tz9PPokz12/fORT5yW16kQi6SbT6iCUnuZhZ7ou
-B2cLAy+iCe3wM48LzhDvZ6TGCNrB7cI/10rdFT35XhyBYEY+tbM9L6beRxy8kq7r
-3ydrFla33OzRVVelbux1JfW3e9+r0jpakZh9lxcLEwqna0qLwUcw+zr4QQTVwd+4
-Hb97AaVlouAeNremXMwwWvjNb83xGWIlygHjNX/6IPXc/WmyagB9F/cCAwEAAaOB
-kzCBkDAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4TDAf
-BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zBDBgNVHREEPDA6gg93d3cu
-ZXhhbXBsZS5jb22CC2V4YW1wbGUuY29tggtleGFtcGxlLm5ldIINKi5leGFtcGxl
-Lm9yZzANBgkqhkiG9w0BAQUFAAOCAQEACQth9I25eBhHSPBfDNZnT2b+/VFvjpt1
-wBzRc9xQZEHHmS0xR1FqOkQfaahr5uDYgZ+CuQJbgM/+qqb+c/QgZhE96applzBJ
-0X4EY2Z8UWrBHuiWnSryLpctHGbavDkbGUKiAYVpWZO2va+/lfBA1Wy3J7eZu8bt
-9a3+gb5Om27juRANIckv5/40MpZkohkjiYfGSn9lx3Yhg4u7d6MeUgolaMIsHx/m
-y8E1pt8bBQV3P0CSEKzLGsMlzSFWfpn3o5OzGHdpIuDuzZeSNDdIs/7Fb/glKT1s
-UHNHj00TVTvIab5dj6gm9sVHTbnulc64KVnmauLOmwHvChhiQEbtOw==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/newcerts/11.pem b/Externals/polarssl/programs/ssl/test-ca/newcerts/11.pem
deleted file mode 100644
index c1e19987a0..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/newcerts/11.pem
+++ /dev/null
@@ -1,80 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 17 (0x11)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: May 10 13:23:41 2012 GMT
- Not After : May 11 13:23:41 2022 GMT
- Subject: C=NL, O=PolarSSL, CN=www.example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
- Modulus:
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- X509v3 Subject Alternative Name:
- DNS:example.com, DNS:example.net, DNS:*.example.org
- Signature Algorithm: sha1WithRSAEncryption
- 4f:09:cb:7a:d5:ee:f5:ef:62:0d:dc:7b:a2:85:d6:8c:ca:95:
- b4:6b:da:11:5b:92:00:75:13:b9:ca:0b:ce:ea:fb:c3:1f:e2:
- 3f:7f:21:74:79:e2:e6:bc:da:06:e5:2f:6f:f6:55:c6:73:39:
- cf:48:bc:0d:2f:0c:d2:7a:06:c3:4a:4c:d9:48:5d:a0:d0:73:
- 89:e4:d4:85:1d:96:9a:0e:57:99:c6:6f:1d:21:27:1f:8d:05:
- 29:e8:40:ae:82:39:68:c3:97:07:cf:3c:93:4c:1a:df:2f:a6:
- a4:55:48:7f:7c:8c:1a:c9:22:da:24:cd:92:39:c6:8a:ec:b0:
- 8d:f5:69:82:67:cb:04:ee:de:53:41:96:c1:27:dc:2f:fe:33:
- fa:d3:0e:b8:d4:32:a9:84:28:53:a5:f0:d1:89:d5:a2:98:e7:
- 16:91:bb:9c:c0:41:8e:8c:58:ac:ff:e3:dd:2e:7a:ab:b0:b9:
- 71:76:ad:0f:27:33:f7:a9:29:d3:c0:76:c0:bf:06:40:7c:0e:
- d5:a4:7c:8a:e2:32:6e:16:ae:da:64:1f:b0:55:7c:db:dd:f1:
- a4:ba:44:7c:b3:99:58:d2:34:6e:00:ea:97:6c:14:3a:f2:10:
- 1e:0a:a2:49:10:76:01:f4:f2:c8:18:fd:cc:63:46:12:8b:09:
- 1b:f1:94:e6
------BEGIN CERTIFICATE-----
-MIIDcjCCAlqgAwIBAgIBETANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTIwNTEwMTMyMzQxWhcNMjIwNTExMTMyMzQxWjA6MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGDAWBgNVBAMTD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJ
-KoZIhvcNAQEBBQADggEPADCCAQoCggEBALk8SsXIo46QF6SeUqpxdSZhgOfHtW2M
-/6q2QSa3vhGtXHMWDGQRSAT/1uE7BduJu7OXCdUcFN1ohzmwPXHL4nbQGtgYLYAb
-VPblRJrxy69hLt9JDZ0Jt+2x/Tz9PPokz12/fORT5yW16kQi6SbT6iCUnuZhZ7ou
-B2cLAy+iCe3wM48LzhDvZ6TGCNrB7cI/10rdFT35XhyBYEY+tbM9L6beRxy8kq7r
-3ydrFla33OzRVVelbux1JfW3e9+r0jpakZh9lxcLEwqna0qLwUcw+zr4QQTVwd+4
-Hb97AaVlouAeNremXMwwWvjNb83xGWIlygHjNX/6IPXc/WmyagB9F/cCAwEAAaOB
-gTB/MAkGA1UdEwQCMAAwHQYDVR0OBBYEFH3knGvm+XF9RtISPa1rHf3CqnhMMB8G
-A1UdIwQYMBaAFLRa5KWz3tJS9rnVppUP6z68x/3/MDIGA1UdEQQrMCmCC2V4YW1w
-bGUuY29tggtleGFtcGxlLm5ldIINKi5leGFtcGxlLm9yZzANBgkqhkiG9w0BAQUF
-AAOCAQEATwnLetXu9e9iDdx7ooXWjMqVtGvaEVuSAHUTucoLzur7wx/iP38hdHni
-5rzaBuUvb/ZVxnM5z0i8DS8M0noGw0pM2UhdoNBzieTUhR2Wmg5XmcZvHSEnH40F
-KehAroI5aMOXB888k0wa3y+mpFVIf3yMGski2iTNkjnGiuywjfVpgmfLBO7eU0GW
-wSfcL/4z+tMOuNQyqYQoU6Xw0YnVopjnFpG7nMBBjoxYrP/j3S56q7C5cXatDycz
-96kp08B2wL8GQHwO1aR8iuIybhau2mQfsFV8293xpLpEfLOZWNI0bgDql2wUOvIQ
-HgqiSRB2AfTyyBj9zGNGEosJG/GU5g==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/serial b/Externals/polarssl/programs/ssl/test-ca/serial
deleted file mode 100644
index 48082f72f0..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/serial
+++ /dev/null
@@ -1 +0,0 @@
-12
diff --git a/Externals/polarssl/programs/ssl/test-ca/server1.crt b/Externals/polarssl/programs/ssl/test-ca/server1.crt
deleted file mode 100644
index 7e353cc6e1..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/server1.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 1 (0x1)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:06 2011 GMT
- Not After : Feb 12 14:44:06 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Server 1
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:a9:02:1f:3d:40:6a:d5:55:53:8b:fd:36:ee:82:
- 65:2e:15:61:5e:89:bf:b8:e8:45:90:db:ee:88:16:
- 52:d3:f1:43:50:47:96:12:59:64:87:6b:fd:2b:e0:
- 46:f9:73:be:dd:cf:92:e1:91:5b:ed:66:a0:6f:89:
- 29:79:45:80:d0:83:6a:d5:41:43:77:5f:39:7c:09:
- 04:47:82:b0:57:39:70:ed:a3:ec:15:19:1e:a8:33:
- 08:47:c1:05:42:a9:fd:4c:c3:b4:df:dd:06:1f:4d:
- 10:51:40:67:73:13:0f:40:f8:6d:81:25:5f:0a:b1:
- 53:c6:30:7e:15:39:ac:f9:5a:ee:7f:92:9e:a6:05:
- 5b:e7:13:97:85:b5:23:92:d9:d4:24:06:d5:09:25:
- 89:75:07:dd:a6:1a:8f:3f:09:19:be:ad:65:2c:64:
- eb:95:9b:dc:fe:41:5e:17:a6:da:6c:5b:69:cc:02:
- ba:14:2c:16:24:9c:4a:dc:cd:d0:f7:52:67:73:f1:
- 2d:a0:23:fd:7e:f4:31:ca:2d:70:ca:89:0b:04:db:
- 2e:a6:4f:70:6e:9e:ce:bd:58:89:e2:53:59:9e:6e:
- 5a:92:65:e2:88:3f:0c:94:19:a3:dd:e5:e8:9d:95:
- 13:ed:29:db:ab:70:12:dc:5a:ca:6b:17:ab:52:82:
- 54:b1
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 1F:74:D6:3F:29:C1:74:74:45:3B:05:12:2C:3D:A8:BD:43:59:02:A6
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- bd:cf:96:c1:95:1e:9a:c2:6e:d8:88:88:d8:2a:7a:96:20:3e:
- 50:0b:c8:c7:df:1d:41:ed:e4:66:cd:b3:02:81:7d:57:04:1b:
- 5d:c6:33:59:0f:c1:20:b9:23:34:89:8a:6c:f2:fd:c7:48:36:
- 8c:80:e7:e1:9b:c6:60:5c:b0:33:02:0e:fd:df:be:61:bc:18:
- 89:0c:38:db:fb:fb:46:23:32:f7:8c:c1:3e:7c:de:1e:2f:3a:
- 77:2f:f4:8e:93:8e:25:4c:77:21:74:6c:18:b7:72:8d:bf:f5:
- 4f:5d:64:95:c1:6a:1a:70:11:88:af:bc:55:8a:25:30:f3:fa:
- 69:f2:af:2d:75:fb:2b:89:22:52:9b:05:42:15:29:13:95:5e:
- 33:9a:55:d4:c7:22:d8:44:ce:25:ab:b6:70:ee:34:14:9b:c8:
- fc:2f:56:ff:04:7e:18:00:2b:31:ac:36:7f:11:bb:ec:4d:e5:
- 69:a6:b4:2c:03:a5:7b:13:3a:03:82:8e:6f:97:f9:70:64:cc:
- e4:88:7a:b4:41:79:15:5a:b7:ff:db:f3:34:86:0c:6b:51:6a:
- cd:a7:01:2d:91:7c:cd:21:d8:2c:48:a6:5c:17:73:8c:1a:0d:
- e2:a0:d4:fd:6c:d1:c9:84:41:46:30:08:e3:d9:b3:1d:7e:ab:
- 6a:57:aa:9f
------BEGIN CERTIFICATE-----
-MIIDPzCCAiegAwIBAgIBATANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA2WhcNMjEwMjEyMTQ0NDA2WjA8MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIFNlcnZlciAxMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqQIfPUBq1VVTi/027oJlLhVhXom/
-uOhFkNvuiBZS0/FDUEeWEllkh2v9K+BG+XO+3c+S4ZFb7Wagb4kpeUWA0INq1UFD
-d185fAkER4KwVzlw7aPsFRkeqDMIR8EFQqn9TMO0390GH00QUUBncxMPQPhtgSVf
-CrFTxjB+FTms+Vruf5KepgVb5xOXhbUjktnUJAbVCSWJdQfdphqPPwkZvq1lLGTr
-lZvc/kFeF6babFtpzAK6FCwWJJxK3M3Q91Jnc/EtoCP9fvQxyi1wyokLBNsupk9w
-bp7OvViJ4lNZnm5akmXiiD8MlBmj3eXonZUT7Snbq3AS3FrKaxerUoJUsQIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQfdNY/KcF0dEU7BRIsPai9Q1kCpjAf
-BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQUFAAOC
-AQEAvc+WwZUemsJu2IiI2Cp6liA+UAvIx98dQe3kZs2zAoF9VwQbXcYzWQ/BILkj
-NImKbPL9x0g2jIDn4ZvGYFywMwIO/d++YbwYiQw42/v7RiMy94zBPnzeHi86dy/0
-jpOOJUx3IXRsGLdyjb/1T11klcFqGnARiK+8VYolMPP6afKvLXX7K4kiUpsFQhUp
-E5VeM5pV1Mci2ETOJau2cO40FJvI/C9W/wR+GAArMaw2fxG77E3laaa0LAOlexM6
-A4KOb5f5cGTM5Ih6tEF5FVq3/9vzNIYMa1FqzacBLZF8zSHYLEimXBdzjBoN4qDU
-/WzRyYRBRjAI49mzHX6raleqnw==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/server1.key b/Externals/polarssl/programs/ssl/test-ca/server1.key
deleted file mode 100644
index 4281a5f522..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/server1.key
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEogIBAAKCAQEAqQIfPUBq1VVTi/027oJlLhVhXom/uOhFkNvuiBZS0/FDUEeW
-Ellkh2v9K+BG+XO+3c+S4ZFb7Wagb4kpeUWA0INq1UFDd185fAkER4KwVzlw7aPs
-FRkeqDMIR8EFQqn9TMO0390GH00QUUBncxMPQPhtgSVfCrFTxjB+FTms+Vruf5Ke
-pgVb5xOXhbUjktnUJAbVCSWJdQfdphqPPwkZvq1lLGTrlZvc/kFeF6babFtpzAK6
-FCwWJJxK3M3Q91Jnc/EtoCP9fvQxyi1wyokLBNsupk9wbp7OvViJ4lNZnm5akmXi
-iD8MlBmj3eXonZUT7Snbq3AS3FrKaxerUoJUsQIDAQABAoIBABaJ9eiRQq4Ypv+w
-UTcVpLC0oTueWzcpor1i1zjG4Vzqe/Ok2FqyGToGKMlFK7Hwwa+LEyeJ3xyV5yd4
-v1Mw9bDZFdJC1eCBjoUAHtX6k9HOE0Vd6woVQ4Vi6OPI1g7B5Mnr/58rNrnN6TMs
-x58NF6euecwTU811QJrZtLbX7j2Cr28yB2Vs8qyYlHwVw5jbDOv43D7vU5gmlIDN
-0JQRuWAnOuPzZNoJr4SfJKqHNGxYYY6pHZ1s0dOTLIDb/B8KQWapA2kRmZyid2EH
-nwzgLbAsHJCf+bQnhXjXuxtUsrcIL8noZLazlOMxwNEammglVWW23Ud/QRnFgJg5
-UgcAcRECgYEA19uYetht5qmwdJ+12oC6zeO+vXLcyD9gon23T5J6w2YThld7/OW0
-oArQJGgkAdaq0pcTyOIjtTQVMFygdVmCEJmxh/3RutPcTeydqW9fphKDMej32J8e
-GniGmNGiclbcfNOS8E5TGp445yZb9P1+7AHng16bGg3Ykj5EA4G+HCcCgYEAyHAl
-//ekk8YjQElm+8izLtFkymIK0aCtEe9C/RIRhFYBeFaotC5dStNhBOncn4ovMAPD
-lX/92yDi9OP8PPLN3a4B9XpW3k/SS5GrbT5cwOivBHNllZSmu/2qz5WPGcjVCOrB
-LYl3YWr2h3EGKICT03kEoTkiDBvCeOpW7cCGl2cCgYBD5whoXHz1+ptPlI4YVjZt
-Xh86aU+ajpVPiEyJ84I6xXmO4SZXv8q6LaycR0ZMbcL+zBelMb4Z2nBv7jNrtuR7
-ZF28cdPv+YVr3esaybZE/73VjXup4SQPH6r3l7qKTVi+y6+FeJ4b2Xn8/MwgnT23
-8EFrye7wmzpthrjOgZnUMQKBgE9Lhsz/5J0Nis6Y+2Pqn3CLKEukg9Ewtqdct2y0
-5Dcta0F3TyCRIxlCDKTL/BslqMtfAdY4H268UO0+8IAQMn9boqzBrHIgs/pvc5kx
-TbKHmw2wtWR6vYersBKVgVpbCGSRssDYHGFu1n74qM4HJ/RGcR1zI9QUe1gopSFD
-xDtLAoGAVAdWvrqDwgoL2hHW3scGpxdE/ygJDOwHnf+1B9goKAOP5lf2FJaiAxf3
-ectoPOgZbCmm/iiDmigu703ld3O+VoCLDD4qx3R+KyALL78gtVJYzSRiKhzgCZ3g
-mKsIVRBq4IfwiwyMNG2BYZQAwbSDjjPtn/kPBduPzPj7eriByhI=
------END RSA PRIVATE KEY-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/server1.pub b/Externals/polarssl/programs/ssl/test-ca/server1.pub
deleted file mode 100644
index 93c669c616..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/server1.pub
+++ /dev/null
@@ -1,9 +0,0 @@
------BEGIN PUBLIC KEY-----
-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqQIfPUBq1VVTi/027oJl
-LhVhXom/uOhFkNvuiBZS0/FDUEeWEllkh2v9K+BG+XO+3c+S4ZFb7Wagb4kpeUWA
-0INq1UFDd185fAkER4KwVzlw7aPsFRkeqDMIR8EFQqn9TMO0390GH00QUUBncxMP
-QPhtgSVfCrFTxjB+FTms+Vruf5KepgVb5xOXhbUjktnUJAbVCSWJdQfdphqPPwkZ
-vq1lLGTrlZvc/kFeF6babFtpzAK6FCwWJJxK3M3Q91Jnc/EtoCP9fvQxyi1wyokL
-BNsupk9wbp7OvViJ4lNZnm5akmXiiD8MlBmj3eXonZUT7Snbq3AS3FrKaxerUoJU
-sQIDAQAB
------END PUBLIC KEY-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/server2.crt b/Externals/polarssl/programs/ssl/test-ca/server2.crt
deleted file mode 100644
index dca4c24230..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/server2.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 2 (0x2)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:06 2011 GMT
- Not After : Feb 12 14:44:06 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=localhost
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:c1:4d:a3:dd:e7:cd:1d:d1:04:d7:49:72:b8:99:
- ac:0e:78:e4:3a:3c:4a:cf:3a:13:16:d0:5a:e4:cd:
- a3:00:88:a7:ee:1e:6b:96:a7:52:b4:90:ef:2d:72:
- 7a:3e:24:9a:fc:b6:34:ac:24:f5:77:e0:26:64:8c:
- 9c:b0:28:7d:a1:da:ea:8c:e6:c9:1c:96:bc:fe:c1:
- 04:52:b3:36:d4:a3:fa:e1:b1:76:d8:90:c1:61:b4:
- 66:52:36:a2:26:53:aa:ab:74:5e:07:7d:19:82:db:
- 2a:d8:1f:a0:d9:0d:1c:2d:49:66:f7:5b:25:73:46:
- e8:0b:8a:4f:69:0c:b5:00:90:e1:da:82:10:66:7d:
- ae:54:2b:8b:65:79:91:a1:e2:61:c3:cd:40:49:08:
- ee:68:0c:f1:8b:86:d2:46:bf:d0:b8:aa:11:03:1e:
- 7f:56:a8:1a:1e:44:18:0f:0f:85:8b:da:8b:44:5e:
- e2:18:c6:62:2f:c7:66:8d:fa:5d:d8:7d:f3:27:89:
- 29:01:c5:90:0e:3f:27:f1:30:c8:4a:0e:ef:d6:de:
- c7:c7:27:6b:c7:05:3d:7a:c4:02:3c:9a:1d:3e:0f:
- e8:34:98:5b:cb:73:4b:52:96:d8:11:a2:2c:80:88:
- 69:39:5a:d3:0f:b0:de:59:2f:11:c7:f7:ea:12:01:
- 30:97
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- A5:05:E8:64:B8:DC:DF:60:0F:50:12:4D:60:A8:64:AF:4D:8B:43:93
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 9c:67:5c:29:58:a0:79:1b:a7:bd:1c:a8:1a:ec:19:72:f2:6c:
- 0e:f8:73:36:ce:e5:17:4b:12:01:6c:ee:b1:d5:4b:da:fe:73:
- 6f:77:96:e4:bf:29:d9:62:2d:27:19:a8:0c:d8:57:29:70:51:
- f4:56:bc:a3:28:5a:11:d8:2a:9d:dd:10:84:b8:c5:35:e4:eb:
- fe:73:5f:18:6f:f5:1c:3c:48:67:3c:aa:7e:af:21:31:e4:d5:
- 2d:66:3d:eb:ed:7a:48:1a:b1:8e:58:89:64:2e:33:78:78:61:
- 59:51:1f:71:c7:10:c0:03:d5:39:c0:7b:17:d7:1c:70:c5:40:
- 67:be:05:dd:62:01:bc:f5:fe:c1:fd:1f:c9:78:4a:dc:17:e9:
- e8:2f:4c:ad:cc:c1:74:70:90:a9:2f:8c:a6:84:0c:0f:40:4d:
- b6:71:d2:62:3c:2c:6b:31:4a:e0:aa:7b:da:fd:77:28:e6:b6:
- d7:78:ec:9d:69:d5:1b:a5:cf:70:8b:cd:a4:5c:54:8b:92:45:
- 14:1f:68:3f:27:78:cf:5c:d5:2f:e2:27:f6:a6:4d:5a:89:c4:
- 0d:4a:39:d3:92:e7:bf:34:5a:13:df:48:0a:c0:fa:0e:2a:02:
- 64:a3:7a:57:37:a7:8c:16:a6:16:bc:ce:1b:98:c2:35:6e:5f:
- a2:47:1b:47
------BEGIN CERTIFICATE-----
-MIIDNzCCAh+gAwIBAgIBAjANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA2WhcNMjEwMjEyMTQ0NDA2WjA0MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxEjAQBgNVBAMTCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcN
-AQEBBQADggEPADCCAQoCggEBAMFNo93nzR3RBNdJcriZrA545Do8Ss86ExbQWuTN
-owCIp+4ea5anUrSQ7y1yej4kmvy2NKwk9XfgJmSMnLAofaHa6ozmyRyWvP7BBFKz
-NtSj+uGxdtiQwWG0ZlI2oiZTqqt0Xgd9GYLbKtgfoNkNHC1JZvdbJXNG6AuKT2kM
-tQCQ4dqCEGZ9rlQri2V5kaHiYcPNQEkI7mgM8YuG0ka/0LiqEQMef1aoGh5EGA8P
-hYvai0Re4hjGYi/HZo36Xdh98yeJKQHFkA4/J/EwyEoO79bex8cna8cFPXrEAjya
-HT4P6DSYW8tzS1KW2BGiLICIaTla0w+w3lkvEcf36hIBMJcCAwEAAaNNMEswCQYD
-VR0TBAIwADAdBgNVHQ4EFgQUpQXoZLjc32APUBJNYKhkr02LQ5MwHwYDVR0jBBgw
-FoAUtFrkpbPe0lL2udWmlQ/rPrzH/f8wDQYJKoZIhvcNAQEFBQADggEBAJxnXClY
-oHkbp70cqBrsGXLybA74czbO5RdLEgFs7rHVS9r+c293luS/KdliLScZqAzYVylw
-UfRWvKMoWhHYKp3dEIS4xTXk6/5zXxhv9Rw8SGc8qn6vITHk1S1mPevtekgasY5Y
-iWQuM3h4YVlRH3HHEMAD1TnAexfXHHDFQGe+Bd1iAbz1/sH9H8l4StwX6egvTK3M
-wXRwkKkvjKaEDA9ATbZx0mI8LGsxSuCqe9r9dyjmttd47J1p1Rulz3CLzaRcVIuS
-RRQfaD8neM9c1S/iJ/amTVqJxA1KOdOS5780WhPfSArA+g4qAmSjelc3p4wWpha8
-zhuYwjVuX6JHG0c=
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/server2.key b/Externals/polarssl/programs/ssl/test-ca/server2.key
deleted file mode 100644
index 70a764a242..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/server2.key
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAwU2j3efNHdEE10lyuJmsDnjkOjxKzzoTFtBa5M2jAIin7h5r
-lqdStJDvLXJ6PiSa/LY0rCT1d+AmZIycsCh9odrqjObJHJa8/sEEUrM21KP64bF2
-2JDBYbRmUjaiJlOqq3ReB30Zgtsq2B+g2Q0cLUlm91slc0boC4pPaQy1AJDh2oIQ
-Zn2uVCuLZXmRoeJhw81ASQjuaAzxi4bSRr/QuKoRAx5/VqgaHkQYDw+Fi9qLRF7i
-GMZiL8dmjfpd2H3zJ4kpAcWQDj8n8TDISg7v1t7HxydrxwU9esQCPJodPg/oNJhb
-y3NLUpbYEaIsgIhpOVrTD7DeWS8Rx/fqEgEwlwIDAQABAoIBAQCXR0S8EIHFGORZ
-++AtOg6eENxD+xVs0f1IeGz57Tjo3QnXX7VBZNdj+p1ECvhCE/G7XnkgU5hLZX+G
-Z0jkz/tqJOI0vRSdLBbipHnWouyBQ4e/A1yIJdlBtqXxJ1KE/ituHRbNc4j4kL8Z
-/r6pvwnTI0PSx2Eqs048YdS92LT6qAv4flbNDxMn2uY7s4ycS4Q8w1JXnCeaAnYm
-WYI5wxO+bvRELR2Mcz5DmVnL8jRyml6l6582bSv5oufReFIbyPZbQWlXgYnpu6He
-GTc7E1zKYQGG/9+DQUl/1vQuCPqQwny0tQoX2w5tdYpdMdVm+zkLtbajzdTviJJa
-TWzL6lt5AoGBAN86+SVeJDcmQJcv4Eq6UhtRr4QGMiQMz0Sod6ettYxYzMgxtw28
-CIrgpozCc+UaZJLo7UxvC6an85r1b2nKPCLQFaggJ0H4Q0J/sZOhBIXaoBzWxveK
-nupceKdVxGsFi8CDy86DBfiyFivfBj+47BbaQzPBj7C4rK7UlLjab2rDAoGBAN2u
-AM2gchoFiu4v1HFL8D7lweEpi6ZnMJjnEu/dEgGQJFjwdpLnPbsj4c75odQ4Gz8g
-sw9lao9VVzbusoRE/JGI4aTdO0pATXyG7eG1Qu+5Yc1YGXcCrliA2xM9xx+d7f+s
-mPzN+WIEg5GJDYZDjAzHG5BNvi/FfM1C9dOtjv2dAoGAF0t5KmwbjWHBhcVqO4Ic
-BVvN3BIlc1ue2YRXEDlxY5b0r8N4XceMgKmW18OHApZxfl8uPDauWZLXOgl4uepv
-whZC3EuWrSyyICNhLY21Ah7hbIEBPF3L3ZsOwC+UErL+dXWLdB56Jgy3gZaBeW7b
-vDrEnocJbqCm7IukhXHOBK8CgYEAwqdHB0hqyNSzIOGY7v9abzB6pUdA3BZiQvEs
-3LjHVd4HPJ2x0N8CgrBIWOE0q8+0hSMmeE96WW/7jD3fPWwCR5zlXknxBQsfv0gP
-3BC5PR0Qdypz+d+9zfMf625kyit4T/hzwhDveZUzHnk1Cf+IG7Q+TOEnLnWAWBED
-ISOWmrUCgYAFEmRxgwAc/u+D6t0syCwAYh6POtscq9Y0i9GyWk89NzgC4NdwwbBH
-4AgahOxIxXx2gxJnq3yfkJfIjwf0s2DyP0kY2y6Ua1OeomPeY9mrIS4tCuDQ6LrE
-TB6l9VGoxJL4fyHnZb8L5gGvnB1bbD8cL6YPaDiOhcRseC9vBiEuVg==
------END RSA PRIVATE KEY-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/sslconf.txt b/Externals/polarssl/programs/ssl/test-ca/sslconf.txt
deleted file mode 100644
index 8b7b692ec6..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/sslconf.txt
+++ /dev/null
@@ -1,50 +0,0 @@
-##================================================================
-##============== Example OpenSSL configuration file ==============
-##================================================================
-
-# References:
-#
-# /etc/ssl/openssl.conf
-# http://www.openssl.org/docs/apps/config.html
-# http://www.openssl.org/docs/apps/x509v3_config.html
-
-[ ca ]
-default_ca = my_ca
-
-[ my_ca ]
-certificate = test-ca.crt
-private_key = test-ca.key
-database = index
-serial = serial
-
-new_certs_dir = newcerts
-default_crl_days = 5
-default_days = 3653
-default_md = sha1
-policy = my_policy
-x509_extensions = v3_usr
-copy_extensions = copy
-
-[ my_policy ]
-countryName = supplied
-organizationName = match
-commonName = supplied
-
-[ req ]
-distinguished_name = my_req_dn
-x509_extensions = v3_ca
-prompt = no
-
-[ v3_ca ]
-basicConstraints = CA:TRUE
-subjectKeyIdentifier = hash
-authorityKeyIdentifier = keyid:always,issuer:always
-
-[ v3_usr ]
-basicConstraints = CA:FALSE
-subjectKeyIdentifier = hash
-authorityKeyIdentifier = keyid,issuer
-
-[ my_req_dn ]
-C=NL
-O=PolarSSL
diff --git a/Externals/polarssl/programs/ssl/test-ca/test-ca.crt b/Externals/polarssl/programs/ssl/test-ca/test-ca.crt
deleted file mode 100644
index f0eee2b829..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/test-ca.crt
+++ /dev/null
@@ -1,80 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 0 (0x0)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:00 2011 GMT
- Not After : Feb 12 14:44:00 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:c0:df:37:fc:17:bb:e0:96:9d:3f:86:de:96:32:
- 7d:44:a5:16:a0:cd:21:f1:99:d4:ec:ea:cb:7c:18:
- 58:08:94:a5:ec:9b:c5:8b:df:1a:1e:99:38:99:87:
- 1e:7b:c0:8d:39:df:38:5d:70:78:07:d3:9e:d9:93:
- e8:b9:72:51:c5:ce:a3:30:52:a9:f2:e7:40:70:14:
- cb:44:a2:72:0b:c2:e5:40:f9:3e:e5:a6:0e:b3:f9:
- ec:4a:63:c0:b8:29:00:74:9c:57:3b:a8:a5:04:90:
- 71:f1:bd:83:d9:3f:d6:a5:e2:3c:2a:8f:ef:27:60:
- c3:c6:9f:cb:ba:ec:60:7d:b7:e6:84:32:be:4f:fb:
- 58:26:22:03:5b:d4:b4:d5:fb:f5:e3:96:2e:70:c0:
- e4:2e:bd:fc:2e:ee:e2:41:55:c0:34:2e:7d:24:72:
- 69:cb:47:b1:14:40:83:7d:67:f4:86:f6:31:ab:f1:
- 79:a4:b2:b5:2e:12:f9:84:17:f0:62:6f:27:3e:13:
- 58:b1:54:0d:21:9a:73:37:a1:30:cf:6f:92:dc:f6:
- e9:fc:ac:db:2e:28:d1:7e:02:4b:23:a0:15:f2:38:
- 65:64:09:ea:0c:6e:8e:1b:17:a0:71:c8:b3:9b:c9:
- ab:e9:c3:f2:cf:87:96:8f:80:02:32:9e:99:58:6f:
- a2:d5
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:TRUE
- X509v3 Subject Key Identifier:
- B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
- DirName:/C=NL/O=PolarSSL/CN=PolarSSL Test CA
- serial:00
-
- Signature Algorithm: sha1WithRSAEncryption
- b8:fd:54:d8:00:54:90:8b:25:b0:27:dd:95:cd:a2:f7:84:07:
- 1d:87:89:4a:c4:78:11:d8:07:b5:d7:22:50:8e:48:eb:62:7a:
- 32:89:be:63:47:53:ff:b6:be:f1:2e:8c:54:c0:99:3f:a0:b9:
- 37:23:72:5f:0d:46:59:8f:d8:47:cd:97:4c:9f:07:0c:12:62:
- 09:3a:24:e4:36:d9:e9:2c:da:38:d0:73:75:61:d7:c1:6c:26:
- 8b:9b:e0:d5:dc:67:ed:8c:6b:33:d7:74:22:3c:4c:db:b5:8d:
- 2a:ce:2c:0d:08:59:05:09:05:a6:39:9f:b3:67:1b:e2:83:e5:
- e1:8f:53:f6:67:93:c7:f9:6f:76:44:58:12:e8:3a:d4:97:e7:
- e9:c0:3e:a8:7a:72:3d:87:53:1f:e5:2c:84:84:e7:9a:9e:7f:
- 66:d9:1f:9b:f5:13:48:b0:4d:14:d1:de:b2:24:d9:78:7d:f5:
- 35:cc:58:19:d1:d2:99:ef:4d:73:f8:1f:89:d4:5a:d0:52:ce:
- 09:f5:b1:46:51:6a:00:8e:3b:cc:6f:63:01:00:99:ed:9d:a6:
- 08:60:cd:32:18:d0:73:e0:58:71:d9:e5:d2:53:d7:8d:d0:ca:
- e9:5d:2a:0a:0d:5d:55:ec:21:50:17:16:e6:06:4a:cd:5e:de:
- f7:e0:e9:54
------BEGIN CERTIFICATE-----
-MIIDhzCCAm+gAwIBAgIBADANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDAwWhcNMjEwMjEyMTQ0NDAwWjA7MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwggEiMA0G
-CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDA3zf8F7vglp0/ht6WMn1EpRagzSHx
-mdTs6st8GFgIlKXsm8WL3xoemTiZhx57wI053zhdcHgH057Zk+i5clHFzqMwUqny
-50BwFMtEonILwuVA+T7lpg6z+exKY8C4KQB0nFc7qKUEkHHxvYPZP9al4jwqj+8n
-YMPGn8u67GB9t+aEMr5P+1gmIgNb1LTV+/Xjli5wwOQuvfwu7uJBVcA0Ln0kcmnL
-R7EUQIN9Z/SG9jGr8XmksrUuEvmEF/Bibyc+E1ixVA0hmnM3oTDPb5Lc9un8rNsu
-KNF+AksjoBXyOGVkCeoMbo4bF6BxyLObyavpw/LPh5aPgAIynplYb6LVAgMBAAGj
-gZUwgZIwDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUtFrkpbPe0lL2udWmlQ/rPrzH
-/f8wYwYDVR0jBFwwWoAUtFrkpbPe0lL2udWmlQ/rPrzH/f+hP6Q9MDsxCzAJBgNV
-BAYTAk5MMREwDwYDVQQKEwhQb2xhclNTTDEZMBcGA1UEAxMQUG9sYXJTU0wgVGVz
-dCBDQYIBADANBgkqhkiG9w0BAQUFAAOCAQEAuP1U2ABUkIslsCfdlc2i94QHHYeJ
-SsR4EdgHtdciUI5I62J6Mom+Y0dT/7a+8S6MVMCZP6C5NyNyXw1GWY/YR82XTJ8H
-DBJiCTok5DbZ6SzaONBzdWHXwWwmi5vg1dxn7YxrM9d0IjxM27WNKs4sDQhZBQkF
-pjmfs2cb4oPl4Y9T9meTx/lvdkRYEug61Jfn6cA+qHpyPYdTH+UshITnmp5/Ztkf
-m/UTSLBNFNHesiTZeH31NcxYGdHSme9Nc/gfidRa0FLOCfWxRlFqAI47zG9jAQCZ
-7Z2mCGDNMhjQc+BYcdnl0lPXjdDK6V0qCg1dVewhUBcW5gZKzV7e9+DpVA==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/programs/ssl/test-ca/test-ca.key b/Externals/polarssl/programs/ssl/test-ca/test-ca.key
deleted file mode 100644
index 1614e22bcd..0000000000
--- a/Externals/polarssl/programs/ssl/test-ca/test-ca.key
+++ /dev/null
@@ -1,30 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-Proc-Type: 4,ENCRYPTED
-DEK-Info: DES-EDE3-CBC,A8A95B05D5B7206B
-
-9Qd9GeArejl1GDVh2lLV1bHt0cPtfbh5h/5zVpAVaFpqtSPMrElp50Rntn9et+JA
-7VOyboR+Iy2t/HU4WvA687k3Bppe9GwKHjHhtl//8xFKwZr3Xb5yO5JUP8AUctQq
-Nb8CLlZyuUC+52REAAthdWgsX+7dJO4yabzUcQ22Tp9JSD0hiL43BlkWYUNK3dAo
-PZlmiptjnzVTjg1MxsBSydZinWOLBV8/JQgxSPo2yD4uEfig28qbvQ2wNIn0pnAb
-GxnSAOazkongEGfvcjIIs+LZN9gXFhxcOh6kc4Q/c99B7QWETwLLkYgZ+z1a9VY9
-gEU7CwCxYCD+h9hY6FPmsK0/lC4O7aeRKpYq00rPPxs6i7phiexg6ax6yTMmArQq
-QmK3TAsJm8V/J5AWpLEV6jAFgRGymGGHnof0DXzVWZidrcZJWTNuGEX90nB3ee2w
-PXJEFWKoD3K3aFcSLdHYr3mLGxP7H9ThQai9VsycxZKS5kwvBKQ//YMrmFfwPk8x
-vTeY4KZMaUrveEel5tWZC94RSMKgxR6cyE1nBXyTQnDOGbfpNNgBKxyKbINWoOJU
-WJZAwlsQn+QzCDwpri7+sV1mS3gBE6UY7aQmnmiiaC2V3Hbphxct/en5QsfDOt1X
-JczSfpRWLlbPznZg8OQh/VgCMA58N5DjOzTIK7sJJ5r+94ZBTCpgAMbF588f0NTR
-KCe4yrxGJR7X02M4nvD4IwOlpsQ8xQxZtOSgXv4LkxvdU9XJJKWZ/XNKJeWztxSe
-Z1vdTc2YfsDBA2SEv33vxHx2g1vqtw8SjDRT2RaQSS0QuSaMJimdOX6mTOCBKk1J
-9Q5mXTrER+/LnK0jEmXsBXWA5bqqVZIyahXSx4VYZ7l7w/PHiUDtDgyRhMMKi4n2
-iQvQcWSQTjrpnlJbca1/DkpRt3YwrvJwdqb8asZU2VrNETh5x0QVefDRLFiVpif/
-tUaeAe/P1F8OkS7OIZDs1SUbv/sD2vMbhNkUoCms3/PvNtdnvgL4F0zhaDpKCmlT
-P8vx49E7v5CyRNmED9zZg4o3wmMqrQO93PtTug3Eu9oVx1zPQM1NVMyBa2+f29DL
-1nuTCeXdo9+ni45xx+jAI4DCwrRdhJ9uzZyC6962H37H6D+5naNvClFR1s6li1Gb
-nqPoiy/OBsEx9CaDGcqQBp5Wme/3XW+6z1ISOx+igwNTVCT14mHdBMbya0eIKft5
-X+GnwtgEMyCYyyWuUct8g4RzErcY9+yW9Om5Hzpx4zOuW4NPZgPDTgK+t2RSL/Yq
-rE1njrgeGYcVeG3f+OftH4s6fPbq7t1A5ZgUscbLMBqr9tK+OqygR4EgKBPsH6Cz
-L6zlv/2RV0qAHvVuDJcIDIgwY5rJtINEm32rhOeFNJwZS5MNIC1czXZx5//ugX7l
-I4sy5nbVhwSjtAk8Xg5dZbdTZ6mIrb7xqH+fdakZor1khG7bC2uIwibD3cSl2XkR
-wN48lslbHnqqagr6Xm1nNOSVl8C/6kbJEsMpLhAezfRtGwvOucoaE+WbeUNolGde
-P/eQiddSf0brnpiLJRh7qZrl9XuqYdpUqnoEdMAfotDOID8OtV7gt8a48ad8VPW2
------END RSA PRIVATE KEY-----
diff --git a/Externals/polarssl/programs/test/CMakeLists.txt b/Externals/polarssl/programs/test/CMakeLists.txt
deleted file mode 100644
index c05b903f48..0000000000
--- a/Externals/polarssl/programs/test/CMakeLists.txt
+++ /dev/null
@@ -1,39 +0,0 @@
-FIND_PACKAGE(OpenSSL)
-
-set(libs
- polarssl
-)
-
-if(USE_PKCS11_HELPER_LIBRARY)
- set(libs ${libs} pkcs11-helper)
-endif(USE_PKCS11_HELPER_LIBRARY)
-
-if(ENABLE_ZLIB_SUPPORT)
- set(libs ${libs} ${ZLIB_LIBRARIES})
-endif(ENABLE_ZLIB_SUPPORT)
-
-add_executable(selftest selftest.c)
-target_link_libraries(selftest ${libs})
-
-add_executable(benchmark benchmark.c)
-target_link_libraries(benchmark ${libs})
-
-add_executable(ssl_test ssl_test.c)
-target_link_libraries(ssl_test ${libs})
-
-add_executable(ssl_cert_test ssl_cert_test.c)
-target_link_libraries(ssl_cert_test ${libs})
-
-install(TARGETS selftest benchmark ssl_test ssl_cert_test
- DESTINATION "bin"
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
-
-if(OPENSSL_FOUND)
- add_executable(o_p_test o_p_test.c)
- target_link_libraries(o_p_test ${libs} ${OPENSSL_LIBRARIES})
-
- install(TARGETS o_p_test
- DESTINATION "bin"
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
-endif(OPENSSL_FOUND)
-
diff --git a/Externals/polarssl/programs/test/benchmark.c b/Externals/polarssl/programs/test/benchmark.c
deleted file mode 100644
index 86de2c63ce..0000000000
--- a/Externals/polarssl/programs/test/benchmark.c
+++ /dev/null
@@ -1,517 +0,0 @@
-/*
- * Benchmark demonstration program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/md4.h"
-#include "polarssl/md5.h"
-#include "polarssl/sha1.h"
-#include "polarssl/sha2.h"
-#include "polarssl/sha4.h"
-#include "polarssl/arc4.h"
-#include "polarssl/des.h"
-#include "polarssl/aes.h"
-#include "polarssl/blowfish.h"
-#include "polarssl/camellia.h"
-#include "polarssl/gcm.h"
-#include "polarssl/rsa.h"
-#include "polarssl/timing.h"
-#include "polarssl/havege.h"
-#include "polarssl/ctr_drbg.h"
-
-#define BUFSIZE 1024
-#define HEADER_FORMAT " %-15s : "
-
-static int myrand( void *rng_state, unsigned char *output, size_t len )
-{
- size_t use_len;
- int rnd;
-
- if( rng_state != NULL )
- rng_state = NULL;
-
- while( len > 0 )
- {
- use_len = len;
- if( use_len > sizeof(int) )
- use_len = sizeof(int);
-
- rnd = rand();
- memcpy( output, &rnd, use_len );
- output += use_len;
- len -= use_len;
- }
-
- return( 0 );
-}
-
-unsigned char buf[BUFSIZE];
-
-#if !defined(POLARSSL_TIMING_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_TIMING_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int keysize;
- unsigned long i, j, tsc;
- unsigned char tmp[64];
-#if defined(POLARSSL_ARC4_C)
- arc4_context arc4;
-#endif
-#if defined(POLARSSL_DES_C)
- des3_context des3;
- des_context des;
-#endif
-#if defined(POLARSSL_AES_C)
- aes_context aes;
-#if defined(POLARSSL_GCM_C)
- gcm_context gcm;
-#endif
-#endif
-#if defined(POLARSSL_BLOWFISH_C)
- blowfish_context blowfish;
-#endif
-#if defined(POLARSSL_CAMELLIA_C)
- camellia_context camellia;
-#endif
-#if defined(POLARSSL_RSA_C) && defined(POLARSSL_BIGNUM_C) && \
- defined(POLARSSL_GENPRIME)
- rsa_context rsa;
-#endif
-#if defined(POLARSSL_HAVEGE_C)
- havege_state hs;
-#endif
-#if defined(POLARSSL_CTR_DRBG_C)
- ctr_drbg_context ctr_drbg;
-#endif
- ((void) argc);
- ((void) argv);
-
- memset( buf, 0xAA, sizeof( buf ) );
-
- printf( "\n" );
-
-#if defined(POLARSSL_MD4_C)
- printf( HEADER_FORMAT, "MD4" );
- fflush( stdout );
-
- set_alarm( 1 );
- for( i = 1; ! alarmed; i++ )
- md4( buf, BUFSIZE, tmp );
-
- tsc = hardclock();
- for( j = 0; j < 1024; j++ )
- md4( buf, BUFSIZE, tmp );
-
- printf( "%9lu Kb/s, %9lu cycles/byte\n", i * BUFSIZE / 1024,
- ( hardclock() - tsc ) / ( j * BUFSIZE ) );
-#endif
-
-#if defined(POLARSSL_MD5_C)
- printf( HEADER_FORMAT, "MD5" );
- fflush( stdout );
-
- set_alarm( 1 );
- for( i = 1; ! alarmed; i++ )
- md5( buf, BUFSIZE, tmp );
-
- tsc = hardclock();
- for( j = 0; j < 1024; j++ )
- md5( buf, BUFSIZE, tmp );
-
- printf( "%9lu Kb/s, %9lu cycles/byte\n", i * BUFSIZE / 1024,
- ( hardclock() - tsc ) / ( j * BUFSIZE ) );
-#endif
-
-#if defined(POLARSSL_SHA1_C)
- printf( HEADER_FORMAT, "SHA-1" );
- fflush( stdout );
-
- set_alarm( 1 );
- for( i = 1; ! alarmed; i++ )
- sha1( buf, BUFSIZE, tmp );
-
- tsc = hardclock();
- for( j = 0; j < 1024; j++ )
- sha1( buf, BUFSIZE, tmp );
-
- printf( "%9lu Kb/s, %9lu cycles/byte\n", i * BUFSIZE / 1024,
- ( hardclock() - tsc ) / ( j * BUFSIZE ) );
-#endif
-
-#if defined(POLARSSL_SHA2_C)
- printf( HEADER_FORMAT, "SHA-256" );
- fflush( stdout );
-
- set_alarm( 1 );
- for( i = 1; ! alarmed; i++ )
- sha2( buf, BUFSIZE, tmp, 0 );
-
- tsc = hardclock();
- for( j = 0; j < 1024; j++ )
- sha2( buf, BUFSIZE, tmp, 0 );
-
- printf( "%9lu Kb/s, %9lu cycles/byte\n", i * BUFSIZE / 1024,
- ( hardclock() - tsc ) / ( j * BUFSIZE ) );
-#endif
-
-#if defined(POLARSSL_SHA4_C)
- printf( HEADER_FORMAT, "SHA-512" );
- fflush( stdout );
-
- set_alarm( 1 );
- for( i = 1; ! alarmed; i++ )
- sha4( buf, BUFSIZE, tmp, 0 );
-
- tsc = hardclock();
- for( j = 0; j < 1024; j++ )
- sha4( buf, BUFSIZE, tmp, 0 );
-
- printf( "%9lu Kb/s, %9lu cycles/byte\n", i * BUFSIZE / 1024,
- ( hardclock() - tsc ) / ( j * BUFSIZE ) );
-#endif
-
-#if defined(POLARSSL_ARC4_C)
- printf( HEADER_FORMAT, "ARC4" );
- fflush( stdout );
-
- arc4_setup( &arc4, tmp, 32 );
-
- set_alarm( 1 );
- for( i = 1; ! alarmed; i++ )
- arc4_crypt( &arc4, BUFSIZE, buf, buf );
-
- tsc = hardclock();
- for( j = 0; j < 1024; j++ )
- arc4_crypt( &arc4, BUFSIZE, buf, buf );
-
- printf( "%9lu Kb/s, %9lu cycles/byte\n", i * BUFSIZE / 1024,
- ( hardclock() - tsc ) / ( j * BUFSIZE ) );
-#endif
-
-#if defined(POLARSSL_DES_C)
- printf( HEADER_FORMAT, "3DES" );
- fflush( stdout );
-
- des3_set3key_enc( &des3, tmp );
-
- set_alarm( 1 );
- for( i = 1; ! alarmed; i++ )
- des3_crypt_cbc( &des3, DES_ENCRYPT, BUFSIZE, tmp, buf, buf );
-
- tsc = hardclock();
- for( j = 0; j < 1024; j++ )
- des3_crypt_cbc( &des3, DES_ENCRYPT, BUFSIZE, tmp, buf, buf );
-
- printf( "%9lu Kb/s, %9lu cycles/byte\n", i * BUFSIZE / 1024,
- ( hardclock() - tsc ) / ( j * BUFSIZE ) );
-
- printf( HEADER_FORMAT, "DES" );
- fflush( stdout );
-
- des_setkey_enc( &des, tmp );
-
- set_alarm( 1 );
- for( i = 1; ! alarmed; i++ )
- des_crypt_cbc( &des, DES_ENCRYPT, BUFSIZE, tmp, buf, buf );
-
- tsc = hardclock();
- for( j = 0; j < 1024; j++ )
- des_crypt_cbc( &des, DES_ENCRYPT, BUFSIZE, tmp, buf, buf );
-
- printf( "%9lu Kb/s, %9lu cycles/byte\n", i * BUFSIZE / 1024,
- ( hardclock() - tsc ) / ( j * BUFSIZE ) );
-#endif
-
-#if defined(POLARSSL_AES_C)
- for( keysize = 128; keysize <= 256; keysize += 64 )
- {
- printf( " AES-CBC-%d : ", keysize );
- fflush( stdout );
-
- memset( buf, 0, sizeof( buf ) );
- memset( tmp, 0, sizeof( tmp ) );
- aes_setkey_enc( &aes, tmp, keysize );
-
- set_alarm( 1 );
-
- for( i = 1; ! alarmed; i++ )
- aes_crypt_cbc( &aes, AES_ENCRYPT, BUFSIZE, tmp, buf, buf );
-
- tsc = hardclock();
- for( j = 0; j < 4096; j++ )
- aes_crypt_cbc( &aes, AES_ENCRYPT, BUFSIZE, tmp, buf, buf );
-
- printf( "%9lu Kb/s, %9lu cycles/byte\n", i * BUFSIZE / 1024,
- ( hardclock() - tsc ) / ( j * BUFSIZE ) );
- }
-#if defined(POLARSSL_GCM_C)
- for( keysize = 128; keysize <= 256; keysize += 64 )
- {
- printf( " AES-GCM-%d : ", keysize );
- fflush( stdout );
-
- memset( buf, 0, sizeof( buf ) );
- memset( tmp, 0, sizeof( tmp ) );
- gcm_init( &gcm, tmp, keysize );
-
- set_alarm( 1 );
-
- for( i = 1; ! alarmed; i++ )
- gcm_crypt_and_tag( &gcm, GCM_ENCRYPT, BUFSIZE, tmp, 12, NULL, 0, buf, buf, 16, tmp );
-
- tsc = hardclock();
- for( j = 0; j < 4096; j++ )
- gcm_crypt_and_tag( &gcm, GCM_ENCRYPT, BUFSIZE, tmp, 12, NULL, 0, buf, buf, 16, tmp );
-
- printf( "%9lu Kb/s, %9lu cycles/byte\n", i * BUFSIZE / 1024,
- ( hardclock() - tsc ) / ( j * BUFSIZE ) );
- }
-#endif
-#endif
-
-#if defined(POLARSSL_CAMELLIA_C)
- for( keysize = 128; keysize <= 256; keysize += 64 )
- {
- printf( " CAMELLIA-CBC-%d: ", keysize );
- fflush( stdout );
-
- memset( buf, 0, sizeof( buf ) );
- memset( tmp, 0, sizeof( tmp ) );
- camellia_setkey_enc( &camellia, tmp, keysize );
-
- set_alarm( 1 );
-
- for( i = 1; ! alarmed; i++ )
- camellia_crypt_cbc( &camellia, CAMELLIA_ENCRYPT, BUFSIZE, tmp, buf, buf );
-
- tsc = hardclock();
- for( j = 0; j < 4096; j++ )
- camellia_crypt_cbc( &camellia, CAMELLIA_ENCRYPT, BUFSIZE, tmp, buf, buf );
-
- printf( "%9lu Kb/s, %9lu cycles/byte\n", i * BUFSIZE / 1024,
- ( hardclock() - tsc ) / ( j * BUFSIZE ) );
- }
-#endif
-
-#if defined(POLARSSL_BLOWFISH_C)
- for( keysize = 128; keysize <= 256; keysize += 64 )
- {
- printf( " BLOWFISH-CBC-%d: ", keysize );
- fflush( stdout );
-
- memset( buf, 0, sizeof( buf ) );
- memset( tmp, 0, sizeof( tmp ) );
- blowfish_setkey( &blowfish, tmp, keysize );
-
- set_alarm( 1 );
-
- for( i = 1; ! alarmed; i++ )
- blowfish_crypt_cbc( &blowfish, BLOWFISH_ENCRYPT, BUFSIZE, tmp, buf, buf );
-
- tsc = hardclock();
- for( j = 0; j < 4096; j++ )
- blowfish_crypt_cbc( &blowfish, BLOWFISH_ENCRYPT, BUFSIZE, tmp, buf, buf );
-
- printf( "%9lu Kb/s, %9lu cycles/byte\n", i * BUFSIZE / 1024,
- ( hardclock() - tsc ) / ( j * BUFSIZE ) );
- }
-#endif
-
-#if defined(POLARSSL_HAVEGE_C)
- printf( HEADER_FORMAT, "HAVEGE" );
- fflush( stdout );
-
- havege_init( &hs );
-
- set_alarm( 1 );
- for( i = 1; ! alarmed; i++ )
- havege_random( &hs, buf, BUFSIZE );
-
- tsc = hardclock();
- for( j = 1; j < 1024; j++ )
- havege_random( &hs, buf, BUFSIZE );
-
- printf( "%9lu Kb/s, %9lu cycles/byte\n", i * BUFSIZE / 1024,
- ( hardclock() - tsc ) / ( j * BUFSIZE ) );
-#endif
-
-#if defined(POLARSSL_CTR_DRBG_C)
- printf( HEADER_FORMAT, "CTR_DRBG (NOPR)" );
- fflush( stdout );
-
- if( ctr_drbg_init( &ctr_drbg, myrand, NULL, NULL, 0 ) != 0 )
- exit(1);
-
- set_alarm( 1 );
- for( i = 1; ! alarmed; i++ )
- if( ctr_drbg_random( &ctr_drbg, buf, BUFSIZE ) != 0 )
- exit(1);
-
- tsc = hardclock();
- for( j = 1; j < 1024; j++ )
- if( ctr_drbg_random( &ctr_drbg, buf, BUFSIZE ) != 0 )
- exit(1);
-
- printf( "%9lu Kb/s, %9lu cycles/byte\n", i * BUFSIZE / 1024,
- ( hardclock() - tsc ) / ( j * BUFSIZE ) );
-
- printf( HEADER_FORMAT, "CTR_DRBG (PR)" );
- fflush( stdout );
-
- if( ctr_drbg_init( &ctr_drbg, myrand, NULL, NULL, 0 ) != 0 )
- exit(1);
-
- ctr_drbg_set_prediction_resistance( &ctr_drbg, CTR_DRBG_PR_ON );
-
- set_alarm( 1 );
- for( i = 1; ! alarmed; i++ )
- if( ctr_drbg_random( &ctr_drbg, buf, BUFSIZE ) != 0 )
- exit(1);
-
- tsc = hardclock();
- for( j = 1; j < 1024; j++ )
- if( ctr_drbg_random( &ctr_drbg, buf, BUFSIZE ) != 0 )
- exit(1);
-
- printf( "%9lu Kb/s, %9lu cycles/byte\n", i * BUFSIZE / 1024,
- ( hardclock() - tsc ) / ( j * BUFSIZE ) );
-#endif
-
-#if defined(POLARSSL_RSA_C) && defined(POLARSSL_BIGNUM_C) && \
- defined(POLARSSL_GENPRIME)
- rsa_init( &rsa, RSA_PKCS_V15, 0 );
- rsa_gen_key( &rsa, myrand, NULL, 1024, 65537 );
-
- printf( HEADER_FORMAT, "RSA-1024" );
- fflush( stdout );
- set_alarm( 3 );
-
- for( i = 1; ! alarmed; i++ )
- {
- buf[0] = 0;
- rsa_public( &rsa, buf, buf );
- }
-
- printf( "%9lu public/s\n", i / 3 );
-
- printf( HEADER_FORMAT, "RSA-1024" );
- fflush( stdout );
- set_alarm( 3 );
-
- for( i = 1; ! alarmed; i++ )
- {
- buf[0] = 0;
- rsa_private( &rsa, buf, buf );
- }
-
- printf( "%9lu private/s\n", i / 3 );
-
- rsa_free( &rsa );
-
- rsa_init( &rsa, RSA_PKCS_V15, 0 );
- rsa_gen_key( &rsa, myrand, NULL, 2048, 65537 );
-
- printf( HEADER_FORMAT, "RSA-2048" );
- fflush( stdout );
- set_alarm( 3 );
-
- for( i = 1; ! alarmed; i++ )
- {
- buf[0] = 0;
- rsa_public( &rsa, buf, buf );
- }
-
- printf( "%9lu public/s\n", i / 3 );
-
- printf( HEADER_FORMAT, "RSA-2048" );
- fflush( stdout );
- set_alarm( 3 );
-
- for( i = 1; ! alarmed; i++ )
- {
- buf[0] = 0;
- rsa_private( &rsa, buf, buf );
- }
-
- printf( "%9lu private/s\n", i / 3 );
-
- rsa_free( &rsa );
-
- rsa_init( &rsa, RSA_PKCS_V15, 0 );
- rsa_gen_key( &rsa, myrand, NULL, 4096, 65537 );
-
- printf( HEADER_FORMAT, "RSA-4096" );
- fflush( stdout );
- set_alarm( 3 );
-
- for( i = 1; ! alarmed; i++ )
- {
- buf[0] = 0;
- rsa_public( &rsa, buf, buf );
- }
-
- printf( "%9lu public/s\n", i / 3 );
-
- printf( HEADER_FORMAT, "RSA-4096" );
- fflush( stdout );
- set_alarm( 3 );
-
- for( i = 1; ! alarmed; i++ )
- {
- buf[0] = 0;
- rsa_private( &rsa, buf, buf );
- }
-
- printf( "%9lu private/s\n", i / 3 );
-
- rsa_free( &rsa );
-#endif
-
- printf( "\n" );
-
-#if defined(_WIN32)
- printf( " Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( 0 );
-}
-#endif /* POLARSSL_TIMING_C */
diff --git a/Externals/polarssl/programs/test/o_p_test.c b/Externals/polarssl/programs/test/o_p_test.c
deleted file mode 100644
index 3531d54be5..0000000000
--- a/Externals/polarssl/programs/test/o_p_test.c
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- * Test application that shows some PolarSSL and OpenSSL compatibility
- *
- * Copyright (C) 2011-2012 Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <unistd.h>
-#include <sys/stat.h>
-
-#include <openssl/rsa.h>
-#include <openssl/engine.h>
-#include <openssl/pem.h>
-#include <openssl/bio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/x509.h"
-#include "polarssl/rsa.h"
-#include "polarssl/entropy.h"
-#include "polarssl/ctr_drbg.h"
-
-int main( int argc, char *argv[] )
-{
- int ret;
- FILE *key_file;
- size_t olen;
- rsa_context p_rsa;
- RSA *o_rsa;
- entropy_context entropy;
- ctr_drbg_context ctr_drbg;
- unsigned char input[1024];
- unsigned char p_pub_encrypted[512];
- unsigned char o_pub_encrypted[512];
- unsigned char p_pub_decrypted[512];
- unsigned char o_pub_decrypted[512];
- unsigned char p_priv_encrypted[512];
- unsigned char o_priv_encrypted[512];
- unsigned char p_priv_decrypted[512];
- unsigned char o_priv_decrypted[512];
- const char *pers = "o_p_test_example";
-
- entropy_init( &entropy );
- if( ( ret = ctr_drbg_init( &ctr_drbg, entropy_func, &entropy,
- (const unsigned char *) pers,
- strlen( pers ) ) ) != 0 )
- {
- printf( " failed\n ! ctr_drbg_init returned %d\n", ret );
- goto exit;
- }
- ERR_load_crypto_strings();
-
- ret = 1;
-
- if( argc != 3 )
- {
- printf( "usage: o_p_test <keyfile with private_key> <string of max 100 characters>\n" );
-
-#ifdef WIN32
- printf( "\n" );
-#endif
-
- goto exit;
- }
-
- printf( " . Reading private key from %s into PolarSSL ...", argv[1] );
- fflush( stdout );
-
- rsa_init( &p_rsa, RSA_PKCS_V15, 0 );
- if( x509parse_keyfile( &p_rsa, argv[1], NULL ) != 0 )
- {
- ret = 1;
- printf( " failed\n ! Could not load key.\n\n" );
- goto exit;
- }
-
- printf( " passed\n");
-
- printf( " . Reading private key from %s into OpenSSL ...", argv[1] );
- fflush( stdout );
-
- key_file = fopen( argv[1], "r" );
- o_rsa = PEM_read_RSAPrivateKey(key_file, 0, 0, 0);
- fclose(key_file);
- if( o_rsa == NULL )
- {
- ret = 1;
- printf( " failed\n ! Could not load key.\n\n" );
- goto exit;
- }
-
- printf( " passed\n");
- printf( "\n" );
-
- if( strlen( argv[1] ) > 100 )
- {
- printf( " Input data larger than 100 characters.\n\n" );
- goto exit;
- }
-
- memcpy( input, argv[2], strlen( argv[2] ) );
-
- /*
- * Calculate the RSA encryption with public key.
- */
- printf( " . Generating the RSA encrypted value with PolarSSL (RSA_PUBLIC) ..." );
- fflush( stdout );
-
- if( ( ret = rsa_pkcs1_encrypt( &p_rsa, ctr_drbg_random, &ctr_drbg, RSA_PUBLIC, strlen( argv[1] ), input, p_pub_encrypted ) ) != 0 )
- {
- printf( " failed\n ! rsa_pkcs1_encrypt returned %d\n\n", ret );
- goto exit;
- }
- else
- printf( " passed\n");
-
- printf( " . Generating the RSA encrypted value with OpenSSL (PUBLIC) ..." );
- fflush( stdout );
-
- if( ( ret = RSA_public_encrypt( strlen( argv[1] ), input, o_pub_encrypted, o_rsa, RSA_PKCS1_PADDING ) ) == -1 )
- {
- unsigned long code = ERR_get_error();
- printf( " failed\n ! RSA_public_encrypt returned %d %s\n\n", ret, ERR_error_string( code, NULL ) );
- goto exit;
- }
- else
- printf( " passed\n");
-
- /*
- * Calculate the RSA encryption with private key.
- */
- printf( " . Generating the RSA encrypted value with PolarSSL (RSA_PRIVATE) ..." );
- fflush( stdout );
-
- if( ( ret = rsa_pkcs1_encrypt( &p_rsa, ctr_drbg_random, &ctr_drbg, RSA_PRIVATE, strlen( argv[1] ), input, p_priv_encrypted ) ) != 0 )
- {
- printf( " failed\n ! rsa_pkcs1_encrypt returned %d\n\n", ret );
- goto exit;
- }
- else
- printf( " passed\n");
-
- printf( " . Generating the RSA encrypted value with OpenSSL (PRIVATE) ..." );
- fflush( stdout );
-
- if( ( ret = RSA_private_encrypt( strlen( argv[1] ), input, o_priv_encrypted, o_rsa, RSA_PKCS1_PADDING ) ) == -1 )
- {
- unsigned long code = ERR_get_error();
- printf( " failed\n ! RSA_private_encrypt returned %d %s\n\n", ret, ERR_error_string( code, NULL ) );
- goto exit;
- }
- else
- printf( " passed\n");
-
- printf( "\n" );
-
- /*
- * Calculate the RSA decryption with private key.
- */
- printf( " . Generating the RSA decrypted value for OpenSSL (PUBLIC) with PolarSSL (PRIVATE) ..." );
- fflush( stdout );
-
- if( ( ret = rsa_pkcs1_decrypt( &p_rsa, RSA_PRIVATE, &olen, o_pub_encrypted, p_pub_decrypted, 1024 ) ) != 0 )
- {
- printf( " failed\n ! rsa_pkcs1_decrypt returned %d\n\n", ret );
- }
- else
- printf( " passed\n");
-
- printf( " . Generating the RSA decrypted value for PolarSSL (PUBLIC) with OpenSSL (PRIVATE) ..." );
- fflush( stdout );
-
- if( ( ret = RSA_private_decrypt( p_rsa.len, p_pub_encrypted, o_pub_decrypted, o_rsa, RSA_PKCS1_PADDING ) ) == -1 )
- {
- unsigned long code = ERR_get_error();
- printf( " failed\n ! RSA_private_decrypt returned %d %s\n\n", ret, ERR_error_string( code, NULL ) );
- }
- else
- printf( " passed\n");
-
- /*
- * Calculate the RSA decryption with public key.
- */
- printf( " . Generating the RSA decrypted value for OpenSSL (PRIVATE) with PolarSSL (PUBLIC) ..." );
- fflush( stdout );
-
- if( ( ret = rsa_pkcs1_decrypt( &p_rsa, RSA_PUBLIC, &olen, o_priv_encrypted, p_priv_decrypted, 1024 ) ) != 0 )
- {
- printf( " failed\n ! rsa_pkcs1_decrypt returned %d\n\n", ret );
- }
- else
- printf( " passed\n");
-
- printf( " . Generating the RSA decrypted value for PolarSSL (PRIVATE) with OpenSSL (PUBLIC) ..." );
- fflush( stdout );
-
- if( ( ret = RSA_public_decrypt( p_rsa.len, p_priv_encrypted, o_priv_decrypted, o_rsa, RSA_PKCS1_PADDING ) ) == -1 )
- {
- unsigned long code = ERR_get_error();
- printf( " failed\n ! RSA_public_decrypt returned %d %s\n\n", ret, ERR_error_string( code, NULL ) );
- }
- else
- printf( " passed\n");
-
- printf( "\n" );
- printf( "String value (OpenSSL Public Encrypt, PolarSSL Private Decrypt): '%s'\n", p_pub_decrypted );
- printf( "String value (PolarSSL Public Encrypt, OpenSSL Private Decrypt): '%s'\n", o_pub_decrypted );
- printf( "String value (OpenSSL Private Encrypt, PolarSSL Public Decrypt): '%s'\n", p_priv_decrypted );
- printf( "String value (PolarSSL Private Encrypt, OpenSSL Public Decrypt): '%s'\n", o_priv_decrypted );
-
-exit:
-
-#ifdef WIN32
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
diff --git a/Externals/polarssl/programs/test/selftest.c b/Externals/polarssl/programs/test/selftest.c
deleted file mode 100644
index 8dddf34811..0000000000
--- a/Externals/polarssl/programs/test/selftest.c
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Self-test demonstration program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/ctr_drbg.h"
-#include "polarssl/gcm.h"
-#include "polarssl/md2.h"
-#include "polarssl/md4.h"
-#include "polarssl/md5.h"
-#include "polarssl/sha1.h"
-#include "polarssl/sha2.h"
-#include "polarssl/sha4.h"
-#include "polarssl/arc4.h"
-#include "polarssl/des.h"
-#include "polarssl/aes.h"
-#include "polarssl/camellia.h"
-#include "polarssl/base64.h"
-#include "polarssl/bignum.h"
-#include "polarssl/rsa.h"
-#include "polarssl/x509.h"
-#include "polarssl/xtea.h"
-#include "polarssl/pbkdf2.h"
-
-int main( int argc, char *argv[] )
-{
- int ret = 0, v;
-
- if( argc == 2 && strcmp( argv[1], "-quiet" ) == 0 )
- v = 0;
- else
- {
- v = 1;
- printf( "\n" );
- }
-
-#if defined(POLARSSL_SELF_TEST)
-
-#if defined(POLARSSL_MD2_C)
- if( ( ret = md2_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_MD4_C)
- if( ( ret = md4_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_MD5_C)
- if( ( ret = md5_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_SHA1_C)
- if( ( ret = sha1_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_SHA2_C)
- if( ( ret = sha2_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_SHA4_C)
- if( ( ret = sha4_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_ARC4_C)
- if( ( ret = arc4_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_DES_C)
- if( ( ret = des_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_AES_C)
- if( ( ret = aes_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_GCM_C)
- if( ( ret = gcm_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_BASE64_C)
- if( ( ret = base64_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_BIGNUM_C)
- if( ( ret = mpi_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_RSA_C) && defined(POLARSSL_BIGNUM_C)
- if( ( ret = rsa_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_X509_PARSE_C) && defined(POLARSSL_BIGNUM_C)
- if( ( ret = x509_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_XTEA_C)
- if( ( ret = xtea_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_CAMELLIA_C)
- if( ( ret = camellia_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_CTR_DRBG_C)
- if( ( ret = ctr_drbg_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#if defined(POLARSSL_PBKDF2_C)
- if( ( ret = pbkdf2_self_test( v ) ) != 0 )
- return( ret );
-#endif
-
-#else
- printf( " POLARSSL_SELF_TEST not defined.\n" );
-#endif
-
- if( v != 0 )
- {
- printf( " [ All tests passed ]\n\n" );
-#if defined(_WIN32)
- printf( " Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
- }
-
- return( ret );
-}
diff --git a/Externals/polarssl/programs/test/ssl_cert_test.c b/Externals/polarssl/programs/test/ssl_cert_test.c
deleted file mode 100644
index 83a2a01239..0000000000
--- a/Externals/polarssl/programs/test/ssl_cert_test.c
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * SSL certificate functionality tests
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/certs.h"
-#include "polarssl/x509.h"
-
-#if defined _MSC_VER && !defined snprintf
-#define snprintf _snprintf
-#endif
-
-#define MAX_CLIENT_CERTS 8
-
-const char *client_certificates[MAX_CLIENT_CERTS] =
-{
- "client1.crt",
- "client2.crt",
- "server1.crt",
- "server2.crt",
- "cert_sha224.crt",
- "cert_sha256.crt",
- "cert_sha384.crt",
- "cert_sha512.crt"
-};
-
-const char *client_private_keys[MAX_CLIENT_CERTS] =
-{
- "client1.key",
- "client2.key",
- "server1.key",
- "server2.key",
- "cert_digest.key",
- "cert_digest.key",
- "cert_digest.key",
- "cert_digest.key"
-};
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_RSA_C) || \
- !defined(POLARSSL_X509_PARSE_C) || !defined(POLARSSL_FS_IO)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_X509_PARSE_C and/or POLARSSL_FS_IO not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int ret, i;
- x509_cert cacert;
- x509_crl crl;
- char buf[10240];
-
- ((void) argc);
- ((void) argv);
-
- memset( &cacert, 0, sizeof( x509_cert ) );
- memset( &crl, 0, sizeof( x509_crl ) );
-
- /*
- * 1.1. Load the trusted CA
- */
- printf( "\n . Loading the CA root certificate ..." );
- fflush( stdout );
-
- /*
- * Alternatively, you may load the CA certificates from a .pem or
- * .crt file by calling x509parse_crtfile( &cacert, "myca.crt" ).
- */
- ret = x509parse_crtfile( &cacert, "ssl/test-ca/test-ca.crt" );
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_crtfile returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- x509parse_cert_info( buf, 1024, "CRT: ", &cacert );
- printf("%s\n", buf );
-
- /*
- * 1.2. Load the CRL
- */
- printf( " . Loading the CRL ..." );
- fflush( stdout );
-
- ret = x509parse_crlfile( &crl, "ssl/test-ca/crl.pem" );
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_crlfile returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- x509parse_crl_info( buf, 1024, "CRL: ", &crl );
- printf("%s\n", buf );
-
- for( i = 0; i < MAX_CLIENT_CERTS; i++ )
- {
- /*
- * 1.3. Load own certificate
- */
- char name[512];
- int flags;
- x509_cert clicert;
- rsa_context rsa;
-
- memset( &clicert, 0, sizeof( x509_cert ) );
- memset( &rsa, 0, sizeof( rsa_context ) );
-
- snprintf(name, 512, "ssl/test-ca/%s", client_certificates[i]);
-
- printf( " . Loading the client certificate %s...", name );
- fflush( stdout );
-
- ret = x509parse_crtfile( &clicert, name );
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_crt returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 1.4. Verify certificate validity with CA certificate
- */
- printf( " . Verify the client certificate with CA certificate..." );
- fflush( stdout );
-
- ret = x509parse_verify( &clicert, &cacert, &crl, NULL, &flags, NULL, NULL );
- if( ret != 0 )
- {
- if( ret == POLARSSL_ERR_X509_CERT_VERIFY_FAILED )
- {
- if( flags & BADCERT_CN_MISMATCH )
- printf( " CN_MISMATCH " );
- if( flags & BADCERT_EXPIRED )
- printf( " EXPIRED " );
- if( flags & BADCERT_REVOKED )
- printf( " REVOKED " );
- if( flags & BADCERT_NOT_TRUSTED )
- printf( " NOT_TRUSTED " );
- if( flags & BADCRL_NOT_TRUSTED )
- printf( " CRL_NOT_TRUSTED " );
- if( flags & BADCRL_EXPIRED )
- printf( " CRL_EXPIRED " );
- } else {
- printf( " failed\n ! x509parse_verify returned %d\n\n", ret );
- goto exit;
- }
- }
-
- printf( " ok\n" );
-
- /*
- * 1.5. Load own private key
- */
- snprintf(name, 512, "ssl/test-ca/%s", client_private_keys[i]);
-
- printf( " . Loading the client private key %s...", name );
- fflush( stdout );
-
- ret = x509parse_keyfile( &rsa, name, NULL );
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_key returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 1.5. Verify certificate validity with private key
- */
- printf( " . Verify the client certificate with private key..." );
- fflush( stdout );
-
- ret = mpi_cmp_mpi(&rsa.N, &clicert.rsa.N);
- if( ret != 0 )
- {
- printf( " failed\n ! mpi_cmp_mpi for N returned %d\n\n", ret );
- goto exit;
- }
-
- ret = mpi_cmp_mpi(&rsa.E, &clicert.rsa.E);
- if( ret != 0 )
- {
- printf( " failed\n ! mpi_cmp_mpi for E returned %d\n\n", ret );
- goto exit;
- }
-
- ret = rsa_check_privkey( &rsa );
- if( ret != 0 )
- {
- printf( " failed\n ! rsa_check_privkey returned %d\n\n", ret );
- goto exit;
- }
-
- printf( " ok\n" );
-
- x509_free( &clicert );
- rsa_free( &rsa );
- }
-
-exit:
- x509_free( &cacert );
- x509_crl_free( &crl );
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_RSA_C && POLARSSL_X509_PARSE_C &&
- POLARSSL_FS_IO */
diff --git a/Externals/polarssl/programs/test/ssl_test.c b/Externals/polarssl/programs/test/ssl_test.c
deleted file mode 100644
index f011a2c1ed..0000000000
--- a/Externals/polarssl/programs/test/ssl_test.c
+++ /dev/null
@@ -1,607 +0,0 @@
-/*
- * SSL/TLS stress testing program
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/net.h"
-#include "polarssl/ssl.h"
-#include "polarssl/entropy.h"
-#include "polarssl/ctr_drbg.h"
-#include "polarssl/timing.h"
-#include "polarssl/certs.h"
-
-#define OPMODE_NONE 0
-#define OPMODE_CLIENT 1
-#define OPMODE_SERVER 2
-
-#define IOMODE_BLOCK 0
-#define IOMODE_NONBLOCK 1
-
-#define COMMAND_READ 1
-#define COMMAND_WRITE 2
-#define COMMAND_BOTH 3
-
-#define DFL_OPMODE OPMODE_NONE
-#define DFL_IOMODE IOMODE_BLOCK
-#define DFL_SERVER_NAME "localhost"
-#define DFL_SERVER_PORT 4433
-#define DFL_COMMAND COMMAND_READ
-#define DFL_BUFFER_SIZE 1024
-#define DFL_MAX_BYTES 0
-#define DFL_DEBUG_LEVEL 0
-#define DFL_CONN_TIMEOUT 0
-#define DFL_MAX_CONNECTIONS 0
-#define DFL_SESSION_REUSE 1
-#define DFL_SESSION_LIFETIME 86400
-#define DFL_FORCE_CIPHER 0
-
-/*
- * server-specific data
- */
-const char *dhm_G = "4";
-const char *dhm_P =
-"E4004C1F94182000103D883A448B3F802CE4B44A83301270002C20D0321CFD00" \
-"11CCEF784C26A400F43DFB901BCA7538F2C6B176001CF5A0FD16D2C48B1D0C1C" \
-"F6AC8E1DA6BCC3B4E1F96B0564965300FFA1D0B601EB2800F489AA512C4B248C" \
-"01F76949A60BB7F00A40B1EAB64BDD48E8A700D60B7F1200FA8E77B0A979DABF";
-
-int server_fd = -1;
-
-/*
- * global options
- */
-struct options
-{
- int opmode; /* operation mode (client or server) */
- int iomode; /* I/O mode (blocking or non-blocking) */
- const char *server_name; /* hostname of the server (client only) */
- int server_port; /* port on which the ssl service runs */
- int command; /* what to do: read or write operation */
- int buffer_size; /* size of the send/receive buffer */
- int max_bytes; /* max. # of bytes before a reconnect */
- int debug_level; /* level of debugging */
- int conn_timeout; /* max. delay before a reconnect */
- int max_connections; /* max. number of reconnections */
- int session_reuse; /* flag to reuse the keying material */
- int session_lifetime; /* if reached, session data is expired */
- int force_ciphersuite[2]; /* protocol/ciphersuite to use, or all */
-};
-
-/*
- * Although this PRNG has good statistical properties (eg. passes
- * DIEHARD), it is not cryptographically secure.
- */
-unsigned long int lcppm5( unsigned long int *state )
-{
- unsigned long int u, v;
-
- u = v = state[4] ^ 1;
- state[u & 3] ^= u;
- u ^= (v << 12) ^ (v >> 12);
- u ^= v * state[0]; v >>= 8;
- u ^= v * state[1]; v >>= 8;
- u ^= v * state[2]; v >>= 8;
- u ^= v * state[3];
- u &= 0xFFFFFFFF;
- state[4] = u;
-
- return( u );
-}
-
-void my_debug( void *ctx, int level, const char *str )
-{
- if( level < ((struct options *) ctx)->debug_level )
- fprintf( stderr, "%s", str );
-}
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_ENTROPY_C) || \
- !defined(POLARSSL_SSL_TLS_C) || !defined(POLARSSL_SSL_SRV_C) || \
- !defined(POLARSSL_SSL_CLI_C) || !defined(POLARSSL_NET_C) || \
- !defined(POLARSSL_RSA_C) || !defined(POLARSSL_CTR_DRBG_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_ENTROPY_C and/or "
- "POLARSSL_SSL_TLS_C and/or POLARSSL_SSL_SRV_C and/or "
- "POLARSSL_SSL_CLI_C and/or POLARSSL_NET_C and/or "
- "POLARSSL_RSA_C and/or POLARSSL_CTR_DRBG_C not defined.\n");
- return( 0 );
-}
-#else
-/*
- * perform a single SSL connection
- */
-static int ssl_test( struct options *opt )
-{
- int ret, i;
- int client_fd;
- int bytes_to_read;
- int bytes_to_write;
- int offset_to_read = 0;
- int offset_to_write = 0;
-
- long int nb_read;
- long int nb_written;
-
- unsigned long read_state[5];
- unsigned long write_state[5];
-
- unsigned char *read_buf = NULL;
- unsigned char *write_buf = NULL;
-
- const char *pers = "ssl_test";
-
- struct hr_time t;
- entropy_context entropy;
- ctr_drbg_context ctr_drbg;
- ssl_context ssl;
- x509_cert srvcert;
- rsa_context rsa;
-
- ret = 1;
-
- entropy_init( &entropy );
- if( ( ret = ctr_drbg_init( &ctr_drbg, entropy_func, &entropy,
- (const unsigned char *) pers,
- strlen( pers ) ) ) != 0 )
- {
- printf( " ! ctr_drbg_init returned %d\n", ret );
- goto exit;
- }
-
- get_timer( &t, 1 );
-
- memset( read_state, 0, sizeof( read_state ) );
- memset( write_state, 0, sizeof( write_state ) );
-
- memset( &srvcert, 0, sizeof( x509_cert ) );
- memset( &rsa, 0, sizeof( rsa_context ) );
-
- if( opt->opmode == OPMODE_CLIENT )
- {
- if( ( ret = net_connect( &client_fd, opt->server_name,
- opt->server_port ) ) != 0 )
- {
- printf( " ! net_connect returned %d\n\n", ret );
- return( ret );
- }
-
- if( ( ret = ssl_init( &ssl ) ) != 0 )
- {
- printf( " ! ssl_init returned %d\n\n", ret );
- return( ret );
- }
-
- ssl_set_endpoint( &ssl, SSL_IS_CLIENT );
- }
-
- if( opt->opmode == OPMODE_SERVER )
- {
-#if !defined(POLARSSL_CERTS_C)
- printf("POLARSSL_CERTS_C not defined.\n");
- goto exit;
-#else
- ret = x509parse_crt( &srvcert, (const unsigned char *) test_srv_crt,
- strlen( test_srv_crt ) );
- if( ret != 0 )
- {
- printf( " ! x509parse_crt returned %d\n\n", ret );
- goto exit;
- }
-
- ret = x509parse_crt( &srvcert, (const unsigned char *) test_ca_crt,
- strlen( test_ca_crt ) );
- if( ret != 0 )
- {
- printf( " ! x509parse_crt returned %d\n\n", ret );
- goto exit;
- }
-
- ret = x509parse_key( &rsa, (const unsigned char *) test_srv_key,
- strlen( test_srv_key ), NULL, 0 );
- if( ret != 0 )
- {
- printf( " ! x509parse_key returned %d\n\n", ret );
- goto exit;
- }
-#endif
-
- if( server_fd < 0 )
- {
- if( ( ret = net_bind( &server_fd, NULL,
- opt->server_port ) ) != 0 )
- {
- printf( " ! net_bind returned %d\n\n", ret );
- return( ret );
- }
- }
-
- if( ( ret = net_accept( server_fd, &client_fd, NULL ) ) != 0 )
- {
- printf( " ! net_accept returned %d\n\n", ret );
- return( ret );
- }
-
- if( ( ret = ssl_init( &ssl ) ) != 0 )
- {
- printf( " ! ssl_init returned %d\n\n", ret );
- return( ret );
- }
-
- ssl_set_endpoint( &ssl, SSL_IS_SERVER );
- ssl_set_dh_param( &ssl, dhm_P, dhm_G );
- ssl_set_ca_chain( &ssl, srvcert.next, NULL, NULL );
- ssl_set_own_cert( &ssl, &srvcert, &rsa );
- }
-
- ssl_set_authmode( &ssl, SSL_VERIFY_NONE );
-
- ssl_set_rng( &ssl, ctr_drbg_random, &ctr_drbg );
- ssl_set_dbg( &ssl, my_debug, opt );
- ssl_set_bio( &ssl, net_recv, &client_fd,
- net_send, &client_fd );
-
- if( opt->force_ciphersuite[0] == DFL_FORCE_CIPHER )
- ssl_set_ciphersuites( &ssl, ssl_default_ciphersuites );
- else ssl_set_ciphersuites( &ssl, opt->force_ciphersuite );
-
- if( opt->iomode == IOMODE_NONBLOCK )
- net_set_nonblock( client_fd );
-
- read_buf = (unsigned char *) malloc( opt->buffer_size );
- write_buf = (unsigned char *) malloc( opt->buffer_size );
-
- if( read_buf == NULL || write_buf == NULL )
- {
- printf( " ! malloc(%d bytes) failed\n\n", opt->buffer_size );
- goto exit;
- }
-
- nb_read = bytes_to_read = 0;
- nb_written = bytes_to_write = 0;
-
- while( 1 )
- {
- if( opt->command & COMMAND_WRITE )
- {
- if( bytes_to_write == 0 )
- {
- while( bytes_to_write == 0 )
- bytes_to_write = rand() % opt->buffer_size;
-
- for( i = 0; i < bytes_to_write; i++ )
- write_buf[i] = (unsigned char) lcppm5( write_state );
-
- offset_to_write = 0;
- }
-
- ret = ssl_write( &ssl, write_buf + offset_to_write,
- bytes_to_write );
-
- if( ret >= 0 )
- {
- nb_written += ret;
- bytes_to_write -= ret;
- offset_to_write += ret;
- }
-
- if( ret == POLARSSL_ERR_SSL_PEER_CLOSE_NOTIFY ||
- ret == POLARSSL_ERR_NET_CONN_RESET )
- {
- ret = 0;
- goto exit;
- }
-
- if( ret < 0 && ret != POLARSSL_ERR_NET_WANT_READ &&
- ret != POLARSSL_ERR_NET_WANT_WRITE )
- {
- printf( " ! ssl_write returned %d\n\n", ret );
- break;
- }
- }
-
- if( opt->command & COMMAND_READ )
- {
- if( bytes_to_read == 0 )
- {
- bytes_to_read = rand() % opt->buffer_size;
- offset_to_read = 0;
- }
-
- ret = ssl_read( &ssl, read_buf + offset_to_read,
- bytes_to_read );
-
- if( ret >= 0 )
- {
- for( i = 0; i < ret; i++ )
- {
- if( read_buf[offset_to_read + i] !=
- (unsigned char) lcppm5( read_state ) )
- {
- ret = 1;
- printf( " ! plaintext mismatch\n\n" );
- goto exit;
- }
- }
-
- nb_read += ret;
- bytes_to_read -= ret;
- offset_to_read += ret;
- }
-
- if( ret == POLARSSL_ERR_SSL_PEER_CLOSE_NOTIFY ||
- ret == POLARSSL_ERR_NET_CONN_RESET )
- {
- ret = 0;
- goto exit;
- }
-
- if( ret < 0 && ret != POLARSSL_ERR_NET_WANT_READ &&
- ret != POLARSSL_ERR_NET_WANT_WRITE )
- {
- printf( " ! ssl_read returned %d\n\n", ret );
- break;
- }
- }
-
- ret = 0;
-
- if( opt->max_bytes != 0 &&
- ( opt->max_bytes <= nb_read ||
- opt->max_bytes <= nb_written ) )
- break;
-
- if( opt->conn_timeout != 0 &&
- opt->conn_timeout <= (int) get_timer( &t, 0 ) )
- break;
- }
-
-exit:
-
- fflush( stdout );
-
- if( read_buf != NULL )
- free( read_buf );
-
- if( write_buf != NULL )
- free( write_buf );
-
- ssl_close_notify( &ssl );
- x509_free( &srvcert );
- rsa_free( &rsa );
- ssl_free( &ssl );
- net_close( client_fd );
-
- return( ret );
-}
-
-#define USAGE \
- "\n usage: ssl_test opmode=<> command=<>...\n" \
- "\n acceptable parameters:\n" \
- " opmode=client/server default: <none>\n" \
- " iomode=block/nonblock default: block\n" \
- " server_name=%%s default: localhost\n" \
- " server_port=%%d default: 4433\n" \
- " command=read/write/both default: read\n" \
- " buffer_size=%%d (bytes) default: 1024\n" \
- " max_bytes=%%d (bytes) default: 0 (no limit)\n" \
- " debug_level=%%d default: 0 (disabled)\n" \
- " conn_timeout=%%d (ms) default: 0 (no timeout)\n" \
- " max_connections=%%d default: 0 (no limit)\n" \
- " session_reuse=on/off default: on (enabled)\n" \
- " session_lifetime=%%d (s) default: 86400\n" \
- " force_ciphersuite=<name> default: all enabled\n" \
- " acceptable ciphersuite names:\n"
-
-int main( int argc, char *argv[] )
-{
- int i, j, n;
- const int *list;
- int ret = 1;
- int nb_conn;
- char *p, *q;
- struct options opt;
-
- if( argc == 1 )
- {
- usage:
- printf( USAGE );
-
- list = ssl_list_ciphersuites();
- while( *list )
- {
- printf(" %s\n", ssl_get_ciphersuite_name( *list ) );
- list++;
- }
- printf("\n");
- goto exit;
- }
-
- opt.opmode = DFL_OPMODE;
- opt.iomode = DFL_IOMODE;
- opt.server_name = DFL_SERVER_NAME;
- opt.server_port = DFL_SERVER_PORT;
- opt.command = DFL_COMMAND;
- opt.buffer_size = DFL_BUFFER_SIZE;
- opt.max_bytes = DFL_MAX_BYTES;
- opt.debug_level = DFL_DEBUG_LEVEL;
- opt.conn_timeout = DFL_CONN_TIMEOUT;
- opt.max_connections = DFL_MAX_CONNECTIONS;
- opt.session_reuse = DFL_SESSION_REUSE;
- opt.session_lifetime = DFL_SESSION_LIFETIME;
- opt.force_ciphersuite[0] = DFL_FORCE_CIPHER;
-
- for( i = 1; i < argc; i++ )
- {
- n = strlen( argv[i] );
-
- for( j = 0; j < n; j++ )
- {
- if( argv[i][j] >= 'A' && argv[i][j] <= 'Z' )
- argv[i][j] |= 0x20;
- }
-
- p = argv[i];
- if( ( q = strchr( p, '=' ) ) == NULL )
- continue;
- *q++ = '\0';
-
- if( strcmp( p, "opmode" ) == 0 )
- {
- if( strcmp( q, "client" ) == 0 )
- opt.opmode = OPMODE_CLIENT;
- else
- if( strcmp( q, "server" ) == 0 )
- opt.opmode = OPMODE_SERVER;
- else goto usage;
- }
-
- if( strcmp( p, "iomode" ) == 0 )
- {
- if( strcmp( q, "block" ) == 0 )
- opt.iomode = IOMODE_BLOCK;
- else
- if( strcmp( q, "nonblock" ) == 0 )
- opt.iomode = IOMODE_NONBLOCK;
- else goto usage;
- }
-
- if( strcmp( p, "server_name" ) == 0 )
- opt.server_name = q;
-
- if( strcmp( p, "server_port" ) == 0 )
- {
- opt.server_port = atoi( q );
- if( opt.server_port < 1 || opt.server_port > 65535 )
- goto usage;
- }
-
- if( strcmp( p, "command" ) == 0 )
- {
- if( strcmp( q, "read" ) == 0 )
- opt.command = COMMAND_READ;
- else
- if( strcmp( q, "write" ) == 0 )
- opt.command = COMMAND_WRITE;
- else
- if( strcmp( q, "both" ) == 0 )
- {
- opt.iomode = IOMODE_NONBLOCK;
- opt.command = COMMAND_BOTH;
- }
- else goto usage;
- }
-
- if( strcmp( p, "buffer_size" ) == 0 )
- {
- opt.buffer_size = atoi( q );
- if( opt.buffer_size < 1 || opt.buffer_size > 1048576 )
- goto usage;
- }
-
- if( strcmp( p, "max_bytes" ) == 0 )
- opt.max_bytes = atoi( q );
-
- if( strcmp( p, "debug_level" ) == 0 )
- opt.debug_level = atoi( q );
-
- if( strcmp( p, "conn_timeout" ) == 0 )
- opt.conn_timeout = atoi( q );
-
- if( strcmp( p, "max_connections" ) == 0 )
- opt.max_connections = atoi( q );
-
- if( strcmp( p, "session_reuse" ) == 0 )
- {
- if( strcmp( q, "on" ) == 0 )
- opt.session_reuse = 1;
- else
- if( strcmp( q, "off" ) == 0 )
- opt.session_reuse = 0;
- else
- goto usage;
- }
-
- if( strcmp( p, "session_lifetime" ) == 0 )
- opt.session_lifetime = atoi( q );
-
- if( strcmp( p, "force_ciphersuite" ) == 0 )
- {
- opt.force_ciphersuite[0] = -1;
-
- opt.force_ciphersuite[0] = ssl_get_ciphersuite_id( q );
-
- if( opt.force_ciphersuite[0] <= 0 )
- goto usage;
-
- opt.force_ciphersuite[1] = 0;
- }
- }
-
- switch( opt.opmode )
- {
- case OPMODE_CLIENT:
- break;
-
- case OPMODE_SERVER:
- break;
-
- default:
- goto usage;
- }
-
- nb_conn = 0;
-
- do {
- nb_conn++;
- ret = ssl_test( &opt );
- if( opt.max_connections != 0 &&
- opt.max_connections <= nb_conn )
- break;
- }
- while( ret == 0 );
-
-exit:
-
-#if defined(_WIN32)
- printf( " Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_ENTROPY_C && POLARSSL_SSL_TLS_C &&
- POLARSSL_SSL_SRV_C && POLARSSL_SSL_CLI_C && POLARSSL_NET_C &&
- POLARSSL_RSA_C && POLARSSL_CTR_DRBG_C */
diff --git a/Externals/polarssl/programs/util/CMakeLists.txt b/Externals/polarssl/programs/util/CMakeLists.txt
deleted file mode 100644
index c0f2e4cea0..0000000000
--- a/Externals/polarssl/programs/util/CMakeLists.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-set(libs
- polarssl
-)
-
-add_executable(strerror strerror.c)
-target_link_libraries(strerror ${libs})
-
-install(TARGETS strerror
- DESTINATION "bin"
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
diff --git a/Externals/polarssl/programs/util/strerror.c b/Externals/polarssl/programs/util/strerror.c
deleted file mode 100644
index e248201b9a..0000000000
--- a/Externals/polarssl/programs/util/strerror.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Translate error code to error string
- *
- * Copyright (C) 2006-2012, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/error.h"
-
-#define USAGE \
- "\n usage: strerror <errorcode>\n"
-
-#if !defined(POLARSSL_ERROR_C) && !defined(POLARSSL_ERROR_STRERROR_DUMMY)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_ERROR_C and/or POLARSSL_ERROR_STRERRO_DUMMY not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int ret;
-
- if( argc != 2 )
- {
- printf( USAGE );
- return( 0 );
- }
-
- ret = atoi( argv[1] );
- if( ret > 0 )
- ret = - ret;
-
- if( ret != 0 )
- {
- char error_buf[200];
- error_strerror( ret, error_buf, 200 );
- printf("Last error was: %d - %s\n\n", ret, error_buf );
- }
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_ERROR_C */
diff --git a/Externals/polarssl/programs/wince_main.c b/Externals/polarssl/programs/wince_main.c
deleted file mode 100644
index 1f1f30bbe0..0000000000
--- a/Externals/polarssl/programs/wince_main.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Windows CE console application entry point
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#if defined(_WIN32_WCE)
-
-#include <windows.h>
-
-extern int main( int, const char ** );
-
-int _tmain( int argc, _TCHAR* targv[] )
-{
- char **argv;
- int i;
-
- argv = ( char ** ) calloc( argc, sizeof( char * ) );
-
- for ( i = 0; i < argc; i++ ) {
- size_t len;
- len = _tcslen( targv[i] ) + 1;
- argv[i] = ( char * ) calloc( len, sizeof( char ) );
- wcstombs( argv[i], targv[i], len );
- }
-
- return main( argc, argv );
-}
-
-#endif /* defined(_WIN32_WCE) */
diff --git a/Externals/polarssl/programs/x509/CMakeLists.txt b/Externals/polarssl/programs/x509/CMakeLists.txt
deleted file mode 100644
index 08a962aef0..0000000000
--- a/Externals/polarssl/programs/x509/CMakeLists.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-set(libs
- polarssl
-)
-
-if(USE_PKCS11_HELPER_LIBRARY)
- set(libs ${libs} pkcs11-helper)
-endif(USE_PKCS11_HELPER_LIBRARY)
-
-if(ENABLE_ZLIB_SUPPORT)
- set(libs ${libs} ${ZLIB_LIBRARIES})
-endif(ENABLE_ZLIB_SUPPORT)
-
-add_executable(cert_app cert_app.c)
-target_link_libraries(cert_app ${libs})
-
-add_executable(crl_app crl_app.c)
-target_link_libraries(crl_app ${libs})
-
-install(TARGETS cert_app crl_app
- DESTINATION "bin"
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
diff --git a/Externals/polarssl/programs/x509/cert_app.c b/Externals/polarssl/programs/x509/cert_app.c
deleted file mode 100644
index 00a9316001..0000000000
--- a/Externals/polarssl/programs/x509/cert_app.c
+++ /dev/null
@@ -1,346 +0,0 @@
-/*
- * Certificate reading application
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/entropy.h"
-#include "polarssl/ctr_drbg.h"
-#include "polarssl/net.h"
-#include "polarssl/ssl.h"
-#include "polarssl/x509.h"
-
-#define MODE_NONE 0
-#define MODE_FILE 1
-#define MODE_SSL 2
-
-#define DFL_MODE MODE_NONE
-#define DFL_FILENAME "cert.crt"
-#define DFL_SERVER_NAME "localhost"
-#define DFL_SERVER_PORT 4433
-#define DFL_DEBUG_LEVEL 0
-#define DFL_PERMISSIVE 0
-
-/*
- * global options
- */
-struct options
-{
- int mode; /* the mode to run the application in */
- const char *filename; /* filename of the certificate file */
- const char *server_name; /* hostname of the server (client only) */
- int server_port; /* port on which the ssl service runs */
- int debug_level; /* level of debugging */
- int permissive; /* permissive parsing */
-} opt;
-
-void my_debug( void *ctx, int level, const char *str )
-{
- if( level < opt.debug_level )
- {
- fprintf( (FILE *) ctx, "%s", str );
- fflush( (FILE *) ctx );
- }
-}
-
-#define USAGE \
- "\n usage: cert_app param=<>...\n" \
- "\n acceptable parameters:\n" \
- " mode=file|ssl default: none\n" \
- " filename=%%s default: cert.crt\n" \
- " server_name=%%s default: localhost\n" \
- " server_port=%%d default: 4433\n" \
- " debug_level=%%d default: 0 (disabled)\n" \
- " permissive=%%d default: 0 (disabled)\n" \
- "\n"
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_ENTROPY_C) || \
- !defined(POLARSSL_SSL_TLS_C) || !defined(POLARSSL_SSL_CLI_C) || \
- !defined(POLARSSL_NET_C) || !defined(POLARSSL_RSA_C) || \
- !defined(POLARSSL_X509_PARSE_C) || !defined(POLARSSL_FS_IO) || \
- !defined(POLARSSL_CTR_DRBG_C)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_ENTROPY_C and/or "
- "POLARSSL_SSL_TLS_C and/or POLARSSL_SSL_CLI_C and/or "
- "POLARSSL_NET_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_X509_PARSE_C and/or POLARSSL_FS_IO and/or "
- "POLARSSL_CTR_DRBG_C not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int ret = 0, server_fd;
- unsigned char buf[1024];
- entropy_context entropy;
- ctr_drbg_context ctr_drbg;
- ssl_context ssl;
- x509_cert clicert;
- rsa_context rsa;
- int i, j, n;
- char *p, *q;
- const char *pers = "cert_app";
-
- /*
- * Set to sane values
- */
- server_fd = 0;
- memset( &clicert, 0, sizeof( x509_cert ) );
- memset( &rsa, 0, sizeof( rsa_context ) );
-
- if( argc == 0 )
- {
- usage:
- printf( USAGE );
- goto exit;
- }
-
- opt.mode = DFL_MODE;
- opt.filename = DFL_FILENAME;
- opt.server_name = DFL_SERVER_NAME;
- opt.server_port = DFL_SERVER_PORT;
- opt.debug_level = DFL_DEBUG_LEVEL;
- opt.permissive = DFL_PERMISSIVE;
-
- for( i = 1; i < argc; i++ )
- {
- n = strlen( argv[i] );
-
- for( j = 0; j < n; j++ )
- {
- if( argv[i][j] >= 'A' && argv[i][j] <= 'Z' )
- argv[i][j] |= 0x20;
- }
-
- p = argv[i];
- if( ( q = strchr( p, '=' ) ) == NULL )
- goto usage;
- *q++ = '\0';
-
- if( strcmp( p, "mode" ) == 0 )
- {
- if( strcmp( q, "file" ) == 0 )
- opt.mode = MODE_FILE;
- else if( strcmp( q, "ssl" ) == 0 )
- opt.mode = MODE_SSL;
- else
- goto usage;
- }
- else if( strcmp( p, "filename" ) == 0 )
- opt.filename = q;
- else if( strcmp( p, "server_name" ) == 0 )
- opt.server_name = q;
- else if( strcmp( p, "server_port" ) == 0 )
- {
- opt.server_port = atoi( q );
- if( opt.server_port < 1 || opt.server_port > 65535 )
- goto usage;
- }
- else if( strcmp( p, "debug_level" ) == 0 )
- {
- opt.debug_level = atoi( q );
- if( opt.debug_level < 0 || opt.debug_level > 65535 )
- goto usage;
- }
- else if( strcmp( p, "permissive" ) == 0 )
- {
- opt.permissive = atoi( q );
- if( opt.permissive < 0 || opt.permissive > 1 )
- goto usage;
- }
- else
- goto usage;
- }
-
- if( opt.mode == MODE_FILE )
- {
- x509_cert crt;
- x509_cert *cur = &crt;
- memset( &crt, 0, sizeof( x509_cert ) );
-
- /*
- * 1.1. Load the certificate(s)
- */
- printf( "\n . Loading the certificate(s) ..." );
- fflush( stdout );
-
- ret = x509parse_crtfile( &crt, opt.filename );
-
- if( ret < 0 )
- {
- printf( " failed\n ! x509parse_crt returned %d\n\n", ret );
- x509_free( &crt );
- goto exit;
- }
-
- if( opt.permissive == 0 && ret > 0 )
- {
- printf( " failed\n ! x509parse_crt failed to parse %d certificates\n\n", ret );
- x509_free( &crt );
- goto exit;
- }
-
- printf( " ok\n" );
-
-
- /*
- * 1.2 Print the certificate(s)
- */
- while( cur != NULL )
- {
- printf( " . Peer certificate information ...\n" );
- ret = x509parse_cert_info( (char *) buf, sizeof( buf ) - 1, " ", cur );
- if( ret == -1 )
- {
- printf( " failed\n ! x509parse_cert_info returned %d\n\n", ret );
- x509_free( &crt );
- goto exit;
- }
-
- printf( "%s\n", buf );
-
- cur = cur->next;
- }
-
- x509_free( &crt );
- }
- else if( opt.mode == MODE_SSL )
- {
- /*
- * 1. Initialize the RNG and the session data
- */
- printf( "\n . Seeding the random number generator..." );
- fflush( stdout );
-
- entropy_init( &entropy );
- if( ( ret = ctr_drbg_init( &ctr_drbg, entropy_func, &entropy,
- (const unsigned char *) pers,
- strlen( pers ) ) ) != 0 )
- {
- printf( " failed\n ! ctr_drbg_init returned %d\n", ret );
- goto exit;
- }
-
- /*
- * 2. Start the connection
- */
- printf( " . SSL connection to tcp/%s/%-4d...", opt.server_name,
- opt.server_port );
- fflush( stdout );
-
- if( ( ret = net_connect( &server_fd, opt.server_name,
- opt.server_port ) ) != 0 )
- {
- printf( " failed\n ! net_connect returned %d\n\n", ret );
- goto exit;
- }
-
- /*
- * 3. Setup stuff
- */
- if( ( ret = ssl_init( &ssl ) ) != 0 )
- {
- printf( " failed\n ! ssl_init returned %d\n\n", ret );
- goto exit;
- }
-
- ssl_set_endpoint( &ssl, SSL_IS_CLIENT );
- ssl_set_authmode( &ssl, SSL_VERIFY_NONE );
-
- ssl_set_rng( &ssl, ctr_drbg_random, &ctr_drbg );
- ssl_set_dbg( &ssl, my_debug, stdout );
- ssl_set_bio( &ssl, net_recv, &server_fd,
- net_send, &server_fd );
-
- ssl_set_ciphersuites( &ssl, ssl_default_ciphersuites );
-
- ssl_set_own_cert( &ssl, &clicert, &rsa );
-
- ssl_set_hostname( &ssl, opt.server_name );
-
- /*
- * 4. Handshake
- */
- while( ( ret = ssl_handshake( &ssl ) ) != 0 )
- {
- if( ret != POLARSSL_ERR_NET_WANT_READ && ret != POLARSSL_ERR_NET_WANT_WRITE )
- {
- printf( " failed\n ! ssl_handshake returned %d\n\n", ret );
- ssl_free( &ssl );
- goto exit;
- }
- }
-
- printf( " ok\n" );
-
- /*
- * 5. Print the certificate
- */
- printf( " . Peer certificate information ...\n" );
- ret = x509parse_cert_info( (char *) buf, sizeof( buf ) - 1, " ",
- ssl.session->peer_cert );
- if( ret == -1 )
- {
- printf( " failed\n ! x509parse_cert_info returned %d\n\n", ret );
- ssl_free( &ssl );
- goto exit;
- }
-
- printf( "%s\n", buf );
-
- ssl_close_notify( &ssl );
- ssl_free( &ssl );
- }
- else
- goto usage;
-
-exit:
-
- if( server_fd )
- net_close( server_fd );
- x509_free( &clicert );
- rsa_free( &rsa );
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_ENTROPY_C && POLARSSL_SSL_TLS_C &&
- POLARSSL_SSL_CLI_C && POLARSSL_NET_C && POLARSSL_RSA_C &&
- POLARSSL_X509_PARSE_C && POLARSSL_FS_IO && POLARSSL_CTR_DRBG_C */
diff --git a/Externals/polarssl/programs/x509/cert_req.c b/Externals/polarssl/programs/x509/cert_req.c
deleted file mode 100644
index ec64e2c50b..0000000000
--- a/Externals/polarssl/programs/x509/cert_req.c
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- * Certificate request generation
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/error.h"
-#include "polarssl/rsa.h"
-#include "polarssl/x509.h"
-#include "polarssl/base64.h"
-#include "polarssl/x509write.h"
-
-#define DFL_FILENAME "keyfile.key"
-#define DFL_DEBUG_LEVEL 0
-#define DFL_OUTPUT_FILENAME "cert.req"
-#define DFL_SUBJECT_NAME "CN=Cert,O=PolarSSL,C=NL"
-
-/*
- * global options
- */
-struct options
-{
- char *filename; /* filename of the key file */
- int debug_level; /* level of debugging */
- char *output_file; /* where to store the constructed key file */
- char *subject_name; /* subject name for certificate request */
-} opt;
-
-void my_debug( void *ctx, int level, const char *str )
-{
- if( level < opt.debug_level )
- {
- fprintf( (FILE *) ctx, "%s", str );
- fflush( (FILE *) ctx );
- }
-}
-
-void write_certificate_request( rsa_context *rsa, x509_req_name *req_name,
- char *output_file )
-{
- FILE *f;
- unsigned char output_buf[4096];
- unsigned char base_buf[4096];
- unsigned char *c;
- int ret;
- size_t len = 0, olen = 4096;
-
- memset(output_buf, 0, 4096);
- ret = x509_write_cert_req( output_buf, 4096, rsa, req_name, SIG_RSA_SHA1 );
-
- if( ret < 0 )
- return;
-
- len = ret;
- c = output_buf + 4095 - len;
-
- base64_encode( base_buf, &olen, c, len );
-
- c = base_buf;
-
- f = fopen( output_file, "w" );
- fprintf(f, "-----BEGIN CERTIFICATE REQUEST-----\n");
- while (olen)
- {
- int use_len = olen;
- if (use_len > 64) use_len = 64;
- fwrite( c, 1, use_len, f );
- olen -= use_len;
- c += use_len;
- fprintf(f, "\n");
- }
- fprintf(f, "-----END CERTIFICATE REQUEST-----\n");
- fclose(f);
-}
-
-#define USAGE \
- "\n usage: key_app param=<>...\n" \
- "\n acceptable parameters:\n" \
- " filename=%%s default: keyfile.key\n" \
- " debug_level=%%d default: 0 (disabled)\n" \
- " output_file=%%s default: cert.req\n" \
- " subject_name=%%s default: CN=Cert,O=PolarSSL,C=NL\n" \
- "\n"
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_RSA_C) || \
- !defined(POLARSSL_X509_PARSE_C) || !defined(POLARSSL_FS_IO)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_X509_PARSE_C and/or POLARSSL_FS_IO not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int ret = 0;
- rsa_context rsa;
- char buf[1024];
- int i, j, n;
- char *p, *q;
- char *s, *c, *end;
- int in_tag;
- char *oid = NULL;
- x509_req_name *req_name = NULL;
- x509_req_name *cur = req_name;
-
- /*
- * Set to sane values
- */
- memset( &rsa, 0, sizeof( rsa_context ) );
- memset( buf, 0, 1024 );
-
- if( argc == 0 )
- {
- usage:
- printf( USAGE );
- goto exit;
- }
-
- opt.filename = DFL_FILENAME;
- opt.debug_level = DFL_DEBUG_LEVEL;
- opt.output_file = DFL_OUTPUT_FILENAME;
- opt.subject_name = DFL_SUBJECT_NAME;
-
- for( i = 1; i < argc; i++ )
- {
-
- p = argv[i];
- if( ( q = strchr( p, '=' ) ) == NULL )
- goto usage;
- *q++ = '\0';
-
- n = strlen( p );
- for( j = 0; j < n; j++ )
- {
- if( argv[i][j] >= 'A' && argv[i][j] <= 'Z' )
- argv[i][j] |= 0x20;
- }
-
- if( strcmp( p, "filename" ) == 0 )
- opt.filename = q;
- else if( strcmp( p, "output_file" ) == 0 )
- opt.output_file = q;
- else if( strcmp( p, "debug_level" ) == 0 )
- {
- opt.debug_level = atoi( q );
- if( opt.debug_level < 0 || opt.debug_level > 65535 )
- goto usage;
- }
- else if( strcmp( p, "subject_name" ) == 0 )
- {
- opt.subject_name = q;
- }
- else
- goto usage;
- }
-
- /*
- * 1.0. Check the subject name for validity
- */
- s = opt.subject_name;
- end = s + strlen( s );
-
- c = s;
-
- in_tag = 1;
- while( c <= end )
- {
- if( in_tag && *c == '=' )
- {
- if( memcmp( s, "CN", 2 ) == 0 && c - s == 2 )
- oid = OID_CN;
- else if( memcmp( s, "C", 1 ) == 0 && c - s == 1 )
- oid = OID_COUNTRY;
- else if( memcmp( s, "O", 1 ) == 0 && c - s == 1 )
- oid = OID_ORGANIZATION;
- else if( memcmp( s, "L", 1 ) == 0 && c - s == 1 )
- oid = OID_LOCALITY;
- else if( memcmp( s, "R", 1 ) == 0 && c - s == 1 )
- oid = OID_PKCS9_EMAIL;
- else if( memcmp( s, "OU", 2 ) == 0 && c - s == 2 )
- oid = OID_ORG_UNIT;
- else if( memcmp( s, "ST", 2 ) == 0 && c - s == 2 )
- oid = OID_STATE;
- else
- {
- printf("Failed to parse subject name.\n");
- goto exit;
- }
-
- s = c + 1;
- in_tag = 0;
- }
-
- if( !in_tag && ( *c == ',' || c == end ) )
- {
- if( c - s > 127 )
- {
- printf("Name too large for buffer.\n");
- goto exit;
- }
-
- if( cur == NULL )
- {
- req_name = malloc( sizeof(x509_req_name) );
- cur = req_name;
- }
- else
- {
- cur->next = malloc( sizeof(x509_req_name) );
- cur = cur->next;
- }
-
- if( cur == NULL )
- {
- printf( "Failed to allocate memory.\n" );
- goto exit;
- }
-
- memset( cur, 0, sizeof(x509_req_name) );
-
- strncpy( cur->oid, oid, strlen( oid ) );
- strncpy( cur->name, s, c - s );
-
- s = c + 1;
- in_tag = 1;
- }
- c++;
- }
-
- /*
- * 1.1. Load the key
- */
- printf( "\n . Loading the private key ..." );
- fflush( stdout );
-
- ret = x509parse_keyfile( &rsa, opt.filename, NULL );
-
- if( ret != 0 )
- {
-#ifdef POLARSSL_ERROR_C
- error_strerror( ret, buf, 1024 );
-#endif
- printf( " failed\n ! x509parse_key returned %d - %s\n\n", ret, buf );
- rsa_free( &rsa );
- goto exit;
- }
-
- printf( " ok\n" );
-
- write_certificate_request( &rsa, req_name, opt.output_file );
-
-exit:
-
- rsa_free( &rsa );
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_RSA_C &&
- POLARSSL_X509_PARSE_C && POLARSSL_FS_IO */
diff --git a/Externals/polarssl/programs/x509/crl_app.c b/Externals/polarssl/programs/x509/crl_app.c
deleted file mode 100644
index fb191a1b49..0000000000
--- a/Externals/polarssl/programs/x509/crl_app.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * CRL reading application
- *
- * Copyright (C) 2006-2011, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#ifndef _CRT_SECURE_NO_DEPRECATE
-#define _CRT_SECURE_NO_DEPRECATE 1
-#endif
-
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-
-#include "polarssl/config.h"
-
-#include "polarssl/x509.h"
-
-#define DFL_FILENAME "crl.pem"
-#define DFL_DEBUG_LEVEL 0
-
-/*
- * global options
- */
-struct options
-{
- const char *filename; /* filename of the certificate file */
- int debug_level; /* level of debugging */
-} opt;
-
-void my_debug( void *ctx, int level, const char *str )
-{
- if( level < opt.debug_level )
- {
- fprintf( (FILE *) ctx, "%s", str );
- fflush( (FILE *) ctx );
- }
-}
-
-#define USAGE \
- "\n usage: crl_app param=<>...\n" \
- "\n acceptable parameters:\n" \
- " filename=%%s default: crl.pem\n" \
- " debug_level=%%d default: 0 (disabled)\n" \
- "\n"
-
-#if !defined(POLARSSL_BIGNUM_C) || !defined(POLARSSL_RSA_C) || \
- !defined(POLARSSL_X509_PARSE_C) || !defined(POLARSSL_FS_IO)
-int main( int argc, char *argv[] )
-{
- ((void) argc);
- ((void) argv);
-
- printf("POLARSSL_BIGNUM_C and/or POLARSSL_RSA_C and/or "
- "POLARSSL_X509_PARSE_C and/or POLARSSL_FS_IO not defined.\n");
- return( 0 );
-}
-#else
-int main( int argc, char *argv[] )
-{
- int ret = 0;
- unsigned char buf[100000];
- x509_crl crl;
- int i, j, n;
- char *p, *q;
-
- /*
- * Set to sane values
- */
- memset( &crl, 0, sizeof( x509_crl ) );
-
- if( argc == 0 )
- {
- usage:
- printf( USAGE );
- goto exit;
- }
-
- opt.filename = DFL_FILENAME;
- opt.debug_level = DFL_DEBUG_LEVEL;
-
- for( i = 1; i < argc; i++ )
- {
- n = strlen( argv[i] );
-
- for( j = 0; j < n; j++ )
- {
- if( argv[i][j] >= 'A' && argv[i][j] <= 'Z' )
- argv[i][j] |= 0x20;
- }
-
- p = argv[i];
- if( ( q = strchr( p, '=' ) ) == NULL )
- goto usage;
- *q++ = '\0';
-
- if( strcmp( p, "filename" ) == 0 )
- opt.filename = q;
- else if( strcmp( p, "debug_level" ) == 0 )
- {
- opt.debug_level = atoi( q );
- if( opt.debug_level < 0 || opt.debug_level > 65535 )
- goto usage;
- }
- else
- goto usage;
- }
-
- /*
- * 1.1. Load the CRL
- */
- printf( "\n . Loading the CRL ..." );
- fflush( stdout );
-
- ret = x509parse_crlfile( &crl, opt.filename );
-
- if( ret != 0 )
- {
- printf( " failed\n ! x509parse_crl returned %d\n\n", ret );
- x509_crl_free( &crl );
- goto exit;
- }
-
- printf( " ok\n" );
-
- /*
- * 1.2 Print the CRL
- */
- printf( " . CRL information ...\n" );
- ret = x509parse_crl_info( (char *) buf, sizeof( buf ) - 1, " ", &crl );
- if( ret == -1 )
- {
- printf( " failed\n ! x509parse_crl_info returned %d\n\n", ret );
- x509_crl_free( &crl );
- goto exit;
- }
-
- printf( "%s\n", buf );
-
-exit:
- x509_crl_free( &crl );
-
-#if defined(_WIN32)
- printf( " + Press Enter to exit this program.\n" );
- fflush( stdout ); getchar();
-#endif
-
- return( ret );
-}
-#endif /* POLARSSL_BIGNUM_C && POLARSSL_RSA_C && POLARSSL_X509_PARSE_C &&
- POLARSSL_FS_IO */
diff --git a/Externals/polarssl/scripts/bump_version.sh b/Externals/polarssl/scripts/bump_version.sh
deleted file mode 100644
index cee47e76ef..0000000000
--- a/Externals/polarssl/scripts/bump_version.sh
+++ /dev/null
@@ -1,81 +0,0 @@
-#!/bin/bash
-
-VERSION=""
-SOVERSION=""
-
-# Parse arguments
-#
-until [ -z "$1" ]
-do
- case "$1" in
- --version)
- # Version to use
- shift
- VERSION=$1
- ;;
- --soversion)
- shift
- SOVERSION=$1
- ;;
- -v|--verbose)
- # Be verbose
- VERBOSE="1"
- ;;
- -h|--help)
- # print help
- echo "Usage: $0"
- echo -e " -h|--help\t\t\tPrint this help."
- echo -e " --version <version>\tVersion to bump to."
- echo -e " -v|--verbose\t\tVerbose."
- exit 1
- ;;
- *)
- # print error
- echo "Unknown argument: '$1'"
- exit 1
- ;;
- esac
- shift
-done
-
-if [ "X" = "X$VERSION" ];
-then
- echo "No version specified. Unable to continue."
- exit 1
-fi
-
-[ $VERBOSE ] && echo "Bumping VERSION in library/CMakeLists.txt"
-sed -e "s/ VERSION [0-9.]\+/ VERSION $VERSION/g" < library/CMakeLists.txt > tmp
-mv tmp library/CMakeLists.txt
-
-if [ "X" != "X$SOVERSION" ];
-then
- [ $VERBOSE ] && echo "Bumping SOVERSION in library/CMakeLists.txt"
- sed -e "s/ SOVERSION [0-9]\+/ SOVERSION $SOVERSION/g" < library/CMakeLists.txt > tmp
- mv tmp library/CMakeLists.txt
-fi
-
-[ $VERBOSE ] && echo "Bumping VERSION in include/polarssl/version.h"
-read MAJOR MINOR PATCH <<<$(IFS="."; echo $VERSION)
-VERSION_NR="$( printf "0x%02X%02X%02X00" $MAJOR $MINOR $PATCH )"
-cat include/polarssl/version.h | \
- sed -e "s/_VERSION_MAJOR .\+/_VERSION_MAJOR $MAJOR/" | \
- sed -e "s/_VERSION_MINOR .\+/_VERSION_MINOR $MINOR/" | \
- sed -e "s/_VERSION_PATCH .\+/_VERSION_PATCH $PATCH/" | \
- sed -e "s/_VERSION_NUMBER .\+/_VERSION_NUMBER $VERSION_NR/" | \
- sed -e "s/_VERSION_STRING .\+/_VERSION_STRING \"$VERSION\"/" | \
- sed -e "s/_VERSION_STRING_FULL .\+/_VERSION_STRING_FULL \"PolarSSL $VERSION\"/" \
- > tmp
-mv tmp include/polarssl/version.h
-
-[ $VERBOSE ] && echo "Bumping version in tests/suites/test_suite_version.data"
-sed -e "s/version:\".\+/version:\"$VERSION\"/g" < tests/suites/test_suite_version.data > tmp
-mv tmp tests/suites/test_suite_version.data
-
-[ $VERBOSE ] && echo "Bumping PROJECT_NAME in doxygen/polarssl.doxyfile and doxygen/input/doc_mainpage.h"
-for i in doxygen/polarssl.doxyfile doxygen/input/doc_mainpage.h;
-do
- sed -e "s/PolarSSL v[0-9\.]\+/PolarSSL v$VERSION/g" < $i > tmp
- mv tmp $i
-done
-
diff --git a/Externals/polarssl/scripts/check_doxy_blocks.pl b/Externals/polarssl/scripts/check_doxy_blocks.pl
deleted file mode 100644
index c90143bf24..0000000000
--- a/Externals/polarssl/scripts/check_doxy_blocks.pl
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/usr/bin/perl
-
-# Detect comment blocks that are likely meant to be doxygen blocks but aren't.
-#
-# More precisely, look for normal comment block containing '\'.
-# Of course one could use doxygen warnings, eg with:
-# sed -e '/EXTRACT/s/YES/NO/' doxygen/polarssl.doxyfile | doxygen -
-# but that would warn about any undocumented item, while our goal is to find
-# items that are documented, but not marked as such by mistake.
-
-use warnings;
-use strict;
-use File::Basename;
-
-# header files in the following directories will be checked
-my @directories = qw(include/polarssl library doxygen/input);
-
-# very naive pattern to find directives:
-# everything with a backslach except '\0'
-my $doxy_re = qr/\\(?!0)/;
-
-sub check_file {
- my ($fname) = @_;
- open my $fh, '<', $fname or die "Failed to open '$fname': $!\n";
-
- # first line of the last normal comment block,
- # or 0 if not in a normal comment block
- my $block_start = 0;
- while (my $line = <$fh>) {
- $block_start = $. if $line =~ m/\/\*(?![*!])/;
- $block_start = 0 if $line =~ m/\*\//;
- if ($block_start and $line =~ m/$doxy_re/) {
- print "$fname:$block_start: directive on line $.\n";
- $block_start = 0; # report only one directive per block
- }
- }
-
- close $fh;
-}
-
-sub check_dir {
- my ($dirname) = @_;
- for my $file (<$dirname/*.[ch]>) {
- check_file($file);
- }
-}
-
-# locate root directory based on invocation name
-my $root = dirname($0) . '/..';
-chdir $root or die "Can't chdir to '$root': $!\n";
-
-# just do it
-for my $dir (@directories) {
- check_dir($dir)
-}
-
-__END__
diff --git a/Externals/polarssl/scripts/data_files/error.fmt b/Externals/polarssl/scripts/data_files/error.fmt
deleted file mode 100644
index 93d1e4eebd..0000000000
--- a/Externals/polarssl/scripts/data_files/error.fmt
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Error message information
- *
- * Copyright (C) 2006-2012, Brainspark B.V.
- *
- * This file is part of PolarSSL (http://www.polarssl.org)
- * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
- *
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "polarssl/config.h"
-
-#if defined(POLARSSL_ERROR_C)
-
-#include "polarssl/error.h"
-
-HEADER_INCLUDED
-
-#include <string.h>
-
-#if defined _MSC_VER && !defined snprintf
-#define snprintf _snprintf
-#endif
-
-void error_strerror( int ret, char *buf, size_t buflen )
-{
- size_t len;
- int use_ret;
-
- memset( buf, 0x00, buflen );
-
- if( ret < 0 )
- ret = -ret;
-
- if( ret & 0xFF80 )
- {
- use_ret = ret & 0xFF80;
-
- // High level error codes
- //
-HIGH_LEVEL_CODE_CHECKS
- if( strlen( buf ) == 0 )
- snprintf( buf, buflen, "UNKNOWN ERROR CODE (%04X)", use_ret );
- }
-
- use_ret = ret & ~0xFF80;
-
- if( use_ret == 0 )
- return;
-
- // If high level code is present, make a concatenation between both
- // error strings.
- //
- len = strlen( buf );
-
- if( len > 0 )
- {
- if( buflen - len < 5 )
- return;
-
- snprintf( buf + len, buflen - len, " : " );
-
- buf += len + 3;
- buflen -= len + 3;
- }
-
- // Low level error codes
- //
-LOW_LEVEL_CODE_CHECKS
- if( strlen( buf ) != 0 )
- return;
-
- snprintf( buf, buflen, "UNKNOWN ERROR CODE (%04X)", use_ret );
-}
-
-#else /* POLARSSL_ERROR_C */
-
-#if defined(POLARSSL_ERROR_STRERROR_DUMMY)
-
-#include <string.h>
-
-/*
- * Provide an non-function in case POLARSSL_ERROR_C is not defined
- */
-void error_strerror( int ret, char *buf, size_t buflen )
-{
- ((void) ret);
-
- if( buflen > 0 )
- buf[0] = '\0';
-}
-
-#endif /* POLARSSL_ERROR_STRERROR_DUMMY */
-#endif /* POLARSSL_ERROR_C */
diff --git a/Externals/polarssl/scripts/generate_errors.pl b/Externals/polarssl/scripts/generate_errors.pl
deleted file mode 100644
index 5041cd63b4..0000000000
--- a/Externals/polarssl/scripts/generate_errors.pl
+++ /dev/null
@@ -1,128 +0,0 @@
-#!/usr/bin/perl
-#
-
-use strict;
-
-my $include_dir = shift or die "Missing include directory";
-my $data_dir = shift or die "Missing data directory";
-my $error_file = shift or die "Missing destination file";
-my $error_format_file = $data_dir.'/error.fmt';
-
-my @low_level_modules = ( "AES", "ASN1", "BLOWFISH", "CAMELLIA", "BIGNUM",
- "BASE64", "XTEA", "PBKDF2",
- "PADLOCK", "DES", "NET", "CTR_DRBG", "ENTROPY",
- "MD2", "MD4", "MD5", "SHA1", "SHA2", "SHA4", "GCM" );
-my @high_level_modules = ( "PEM", "X509", "DHM", "RSA", "MD", "CIPHER", "SSL",
- "PKCS12", "PKCS5" );
-
-my $line_separator = $/;
-undef $/;
-
-open(FORMAT_FILE, "$error_format_file") or die "Opening error format file '$error_format_file': $!";
-my $error_format = <FORMAT_FILE>;
-close(FORMAT_FILE);
-
-$/ = $line_separator;
-
-open(GREP, "/bin/grep \"define POLARSSL_ERR_\" $include_dir/* |") || die("Failure when calling grep: $!");
-
-my $ll_old_define = "";
-my $hl_old_define = "";
-
-my $ll_code_check = "";
-my $hl_code_check = "";
-
-my $headers = "";
-
-while (my $line = <GREP>)
-{
- my ($error_name, $error_code) = $line =~ /(POLARSSL_ERR_\w+)\s+\-(0x\w+)/;
- my ($description) = $line =~ /\/\*\*< (.*?)\.? \*\//;
- $description =~ s/\\/\\\\/g;
- $description = "DESCRIPTION MISSING" if ($description eq "");
-
- my ($module_name) = $error_name =~ /^POLARSSL_ERR_([^_]+)/;
-
- # Fix faulty ones
- $module_name = "BIGNUM" if ($module_name eq "MPI");
- $module_name = "CTR_DRBG" if ($module_name eq "CTR");
-
- my $define_name = $module_name;
- $define_name = "X509_PARSE" if ($define_name eq "X509");
- $define_name = "ASN1_PARSE" if ($define_name eq "ASN1");
- $define_name = "SSL_TLS" if ($define_name eq "SSL");
-
- my $include_name = $module_name;
- $include_name =~ tr/A-Z/a-z/;
- $include_name = "" if ($include_name eq "asn1");
-
- my $found_ll = grep $_ eq $module_name, @low_level_modules;
- my $found_hl = grep $_ eq $module_name, @high_level_modules;
- if (!$found_ll && !$found_hl)
- {
- printf("Error: Do not know how to handle: $module_name\n");
- exit 1;
- }
-
- my $code_check;
- my $old_define;
- my $white_space;
-
- if ($found_ll)
- {
- $code_check = \$ll_code_check;
- $old_define = \$ll_old_define;
- $white_space = ' ';
- }
- else
- {
- $code_check = \$hl_code_check;
- $old_define = \$hl_old_define;
- $white_space = ' ';
- }
-
- if ($define_name ne ${$old_define})
- {
- if (${$old_define} ne "")
- {
- ${$code_check} .= "#endif /* POLARSSL_${$old_define}_C */\n\n";
- }
-
- ${$code_check} .= "#if defined(POLARSSL_${define_name}_C)\n";
- $headers .= "#if defined(POLARSSL_${define_name}_C)\n".
- "#include \"polarssl/${include_name}.h\"\n".
- "#endif\n\n" if ($include_name ne "");
- ${$old_define} = $define_name;
- }
-
- if ($error_name eq "POLARSSL_ERR_SSL_FATAL_ALERT_MESSAGE")
- {
- ${$code_check} .= "${white_space}if( use_ret == -($error_name) )\n".
- "${white_space}\{\n".
- "${white_space} snprintf( buf, buflen, \"$module_name - $description\" );\n".
- "${white_space} return;\n".
- "${white_space}}\n"
- }
- else
- {
- ${$code_check} .= "${white_space}if( use_ret == -($error_name) )\n".
- "${white_space} snprintf( buf, buflen, \"$module_name - $description\" );\n"
- }
-};
-
-if ($ll_old_define ne "")
-{
- $ll_code_check .= "#endif /* POLARSSL_${ll_old_define}_C */\n\n";
-}
-if ($hl_old_define ne "")
-{
- $hl_code_check .= "#endif /* POLARSSL_${hl_old_define}_C */\n\n";
-}
-
-$error_format =~ s/HEADER_INCLUDED\n/$headers/g;
-$error_format =~ s/LOW_LEVEL_CODE_CHECKS\n/$ll_code_check/g;
-$error_format =~ s/HIGH_LEVEL_CODE_CHECKS\n/$hl_code_check/g;
-
-open(ERROR_FILE, ">$error_file") or die "Opening destination file '$error_file': $!";
-print ERROR_FILE $error_format;
-close(ERROR_FILE);
diff --git a/Externals/polarssl/tests/.gitignore b/Externals/polarssl/tests/.gitignore
deleted file mode 100644
index 084f664cc2..0000000000
--- a/Externals/polarssl/tests/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-test_suite*
-data_files/mpi_write
diff --git a/Externals/polarssl/tests/CMakeLists.txt b/Externals/polarssl/tests/CMakeLists.txt
deleted file mode 100644
index e430ae8b55..0000000000
--- a/Externals/polarssl/tests/CMakeLists.txt
+++ /dev/null
@@ -1,70 +0,0 @@
-set(libs
- polarssl
-)
-
-if(USE_PKCS11_HELPER_LIBRARY)
- set(libs ${libs} pkcs11-helper)
-endif(USE_PKCS11_HELPER_LIBRARY)
-
-if(ENABLE_ZLIB_SUPPORT)
- set(libs ${libs} ${ZLIB_LIBRARIES})
-endif(ENABLE_ZLIB_SUPPORT)
-
-function(add_test_suite suite_name)
- if(ARGV1)
- set(data_name ${ARGV1})
- else()
- set(data_name ${suite_name})
- endif()
-
- add_custom_command(
- OUTPUT test_suite_${data_name}.c
- COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/scripts/generate_code.pl ${CMAKE_CURRENT_SOURCE_DIR}/suites test_suite_${suite_name} test_suite_${data_name}
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/scripts/generate_code.pl polarssl fct.h suites/helpers.function suites/test_suite_${suite_name}.function suites/test_suite_${data_name}.data
- )
-
- include_directories(${CMAKE_CURRENT_SOURCE_DIR})
- add_executable(test_suite_${data_name} test_suite_${data_name}.c)
- target_link_libraries(test_suite_${data_name} ${libs})
- add_test(${data_name}-suite test_suite_${data_name})
-endfunction(add_test_suite)
-
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-unused-function -Wno-unused-value")
-
-add_test_suite(aes aes.ecb)
-add_test_suite(aes aes.cbc)
-add_test_suite(aes aes.cfb)
-add_test_suite(aes aes.rest)
-add_test_suite(arc4)
-add_test_suite(base64)
-add_test_suite(blowfish)
-add_test_suite(camellia)
-add_test_suite(cipher cipher.aes)
-add_test_suite(cipher cipher.blowfish)
-add_test_suite(cipher cipher.camellia)
-add_test_suite(cipher cipher.des)
-add_test_suite(cipher cipher.null)
-add_test_suite(ctr_drbg)
-add_test_suite(debug)
-add_test_suite(des)
-add_test_suite(dhm)
-add_test_suite(error)
-add_test_suite(gcm gcm.encrypt_128)
-add_test_suite(gcm gcm.encrypt_192)
-add_test_suite(gcm gcm.encrypt_256)
-add_test_suite(gcm gcm.decrypt_128)
-add_test_suite(gcm gcm.decrypt_192)
-add_test_suite(gcm gcm.decrypt_256)
-add_test_suite(hmac_shax)
-add_test_suite(md)
-add_test_suite(mdx)
-add_test_suite(mpi)
-add_test_suite(pbkdf2)
-add_test_suite(pkcs1_v21)
-add_test_suite(pkcs5)
-add_test_suite(shax)
-add_test_suite(rsa)
-add_test_suite(version)
-add_test_suite(xtea)
-add_test_suite(x509parse)
-add_test_suite(x509write)
diff --git a/Externals/polarssl/tests/Makefile b/Externals/polarssl/tests/Makefile
deleted file mode 100644
index 3fcf92b996..0000000000
--- a/Externals/polarssl/tests/Makefile
+++ /dev/null
@@ -1,292 +0,0 @@
-
-# To compile on SunOS: add "-lsocket -lnsl" to LDFLAGS
-# To compile on MinGW: add "-lws2_32" to LDFLAGS or define WINDOWS in your env
-# To compile with PKCS11: add "-lpkcs11-helper" to LDFLAGS
-
-CFLAGS += -I../include -D_FILE_OFFSET_BITS=64 -Wall -W -Wdeclaration-after-statement \
- -Wno-unused-function -Wno-unused-value
-
-OFLAGS = -O2
-LDFLAGS += -L../library -lpolarssl $(SYS_LDFLAGS)
-
-ifdef DEBUG
-CFLAGS += -g3
-endif
-
-ifdef WINDOWS
-LDFLAGS += -lws2_32
-endif
-
-# Zlib shared library extensions:
-ifdef ZLIB
-LDFLAGS += -lz
-endif
-
-APPS = test_suite_aes.ecb test_suite_aes.cbc \
- test_suite_aes.cfb test_suite_aes.rest \
- test_suite_arc4 \
- test_suite_base64 test_suite_blowfish \
- test_suite_camellia test_suite_cipher.aes \
- test_suite_cipher.blowfish \
- test_suite_cipher.camellia \
- test_suite_cipher.des test_suite_cipher.null \
- test_suite_ctr_drbg test_suite_debug \
- test_suite_des test_suite_dhm \
- test_suite_error \
- test_suite_gcm.decrypt_128 \
- test_suite_gcm.decrypt_192 \
- test_suite_gcm.decrypt_256 \
- test_suite_gcm.encrypt_128 \
- test_suite_gcm.encrypt_192 \
- test_suite_gcm.encrypt_256 \
- test_suite_hmac_shax \
- test_suite_md test_suite_mdx \
- test_suite_mpi test_suite_pbkdf2 \
- test_suite_pkcs1_v21 test_suite_pkcs5 \
- test_suite_rsa test_suite_shax \
- test_suite_x509parse test_suite_x509write \
- test_suite_xtea test_suite_version
-
-.SILENT:
-
-all: $(APPS)
-
-test_suite_aes.ecb.c : suites/test_suite_aes.function suites/test_suite_aes.ecb.data scripts/generate_code.pl suites/helpers.function
- echo " Generate $@"
- scripts/generate_code.pl suites test_suite_aes test_suite_aes.ecb
-
-test_suite_aes.cbc.c : suites/test_suite_aes.function suites/test_suite_aes.cbc.data scripts/generate_code.pl suites/helpers.function
- echo " Generate $@"
- scripts/generate_code.pl suites test_suite_aes test_suite_aes.cbc
-
-test_suite_aes.cfb.c : suites/test_suite_aes.function suites/test_suite_aes.cfb.data scripts/generate_code.pl suites/helpers.function
- echo " Generate $@"
- scripts/generate_code.pl suites test_suite_aes test_suite_aes.cfb
-
-test_suite_aes.rest.c : suites/test_suite_aes.function suites/test_suite_aes.rest.data scripts/generate_code.pl suites/helpers.function
- echo " Generate $@"
- scripts/generate_code.pl suites test_suite_aes test_suite_aes.rest
-
-test_suite_cipher.aes.c : suites/test_suite_cipher.function suites/test_suite_cipher.aes.data scripts/generate_code.pl suites/helpers.function
- echo " Generate $@"
- scripts/generate_code.pl suites test_suite_cipher test_suite_cipher.aes
-
-test_suite_cipher.blowfish.c : suites/test_suite_cipher.function suites/test_suite_cipher.blowfish.data scripts/generate_code.pl suites/helpers.function
- echo " Generate $@"
- scripts/generate_code.pl suites test_suite_cipher test_suite_cipher.blowfish
-
-test_suite_cipher.camellia.c : suites/test_suite_cipher.function suites/test_suite_cipher.camellia.data scripts/generate_code.pl suites/helpers.function
- echo " Generate $@"
- scripts/generate_code.pl suites test_suite_cipher test_suite_cipher.camellia
-
-test_suite_cipher.des.c : suites/test_suite_cipher.function suites/test_suite_cipher.des.data scripts/generate_code.pl suites/helpers.function
- echo " Generate $@"
- scripts/generate_code.pl suites test_suite_cipher test_suite_cipher.des
-
-test_suite_cipher.null.c : suites/test_suite_cipher.function suites/test_suite_cipher.null.data scripts/generate_code.pl suites/helpers.function
- echo " Generate $@"
- scripts/generate_code.pl suites test_suite_cipher test_suite_cipher.null
-
-test_suite_gcm.decrypt_128.c : suites/test_suite_gcm.function suites/test_suite_gcm.decrypt_128.data scripts/generate_code.pl suites/helpers.function
- echo " Generate $@"
- scripts/generate_code.pl suites test_suite_gcm test_suite_gcm.decrypt_128
-
-test_suite_gcm.decrypt_192.c : suites/test_suite_gcm.function suites/test_suite_gcm.decrypt_192.data scripts/generate_code.pl suites/helpers.function
- echo " Generate $@"
- scripts/generate_code.pl suites test_suite_gcm test_suite_gcm.decrypt_192
-
-test_suite_gcm.decrypt_256.c : suites/test_suite_gcm.function suites/test_suite_gcm.decrypt_256.data scripts/generate_code.pl suites/helpers.function
- echo " Generate $@"
- scripts/generate_code.pl suites test_suite_gcm test_suite_gcm.decrypt_256
-
-test_suite_gcm.encrypt_128.c : suites/test_suite_gcm.function suites/test_suite_gcm.encrypt_128.data scripts/generate_code.pl suites/helpers.function
- echo " Generate $@"
- scripts/generate_code.pl suites test_suite_gcm test_suite_gcm.encrypt_128
-
-test_suite_gcm.encrypt_192.c : suites/test_suite_gcm.function suites/test_suite_gcm.encrypt_192.data scripts/generate_code.pl suites/helpers.function
- echo " Generate $@"
- scripts/generate_code.pl suites test_suite_gcm test_suite_gcm.encrypt_192
-
-test_suite_gcm.encrypt_256.c : suites/test_suite_gcm.function suites/test_suite_gcm.encrypt_256.data scripts/generate_code.pl suites/helpers.function
- echo " Generate $@"
- scripts/generate_code.pl suites test_suite_gcm test_suite_gcm.encrypt_256
-
-%.c : suites/%.function suites/%.data scripts/generate_code.pl suites/helpers.function
- echo " Generate $@"
- scripts/generate_code.pl suites $* $*
-
-test_suite_aes.ecb: test_suite_aes.ecb.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_aes.cbc: test_suite_aes.cbc.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_aes.cfb: test_suite_aes.cfb.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_aes.rest: test_suite_aes.rest.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_arc4: test_suite_arc4.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_base64: test_suite_base64.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_blowfish: test_suite_blowfish.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_camellia: test_suite_camellia.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_cipher.aes: test_suite_cipher.aes.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_cipher.blowfish: test_suite_cipher.blowfish.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_cipher.camellia: test_suite_cipher.camellia.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_cipher.des: test_suite_cipher.des.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_cipher.null: test_suite_cipher.null.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_ctr_drbg: test_suite_ctr_drbg.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_des: test_suite_des.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_dhm: test_suite_dhm.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_error: test_suite_error.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_gcm.decrypt_128: test_suite_gcm.decrypt_128.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_gcm.decrypt_192: test_suite_gcm.decrypt_192.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_gcm.decrypt_256: test_suite_gcm.decrypt_256.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_gcm.encrypt_128: test_suite_gcm.encrypt_128.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_gcm.encrypt_192: test_suite_gcm.encrypt_192.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_gcm.encrypt_256: test_suite_gcm.encrypt_256.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_hmac_shax: test_suite_hmac_shax.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_md: test_suite_md.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_mdx: test_suite_mdx.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_mpi: test_suite_mpi.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_pbkdf2: test_suite_pbkdf2.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_pkcs1_v21: test_suite_pkcs1_v21.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_pkcs5: test_suite_pkcs5.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_rsa: test_suite_rsa.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_shax: test_suite_shax.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_x509parse: test_suite_x509parse.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_x509write: test_suite_x509write.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_xtea: test_suite_xtea.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_debug: test_suite_debug.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-test_suite_version: test_suite_version.c ../library/libpolarssl.a
- echo " CC $@.c"
- $(CC) $(CFLAGS) $(OFLAGS) $@.c $(LDFLAGS) -o $@
-
-clean:
-ifndef WINDOWS
- rm -f $(APPS) *.c
-endif
-ifdef WINDOWS
- del /Q /F *.c *.exe
-endif
-
-check: $(APPS)
-ifndef WINDOWS
- echo "Running checks (Success if all tests PASSED)"
- RETURN=0; \
- for i in $(APPS); \
- do \
- echo " - $${i}"; \
- RESULT=`./$${i} | grep -v 'PASS$$' | grep -v -- '-----' | grep -v '^$$'`; \
- FAILED=`echo $$RESULT |grep FAILED`; \
- echo " $$RESULT"; \
- if [ "$$FAILED" != "" ]; \
- then \
- echo "**** Failed ***************"; \
- RETURN=1; \
- fi; \
- echo ""; \
- done; \
- if [ "$$RETURN" -eq 1 ]; then exit 1; fi
-endif
diff --git a/Externals/polarssl/tests/compat.sh b/Externals/polarssl/tests/compat.sh
deleted file mode 100644
index d35a8138d7..0000000000
--- a/Externals/polarssl/tests/compat.sh
+++ /dev/null
@@ -1,185 +0,0 @@
-killall -q openssl ssl_server ssl_server2
-
-MODES="ssl3 tls1 tls1_1 tls1_2"
-VERIFIES="NO YES"
-OPENSSL=openssl
-
-for VERIFY in $VERIFIES;
-do
-if [ "X$VERIFY" = "XYES" ];
-then
- P_SERVER_ARGS="auth_mode=required crt_file=data_files/server1.crt key_file=data_files/server1.key ca_file=data_files/test-ca.crt"
- P_CLIENT_ARGS="crt_file=data_files/server2.crt key_file=data_files/server2.key ca_file=data_files/test-ca.crt"
- O_SERVER_ARGS="-verify 10 -CAfile data_files/test-ca.crt -cert data_files/server1.crt -key data_files/server1.key"
- O_CLIENT_ARGS="-cert data_files/server2.crt -key data_files/server2.key -CAfile data_files/test-ca.crt"
-fi
-
-for MODE in $MODES;
-do
-echo "Running for $MODE (Verify: $VERIFY)"
-echo "-----------"
-
-P_CIPHERS=" \
- TLS-DHE-RSA-WITH-AES-128-CBC-SHA \
- TLS-DHE-RSA-WITH-AES-256-CBC-SHA \
- TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA \
- TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA \
- TLS-DHE-RSA-WITH-3DES-EDE-CBC-SHA \
- TLS-RSA-WITH-AES-256-CBC-SHA \
- TLS-RSA-WITH-CAMELLIA-256-CBC-SHA \
- TLS-RSA-WITH-AES-128-CBC-SHA \
- TLS-RSA-WITH-CAMELLIA-128-CBC-SHA \
- TLS-RSA-WITH-3DES-EDE-CBC-SHA \
- TLS-RSA-WITH-RC4-128-SHA \
- TLS-RSA-WITH-RC4-128-MD5 \
- TLS-RSA-WITH-NULL-MD5 \
- TLS-RSA-WITH-NULL-SHA \
- TLS-RSA-WITH-DES-CBC-SHA \
- TLS-DHE-RSA-WITH-DES-CBC-SHA \
- "
-
-O_CIPHERS=" \
- DHE-RSA-AES128-SHA \
- DHE-RSA-AES256-SHA \
- DHE-RSA-CAMELLIA128-SHA \
- DHE-RSA-CAMELLIA256-SHA \
- EDH-RSA-DES-CBC3-SHA \
- AES256-SHA \
- CAMELLIA256-SHA \
- AES128-SHA \
- CAMELLIA128-SHA \
- DES-CBC3-SHA \
- RC4-SHA \
- RC4-MD5 \
- NULL-MD5 \
- NULL-SHA \
- DES-CBC-SHA \
- EDH-RSA-DES-CBC-SHA \
- "
-
-# Also add SHA256 ciphersuites
-#
-if [ "$MODE" = "tls1_2" ];
-then
- P_CIPHERS="$P_CIPHERS \
- TLS-RSA-WITH-NULL-SHA256 \
- TLS-RSA-WITH-AES-128-CBC-SHA256 \
- TLS-DHE-RSA-WITH-AES-128-CBC-SHA256 \
- TLS-RSA-WITH-AES-256-CBC-SHA256 \
- TLS-DHE-RSA-WITH-AES-256-CBC-SHA256 \
- "
-
- O_CIPHERS="$O_CIPHERS \
- NULL-SHA256 \
- AES128-SHA256 \
- DHE-RSA-AES128-SHA256 \
- AES256-SHA256 \
- DHE-RSA-AES256-SHA256 \
- "
-
- P_CIPHERS="$P_CIPHERS \
- TLS-RSA-WITH-AES-128-GCM-SHA256 \
- TLS-RSA-WITH-AES-256-GCM-SHA384 \
- TLS-DHE-RSA-WITH-AES-128-GCM-SHA256 \
- TLS-DHE-RSA-WITH-AES-256-GCM-SHA384 \
- "
-
- O_CIPHERS="$O_CIPHERS \
- AES128-GCM-SHA256 \
- DHE-RSA-AES128-GCM-SHA256 \
- AES256-GCM-SHA384 \
- DHE-RSA-AES256-GCM-SHA384 \
- "
-fi
-
-$OPENSSL s_server -cert data_files/server2.crt -key data_files/server2.key -www -quiet -cipher NULL,ALL $O_SERVER_ARGS -$MODE &
-PROCESS_ID=$!
-
-sleep 1
-
-for i in $P_CIPHERS;
-do
- RESULT="$( ../programs/ssl/ssl_client2 $P_CLIENT_ARGS force_ciphersuite=$i )"
- EXIT=$?
- echo -n "OpenSSL Server - PolarSSL Client - $i : $EXIT - "
- if [ "$EXIT" = "2" ];
- then
- echo Ciphersuite not supported in client
- elif [ "$EXIT" != "0" ];
- then
- echo Failed
- echo $RESULT
- else
- echo Success
- fi
-done
-kill $PROCESS_ID
-
-../programs/ssl/ssl_server2 $P_SERVER_ARGS > /dev/null &
-PROCESS_ID=$!
-
-sleep 1
-
-for i in $O_CIPHERS;
-do
- RESULT="$( ( echo -e 'GET HTTP/1.0'; echo; sleep 1 ) | $OPENSSL s_client -$MODE -cipher $i $O_CLIENT_ARGS 2>&1 )"
- EXIT=$?
- echo -n "PolarSSL Server - OpenSSL Client - $i : $EXIT - "
-
- if [ "$EXIT" != "0" ];
- then
- SUPPORTED="$( echo $RESULT | grep 'Cipher is (NONE)' )"
- if [ "X$SUPPORTED" != "X" ]
- then
- echo "Ciphersuite not supported in server"
- else
- echo Failed
- echo ../programs/ssl/ssl_server2 $P_SERVER_ARGS
- echo $OPENSSL s_client -$MODE -cipher $i $O_CLIENT_ARGS
- echo $RESULT
- fi
- else
- echo Success
- fi
-done
-
-kill $PROCESS_ID
-
-../programs/ssl/ssl_server2 $P_SERVER_ARGS > /dev/null &
-PROCESS_ID=$!
-
-sleep 1
-
-# OpenSSL does not support RFC5246 Camellia ciphers with SHA256
-# Add for PolarSSL only test, which does support them.
-#
-if [ "$MODE" = "tls1_2" ];
-then
- P_CIPHERS="$P_CIPHERS \
- TLS-RSA-WITH-CAMELLIA-128-CBC-SHA256 \
- TLS-DHE-RSA-WITH-CAMELLIA-128-CBC-SHA256 \
- TLS-RSA-WITH-CAMELLIA-256-CBC-SHA256 \
- TLS-DHE-RSA-WITH-CAMELLIA-256-CBC-SHA256 \
- "
-fi
-
-for i in $P_CIPHERS;
-do
- RESULT="$( ../programs/ssl/ssl_client2 force_ciphersuite=$i $P_CLIENT_ARGS )"
- EXIT=$?
- echo -n "PolarSSL Server - PolarSSL Client - $i : $EXIT - "
- if [ "$EXIT" = "2" ];
- then
- echo Ciphersuite not supported in client
- elif [ "$EXIT" != "0" ];
- then
- echo Failed
- echo $RESULT
- else
- echo Success
- fi
-done
-kill $PROCESS_ID
-
-done
-done
diff --git a/Externals/polarssl/tests/data_files/cert_example_multi.crt b/Externals/polarssl/tests/data_files/cert_example_multi.crt
deleted file mode 100644
index c1e19987a0..0000000000
--- a/Externals/polarssl/tests/data_files/cert_example_multi.crt
+++ /dev/null
@@ -1,80 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 17 (0x11)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: May 10 13:23:41 2012 GMT
- Not After : May 11 13:23:41 2022 GMT
- Subject: C=NL, O=PolarSSL, CN=www.example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
- Modulus:
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- X509v3 Subject Alternative Name:
- DNS:example.com, DNS:example.net, DNS:*.example.org
- Signature Algorithm: sha1WithRSAEncryption
- 4f:09:cb:7a:d5:ee:f5:ef:62:0d:dc:7b:a2:85:d6:8c:ca:95:
- b4:6b:da:11:5b:92:00:75:13:b9:ca:0b:ce:ea:fb:c3:1f:e2:
- 3f:7f:21:74:79:e2:e6:bc:da:06:e5:2f:6f:f6:55:c6:73:39:
- cf:48:bc:0d:2f:0c:d2:7a:06:c3:4a:4c:d9:48:5d:a0:d0:73:
- 89:e4:d4:85:1d:96:9a:0e:57:99:c6:6f:1d:21:27:1f:8d:05:
- 29:e8:40:ae:82:39:68:c3:97:07:cf:3c:93:4c:1a:df:2f:a6:
- a4:55:48:7f:7c:8c:1a:c9:22:da:24:cd:92:39:c6:8a:ec:b0:
- 8d:f5:69:82:67:cb:04:ee:de:53:41:96:c1:27:dc:2f:fe:33:
- fa:d3:0e:b8:d4:32:a9:84:28:53:a5:f0:d1:89:d5:a2:98:e7:
- 16:91:bb:9c:c0:41:8e:8c:58:ac:ff:e3:dd:2e:7a:ab:b0:b9:
- 71:76:ad:0f:27:33:f7:a9:29:d3:c0:76:c0:bf:06:40:7c:0e:
- d5:a4:7c:8a:e2:32:6e:16:ae:da:64:1f:b0:55:7c:db:dd:f1:
- a4:ba:44:7c:b3:99:58:d2:34:6e:00:ea:97:6c:14:3a:f2:10:
- 1e:0a:a2:49:10:76:01:f4:f2:c8:18:fd:cc:63:46:12:8b:09:
- 1b:f1:94:e6
------BEGIN CERTIFICATE-----
-MIIDcjCCAlqgAwIBAgIBETANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTIwNTEwMTMyMzQxWhcNMjIwNTExMTMyMzQxWjA6MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGDAWBgNVBAMTD3d3dy5leGFtcGxlLmNvbTCCASIwDQYJ
-KoZIhvcNAQEBBQADggEPADCCAQoCggEBALk8SsXIo46QF6SeUqpxdSZhgOfHtW2M
-/6q2QSa3vhGtXHMWDGQRSAT/1uE7BduJu7OXCdUcFN1ohzmwPXHL4nbQGtgYLYAb
-VPblRJrxy69hLt9JDZ0Jt+2x/Tz9PPokz12/fORT5yW16kQi6SbT6iCUnuZhZ7ou
-B2cLAy+iCe3wM48LzhDvZ6TGCNrB7cI/10rdFT35XhyBYEY+tbM9L6beRxy8kq7r
-3ydrFla33OzRVVelbux1JfW3e9+r0jpakZh9lxcLEwqna0qLwUcw+zr4QQTVwd+4
-Hb97AaVlouAeNremXMwwWvjNb83xGWIlygHjNX/6IPXc/WmyagB9F/cCAwEAAaOB
-gTB/MAkGA1UdEwQCMAAwHQYDVR0OBBYEFH3knGvm+XF9RtISPa1rHf3CqnhMMB8G
-A1UdIwQYMBaAFLRa5KWz3tJS9rnVppUP6z68x/3/MDIGA1UdEQQrMCmCC2V4YW1w
-bGUuY29tggtleGFtcGxlLm5ldIINKi5leGFtcGxlLm9yZzANBgkqhkiG9w0BAQUF
-AAOCAQEATwnLetXu9e9iDdx7ooXWjMqVtGvaEVuSAHUTucoLzur7wx/iP38hdHni
-5rzaBuUvb/ZVxnM5z0i8DS8M0noGw0pM2UhdoNBzieTUhR2Wmg5XmcZvHSEnH40F
-KehAroI5aMOXB888k0wa3y+mpFVIf3yMGski2iTNkjnGiuywjfVpgmfLBO7eU0GW
-wSfcL/4z+tMOuNQyqYQoU6Xw0YnVopjnFpG7nMBBjoxYrP/j3S56q7C5cXatDycz
-96kp08B2wL8GQHwO1aR8iuIybhau2mQfsFV8293xpLpEfLOZWNI0bgDql2wUOvIQ
-HgqiSRB2AfTyyBj9zGNGEosJG/GU5g==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/tests/data_files/cert_example_multi_nocn.crt b/Externals/polarssl/tests/data_files/cert_example_multi_nocn.crt
deleted file mode 100644
index 12ea6616c4..0000000000
--- a/Externals/polarssl/tests/data_files/cert_example_multi_nocn.crt
+++ /dev/null
@@ -1,33 +0,0 @@
------BEGIN CERTIFICATE-----
-MIIFiTCCA3GgAwIBAgIDC0EHMA0GCSqGSIb3DQEBBQUAMHkxEDAOBgNVBAoTB1Jv
-b3QgQ0ExHjAcBgNVBAsTFWh0dHA6Ly93d3cuY2FjZXJ0Lm9yZzEiMCAGA1UEAxMZ
-Q0EgQ2VydCBTaWduaW5nIEF1dGhvcml0eTEhMB8GCSqGSIb3DQEJARYSc3VwcG9y
-dEBjYWNlcnQub3JnMB4XDTEyMDEyMjEzMzEzNFoXDTE0MDEyMTEzMzEzNFowADCC
-ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKdnVW27pPxX6JD8XER1w2P/
-8E8g44KtOtgIFIMnaoUAwNOePDvo8HfGo06AVCRntCPfGHJu5t5EmuudQjvC7gcL
-Of1/LIFXFhe59f8yH5peGV8rPKyyNNV3YCIAn1WmuaP9a/Yk7YEvYOBntFVTIFvN
-s0x7jmyCz7A51WApun91Z6Qz2muiUDb9mmfX/INR63p1TDG9PeGzUIaZFFZt8BYH
-NTyu95cxpUOTBCFi4pOj/WBuF2MPUv7RRYOHfBOnAS3h7+8eOX/oNu9YUhneVbuE
-Zqs47lbITTi6tmpYnZQ8gQdJQrfDLI/taw6oIRXhH1U/P1NYlGcz8/BbC33FOA0C
-AwEAAaOCAZEwggGNMAwGA1UdEwEB/wQCMAAwNAYDVR0lBC0wKwYIKwYBBQUHAwIG
-CCsGAQUFBwMBBglghkgBhvhCBAEGCisGAQQBgjcKAwMwCwYDVR0PBAQDAgWgMDMG
-CCsGAQUFBwEBBCcwJTAjBggrBgEFBQcwAYYXaHR0cDovL29jc3AuY2FjZXJ0Lm9y
-Zy8wggEDBgNVHREEgfswgfiCHHd3dy5zaG90b2thbi1icmF1bnNjaHdlaWcuZGWg
-KgYIKwYBBQUHCAWgHgwcd3d3LnNob3Rva2FuLWJyYXVuc2Nod2VpZy5kZYIUd3d3
-Lm1hc3NpbW8tYWJhdGUuZXWgIgYIKwYBBQUHCAWgFgwUd3d3Lm1hc3NpbW8tYWJh
-dGUuZXWCFHd3dy5tYXNzaW1vLWFiYXRlLmRloCIGCCsGAQUFBwgFoBYMFHd3dy5t
-YXNzaW1vLWFiYXRlLmRlghR3d3cubWFzc2ltby1hYmF0ZS5pdKAiBggrBgEFBQcI
-BaAWDBR3d3cubWFzc2ltby1hYmF0ZS5pdDANBgkqhkiG9w0BAQUFAAOCAgEAT8uP
-gDouHoXj4iMF0iqJTGp27zyaBajKZ3Lkxjks/YsH/vJfqLTFtVqr5EWTQHbOelZf
-Ijpagiv2Qz/wfKSK9Bi9oEiB1WiTxtfI5nX5bWtWcLk44OaxMFpEQUflgvbqQqLV
-+YCUgXf2fKDtGmXF6edE6luEN0UGC29lYW5DF7KHRkM3Eu/7KZG9PfJO5evhb7Os
-LMsEWl3ESJjFDzgkfrWFqKOXO2sRfzRaagPgeZMVxFMDgtvarRU0aumOTftcX1yD
-ayc5a71i03cbo7p1UhfcivQ30d3wfhVOdmsr99agPLolqKQaxGs5INf7T9v98Obf
-1Ax8jrT5VcH/74MCReBbE6wwr8CiSrHVyzFLK828jeStw9vNqlUh/Ny6pf4au2C3
-vmFTlEd0riCvvRQYRa/qQSwLD36rfFd8grdvD4Brw0gJkRjmkEy37bM35op0mZFu
-6eaWURasEUgG6IFBtAGRvZFxSHCbM6o6KMNbTsaCYMfHszCJwzSSCYo1n1qqgE2r
-JITT2l/XA/KBwKnH+XpKPe4ffpfkCFUdm2phxe41HBLcbLdPjvvrDfU1IcdSAVVR
-4swr+Kd3S044WL660s1h4xpFkWc0KG9ghe4vOUlmwqV7mO8EhLyu4ustyep2Jv2e
-91oCC+CDllr3qfAUQOUcqlSPWogMZ9tTDx58ids=
------END CERTIFICATE-----
-
diff --git a/Externals/polarssl/tests/data_files/cert_example_wildcard.crt b/Externals/polarssl/tests/data_files/cert_example_wildcard.crt
deleted file mode 100644
index 4895e8a037..0000000000
--- a/Externals/polarssl/tests/data_files/cert_example_wildcard.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 12 (0xc)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 7 16:06:36 2012 GMT
- Not After : Feb 7 16:06:36 2022 GMT
- Subject: C=NL, O=PolarSSL, CN=*.example.com
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- Public-Key: (2048 bit)
- Modulus:
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 91:b3:84:5c:5d:60:f2:a5:0a:4a:dc:d6:c6:75:da:34:52:72:
- 6c:0e:60:4f:ef:0e:55:f3:4b:bf:d0:40:e7:91:2c:a7:94:8f:
- 3d:db:0a:ec:b2:f5:83:a7:a1:33:61:96:37:57:14:80:5b:e7:
- bc:e1:d3:2c:36:32:6f:ef:7a:00:99:33:15:fc:38:20:df:74:
- 7d:3d:0f:81:d0:b4:fd:b6:46:f1:c5:b8:bc:de:74:a2:41:a7:
- c8:51:da:20:12:82:3e:0c:8c:48:da:19:b6:52:e9:4f:67:c1:
- 28:9e:20:b6:ce:be:89:bd:64:d7:05:3e:87:af:ba:2b:5d:aa:
- fe:62:66:fb:a6:75:ad:89:a1:18:e8:78:54:ea:df:0a:85:e9:
- 32:32:a8:1a:cd:35:81:f8:a8:da:d1:16:8a:63:e7:67:da:6e:
- e1:3b:1c:31:20:99:ee:e2:b2:fb:82:c5:21:e2:63:4c:61:15:
- 4d:53:ad:dd:15:7f:0b:b6:33:43:ad:27:8a:b1:af:93:17:72:
- c4:be:31:26:93:3c:7d:fc:d5:3d:cf:0b:be:c5:7b:e9:b4:f8:
- f3:30:f2:f5:a2:27:eb:9a:71:fc:7f:79:5e:88:c5:a6:2d:33:
- 57:ba:38:06:e6:ad:0b:96:97:9d:cc:94:7b:83:09:17:a6:ee:
- ce:bb:0f:36
------BEGIN CERTIFICATE-----
-MIIDOzCCAiOgAwIBAgIBDDANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTIwMjA3MTYwNjM2WhcNMjIwMjA3MTYwNjM2WjA4MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxFjAUBgNVBAMUDSouZXhhbXBsZS5jb20wggEiMA0GCSqG
-SIb3DQEBAQUAA4IBDwAwggEKAoIBAQC5PErFyKOOkBeknlKqcXUmYYDnx7VtjP+q
-tkEmt74RrVxzFgxkEUgE/9bhOwXbibuzlwnVHBTdaIc5sD1xy+J20BrYGC2AG1T2
-5USa8cuvYS7fSQ2dCbftsf08/Tz6JM9dv3zkU+cltepEIukm0+oglJ7mYWe6Lgdn
-CwMvognt8DOPC84Q72ekxgjawe3CP9dK3RU9+V4cgWBGPrWzPS+m3kccvJKu698n
-axZWt9zs0VVXpW7sdSX1t3vfq9I6WpGYfZcXCxMKp2tKi8FHMPs6+EEE1cHfuB2/
-ewGlZaLgHja3plzMMFr4zW/N8RliJcoB4zV/+iD13P1psmoAfRf3AgMBAAGjTTBL
-MAkGA1UdEwQCMAAwHQYDVR0OBBYEFH3knGvm+XF9RtISPa1rHf3CqnhMMB8GA1Ud
-IwQYMBaAFLRa5KWz3tJS9rnVppUP6z68x/3/MA0GCSqGSIb3DQEBBQUAA4IBAQCR
-s4RcXWDypQpK3NbGddo0UnJsDmBP7w5V80u/0EDnkSynlI892wrssvWDp6EzYZY3
-VxSAW+e84dMsNjJv73oAmTMV/Dgg33R9PQ+B0LT9tkbxxbi83nSiQafIUdogEoI+
-DIxI2hm2UulPZ8EoniC2zr6JvWTXBT6Hr7orXar+Ymb7pnWtiaEY6HhU6t8Kheky
-MqgazTWB+Kja0RaKY+dn2m7hOxwxIJnu4rL7gsUh4mNMYRVNU63dFX8LtjNDrSeK
-sa+TF3LEvjEmkzx9/NU9zwu+xXvptPjzMPL1oifrmnH8f3leiMWmLTNXujgG5q0L
-lpedzJR7gwkXpu7Ouw82
------END CERTIFICATE-----
diff --git a/Externals/polarssl/tests/data_files/cert_md2.crt b/Externals/polarssl/tests/data_files/cert_md2.crt
deleted file mode 100644
index bfea77b6f3..0000000000
--- a/Externals/polarssl/tests/data_files/cert_md2.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 9 (0x9)
- Signature Algorithm: md2WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Jul 12 10:56:59 2009 GMT
- Not After : Jul 12 10:56:59 2011 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert MD2
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:dc:13:74:81:c6:12:f6:67:5d:a1:66:72:ed:dc:
- 79:b6:58:5c:32:58:b3:d4:14:fd:6c:02:61:9e:0b:
- 99:46:63:a3:0a:41:d4:42:33:21:e6:ed:43:07:5a:
- 1d:a2:3b:64:29:a8:2a:c1:66:28:00:59:d8:0c:49:
- 2d:30:b7:3d:8c:bb:60:62:31:83:27:7f:4b:95:92:
- 2e:a0:d6:c6:84:94:4b:b3:e4:a6:cc:ff:32:3a:c5:
- ec:4c:c9:24:58:bf:b3:33:77:6a:b5:17:8b:02:10:
- 29:8e:95:aa:91:60:17:43:42:87:a8:7c:da:09:83:
- 98:9d:7a:65:5e:20:52:07:2e:65:a5:31:fd:d9:74:
- 1e:00:c9:ae:9d:81:56:8b:08:0a:f5:1e:9c:dc:a2:
- 5e:6c:db:ff:11:83:15:f4:d1:24:57:9b:0f:eb:35:
- c9:f1:aa:46:4e:74:7f:fe:1d:b0:91:1f:89:4a:84:
- cb:df:75:e3:cd:77:82:62:09:e5:9f:6d:29:de:2e:
- 25:d8:48:b6:20:be:51:97:4c:2d:20:65:2d:2a:50:
- 9e:24:5d:72:95:e0:a2:06:41:8c:61:e4:50:57:74:
- 96:b1:29:b5:a1:88:37:f1:5c:9e:b2:9e:8e:83:8d:
- 72:3b:b5:5c:fe:bb:12:89:72:5c:a1:f9:d8:18:29:
- b2:27
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- B7:51:D4:E5:20:D5:45:54:F4:C5:51:1B:E0:82:B5:61:05:AF:9B:B6
- X509v3 Authority Key Identifier:
- keyid:CF:22:31:27:91:D8:C2:54:FF:1E:DA:D9:EE:8A:C5:89:32:AD:0C:21
-
- Signature Algorithm: md2WithRSAEncryption
- 28:5a:dd:48:fb:ec:80:fe:de:b7:20:c0:4c:05:a9:4b:51:e9:
- a7:d1:4b:5e:76:42:d2:5d:9a:14:19:3b:cb:f9:91:d7:0f:11:
- c9:cd:dd:00:8b:2c:76:73:22:a0:19:49:81:63:40:30:48:27:
- 62:90:ca:b8:dc:33:35:b3:4b:58:ca:dc:07:66:87:2e:ea:44:
- 2a:6a:13:67:7a:32:5e:48:1d:88:88:c5:70:e6:e7:ec:1b:2f:
- a7:f4:61:71:29:f6:66:93:30:60:7e:b3:4c:01:c8:2c:53:ce:
- 00:11:ec:bf:f6:f2:ce:51:97:d8:ed:ed:dc:c9:6b:b8:19:15:
- c8:9a:61:6d:12:9a:99:25:d8:03:1d:a6:4c:20:a5:f8:46:a3:
- 05:32:bb:1a:8e:1a:65:0d:f3:13:35:1d:6f:73:28:31:12:d7:
- c4:9e:73:a0:a7:ce:82:25:d1:40:e8:1b:77:60:f3:3e:81:7f:
- 19:ee:cf:97:4d:c8:c3:35:9b:72:98:3b:c3:35:43:14:0a:04:
- 21:7b:f7:db:e6:5f:ce:21:d1:ce:bf:b7:ef:c1:63:21:c2:78:
- e1:37:aa:b1:e0:31:b3:b6:63:4c:fd:66:c8:e6:cf:f8:d9:97:
- 2f:cf:92:81:3f:d4:bf:ec:e2:ad:6e:39:c7:a6:a8:e0:32:b0:
- 2e:0d:e1:30
------BEGIN CERTIFICATE-----
-MIIDPzCCAiegAwIBAgIBCTANBgkqhkiG9w0BAQIFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MDkwNzEyMTA1NjU5WhcNMTEwNzEyMTA1NjU5WjA8MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIENlcnQgTUQyMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3BN0gcYS9mddoWZy7dx5tlhcMliz
-1BT9bAJhnguZRmOjCkHUQjMh5u1DB1odojtkKagqwWYoAFnYDEktMLc9jLtgYjGD
-J39LlZIuoNbGhJRLs+SmzP8yOsXsTMkkWL+zM3dqtReLAhApjpWqkWAXQ0KHqHza
-CYOYnXplXiBSBy5lpTH92XQeAMmunYFWiwgK9R6c3KJebNv/EYMV9NEkV5sP6zXJ
-8apGTnR//h2wkR+JSoTL33XjzXeCYgnln20p3i4l2Ei2IL5Rl0wtIGUtKlCeJF1y
-leCiBkGMYeRQV3SWsSm1oYg38Vyesp6Og41yO7Vc/rsSiXJcofnYGCmyJwIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBS3UdTlINVFVPTFURvggrVhBa+btjAf
-BgNVHSMEGDAWgBTPIjEnkdjCVP8e2tnuisWJMq0MITANBgkqhkiG9w0BAQIFAAOC
-AQEAKFrdSPvsgP7etyDATAWpS1Hpp9FLXnZC0l2aFBk7y/mR1w8Ryc3dAIssdnMi
-oBlJgWNAMEgnYpDKuNwzNbNLWMrcB2aHLupEKmoTZ3oyXkgdiIjFcObn7Bsvp/Rh
-cSn2ZpMwYH6zTAHILFPOABHsv/byzlGX2O3t3MlruBkVyJphbRKamSXYAx2mTCCl
-+EajBTK7Go4aZQ3zEzUdb3MoMRLXxJ5zoKfOgiXRQOgbd2DzPoF/Ge7Pl03IwzWb
-cpg7wzVDFAoEIXv32+ZfziHRzr+378FjIcJ44TeqseAxs7ZjTP1myObP+NmXL8+S
-gT/Uv+zirW45x6ao4DKwLg3hMA==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/tests/data_files/cert_md4.crt b/Externals/polarssl/tests/data_files/cert_md4.crt
deleted file mode 100644
index 16f166b815..0000000000
--- a/Externals/polarssl/tests/data_files/cert_md4.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 5 (0x5)
- Signature Algorithm: md4WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert MD4
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: md4WithRSAEncryption
- 94:db:e1:86:71:2d:43:d6:51:61:a7:95:bc:e8:73:da:ff:e4:
- fd:41:0f:5c:de:14:f4:c4:ba:5d:2c:30:2c:a6:dc:2d:e8:87:
- 45:f1:c5:fe:d1:4a:64:99:19:09:2f:72:7c:3f:8d:c8:31:22:
- dd:0a:69:03:3d:12:8c:4d:c3:f7:a3:c5:d1:5d:c9:ff:4b:83:
- 6b:d6:b4:e5:d8:ce:94:5e:ec:bf:68:c5:b2:63:8e:5c:cb:f3:
- 8d:62:73:82:62:7e:df:db:7d:0b:8d:21:10:db:9a:a1:62:4d:
- 46:42:d1:bb:38:32:ef:c1:fc:a1:e2:7f:60:08:37:32:20:2c:
- 7c:a2:c9:12:0d:89:fe:2b:15:08:91:79:e2:a9:79:a4:da:cd:
- 81:43:01:e2:09:2d:1a:f4:16:ef:af:4d:50:46:5e:2d:dd:48:
- 27:10:c0:42:b7:a5:9e:c2:1f:6e:50:36:03:ed:95:77:9a:a3:
- d9:4c:d7:23:93:b1:24:2a:63:27:28:7a:de:3d:59:d2:92:c8:
- 8f:f6:39:1d:65:ab:09:78:05:46:90:a9:f6:10:b1:ef:c8:8c:
- 4d:7d:8d:f2:78:b7:88:15:09:7e:df:e9:87:a8:64:c1:95:53:
- fb:da:05:b7:62:bc:ad:fb:d9:a4:a9:06:6c:6b:98:01:b9:39:
- 78:d3:4e:87
------BEGIN CERTIFICATE-----
-MIIDPzCCAiegAwIBAgIBBTANBgkqhkiG9w0BAQMFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA8MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIENlcnQgTUQ0MIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA58e1
-bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa2Bgt
-gBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe5mFn
-ui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5HHLyS
-ruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhBBNXB
-37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4TDAf
-BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQMFAAOC
-AQEAlNvhhnEtQ9ZRYaeVvOhz2v/k/UEPXN4U9MS6XSwwLKbcLeiHRfHF/tFKZJkZ
-CS9yfD+NyDEi3QppAz0SjE3D96PF0V3J/0uDa9a05djOlF7sv2jFsmOOXMvzjWJz
-gmJ+39t9C40hENuaoWJNRkLRuzgy78H8oeJ/YAg3MiAsfKLJEg2J/isVCJF54ql5
-pNrNgUMB4gktGvQW769NUEZeLd1IJxDAQrelnsIfblA2A+2Vd5qj2UzXI5OxJCpj
-Jyh63j1Z0pLIj/Y5HWWrCXgFRpCp9hCx78iMTX2N8ni3iBUJft/ph6hkwZVT+9oF
-t2K8rfvZpKkGbGuYAbk5eNNOhw==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/tests/data_files/cert_md5.crt b/Externals/polarssl/tests/data_files/cert_md5.crt
deleted file mode 100644
index 13d43f1acb..0000000000
--- a/Externals/polarssl/tests/data_files/cert_md5.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 6 (0x6)
- Signature Algorithm: md5WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert MD5
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: md5WithRSAEncryption
- 92:13:81:0c:ff:ac:ab:98:52:6c:28:c9:c6:3e:80:c6:ec:77:
- d0:13:e1:a2:29:1d:2f:b7:c5:95:41:83:60:d9:50:9c:d0:d6:
- 09:f7:0f:97:cd:c0:e6:b2:68:fa:31:c9:2a:a3:d3:1e:53:ae:
- 79:dc:35:ba:b0:d9:e5:7a:37:1b:2a:92:fa:d2:59:90:43:1b:
- 6a:91:c1:db:36:da:e9:39:d3:f5:ac:e3:46:01:ca:55:04:17:
- 1a:b1:97:28:e8:ff:1b:e7:e1:10:c9:b5:31:d8:ce:a6:89:6a:
- 4a:df:78:7b:02:2f:83:b3:41:d5:ef:0b:b6:44:ff:32:a6:cf:
- 1b:c2:f4:b0:75:66:a9:da:6f:7c:a5:e3:c6:c1:3a:2f:bf:f8:
- 12:6f:04:2c:37:f2:4e:fc:b9:09:ff:a4:5b:40:19:e9:58:91:
- 64:82:d6:ad:b9:7f:c0:12:c2:ce:b7:b6:ba:fb:10:a2:3f:74:
- 97:10:39:d4:dc:4a:e5:5c:f7:e5:3a:d9:68:d7:17:6b:f5:51:
- 08:b4:a2:30:0d:cc:36:10:6d:4e:1d:22:cc:48:d1:38:44:ba:
- cc:2b:47:99:f7:c6:8b:41:24:f3:f1:2c:10:1a:f2:88:bb:b2:
- e0:fd:44:26:3d:ad:ea:af:1d:d0:00:56:41:4e:f4:b0:3b:9d:
- 32:6f:48:c7
------BEGIN CERTIFICATE-----
-MIIDPzCCAiegAwIBAgIBBjANBgkqhkiG9w0BAQQFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA8MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIENlcnQgTUQ1MIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA58e1
-bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa2Bgt
-gBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe5mFn
-ui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5HHLyS
-ruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhBBNXB
-37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4TDAf
-BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQQFAAOC
-AQEAkhOBDP+sq5hSbCjJxj6Axux30BPhoikdL7fFlUGDYNlQnNDWCfcPl83A5rJo
-+jHJKqPTHlOuedw1urDZ5Xo3GyqS+tJZkEMbapHB2zba6TnT9azjRgHKVQQXGrGX
-KOj/G+fhEMm1MdjOpolqSt94ewIvg7NB1e8LtkT/MqbPG8L0sHVmqdpvfKXjxsE6
-L7/4Em8ELDfyTvy5Cf+kW0AZ6ViRZILWrbl/wBLCzre2uvsQoj90lxA51NxK5Vz3
-5TrZaNcXa/VRCLSiMA3MNhBtTh0izEjROES6zCtHmffGi0Ek8/EsEBryiLuy4P1E
-Jj2t6q8d0ABWQU70sDudMm9Ixw==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/tests/data_files/cert_sha1.crt b/Externals/polarssl/tests/data_files/cert_sha1.crt
deleted file mode 100644
index 718b2f27e9..0000000000
--- a/Externals/polarssl/tests/data_files/cert_sha1.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 7 (0x7)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA1
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 93:26:40:68:3d:e7:62:ea:d1:6a:78:2b:c2:07:f3:0d:3b:f6:
- 69:18:cd:08:5e:31:e7:48:60:08:2a:46:b6:de:d1:35:0a:ec:
- 31:36:83:7d:eb:7c:d8:63:09:c3:e4:c5:10:ca:7c:7b:2f:20:
- 4d:d2:0e:5f:ee:09:e3:84:4f:28:cc:08:74:9a:11:23:5f:de:
- 0e:3a:0f:8b:2d:64:91:05:f6:d5:c7:30:c8:20:ee:6c:c4:62:
- 7c:8d:a8:4d:2e:70:8c:ac:b5:5d:de:9b:10:5c:98:fd:a1:78:
- 9b:9c:f0:73:33:de:2f:8c:59:fa:dc:af:4c:df:97:e3:9d:00:
- 37:9a:fa:d3:67:77:b9:2f:b9:4a:23:ad:f9:b4:a1:b7:ac:c5:
- a8:0f:62:8c:e6:7e:b4:94:2a:db:f2:fc:52:92:a4:9e:4e:51:
- 4f:9d:c0:ce:ae:3d:17:1c:94:6c:5f:e8:16:b5:ce:2e:e2:5a:
- cf:6a:db:dd:b0:d4:be:62:a5:46:92:30:7c:7c:fc:05:f8:78:
- 30:93:30:28:ab:69:a1:72:31:dc:3b:97:63:3a:5b:b3:e1:34:
- 86:80:4a:28:f5:dc:d5:84:8c:13:a4:6c:d2:c1:2d:a6:25:d7:
- 6f:c9:93:78:a5:16:ba:d9:17:6e:3e:ca:96:f2:9e:5c:e3:ae:
- 12:2e:a5:11
------BEGIN CERTIFICATE-----
-MIIDQDCCAiigAwIBAgIBBzANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA9MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGzAZBgNVBAMTElBvbGFyU1NMIENlcnQgU0hBMTCCASIw
-DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALk8SsXIo46QF6SeUqpxdSZhgOfH
-tW2M/6q2QSa3vhGtXHMWDGQRSAT/1uE7BduJu7OXCdUcFN1ohzmwPXHL4nbQGtgY
-LYAbVPblRJrxy69hLt9JDZ0Jt+2x/Tz9PPokz12/fORT5yW16kQi6SbT6iCUnuZh
-Z7ouB2cLAy+iCe3wM48LzhDvZ6TGCNrB7cI/10rdFT35XhyBYEY+tbM9L6beRxy8
-kq7r3ydrFla33OzRVVelbux1JfW3e9+r0jpakZh9lxcLEwqna0qLwUcw+zr4QQTV
-wd+4Hb97AaVlouAeNremXMwwWvjNb83xGWIlygHjNX/6IPXc/WmyagB9F/cCAwEA
-AaNNMEswCQYDVR0TBAIwADAdBgNVHQ4EFgQUfeSca+b5cX1G0hI9rWsd/cKqeEww
-HwYDVR0jBBgwFoAUtFrkpbPe0lL2udWmlQ/rPrzH/f8wDQYJKoZIhvcNAQEFBQAD
-ggEBAJMmQGg952Lq0Wp4K8IH8w079mkYzQheMedIYAgqRrbe0TUK7DE2g33rfNhj
-CcPkxRDKfHsvIE3SDl/uCeOETyjMCHSaESNf3g46D4stZJEF9tXHMMgg7mzEYnyN
-qE0ucIystV3emxBcmP2heJuc8HMz3i+MWfrcr0zfl+OdADea+tNnd7kvuUojrfm0
-obesxagPYozmfrSUKtvy/FKSpJ5OUU+dwM6uPRcclGxf6Ba1zi7iWs9q292w1L5i
-pUaSMHx8/AX4eDCTMCiraaFyMdw7l2M6W7PhNIaASij13NWEjBOkbNLBLaYl12/J
-k3ilFrrZF24+ypbynlzjrhIupRE=
------END CERTIFICATE-----
diff --git a/Externals/polarssl/tests/data_files/cert_sha224.crt b/Externals/polarssl/tests/data_files/cert_sha224.crt
deleted file mode 100644
index 7283c28c0b..0000000000
--- a/Externals/polarssl/tests/data_files/cert_sha224.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 8 (0x8)
- Signature Algorithm: sha224WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA224
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha224WithRSAEncryption
- b8:9b:0a:d1:b4:d1:a4:ce:05:39:42:7a:3b:7b:5e:fd:97:57:
- 8a:36:60:42:39:d0:e6:0c:9c:7e:2f:2b:be:ef:e7:45:34:77:
- 48:7a:10:4a:fd:76:ca:42:39:25:3c:fa:19:f8:63:6c:e7:36:
- 27:9a:ec:06:ce:e4:f7:2c:2e:c6:36:c1:25:bd:ab:09:aa:e2:
- da:4e:de:ae:b5:f5:ba:9e:90:24:52:34:96:96:61:4c:26:b5:
- 57:65:b1:10:ed:13:2b:54:90:ce:d3:21:cb:8c:d3:4c:6c:e5:
- e1:78:22:16:3f:e1:be:f1:ee:5d:39:48:a1:e6:80:46:f4:46:
- f2:79:03:3e:f1:fc:51:47:d9:05:e8:85:81:1b:0b:4f:fa:85:
- 9d:ce:e7:76:5a:6f:da:98:9f:43:f1:f3:2f:2f:57:28:aa:70:
- 14:82:7f:d5:69:14:8c:f9:82:b6:2f:a6:df:b5:6b:0e:43:c9:
- 96:91:64:3d:8b:a8:17:15:9a:88:42:a4:d0:90:c0:a3:a2:e1:
- dd:f6:95:6d:3b:9d:71:a6:1e:9e:2c:1e:db:f6:5f:93:43:2c:
- ed:53:70:55:50:56:df:cd:96:6c:d5:91:0f:b1:a7:f4:b7:17:
- 9d:1f:0b:f6:0b:f8:fe:e7:7c:de:c1:20:b7:fc:69:13:ba:e2:
- 61:9b:a5:62
------BEGIN CERTIFICATE-----
-MIIDQjCCAiqgAwIBAgIBCDANBgkqhkiG9w0BAQ4FADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA/MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBMjI0MIIB
-IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA
-58e1bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa
-2BgtgBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe
-5mFnui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5H
-HLySruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhB
-BNXB37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wID
-AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4
-TDAfBgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQ4F
-AAOCAQEAuJsK0bTRpM4FOUJ6O3te/ZdXijZgQjnQ5gycfi8rvu/nRTR3SHoQSv12
-ykI5JTz6GfhjbOc2J5rsBs7k9ywuxjbBJb2rCari2k7errX1up6QJFI0lpZhTCa1
-V2WxEO0TK1SQztMhy4zTTGzl4XgiFj/hvvHuXTlIoeaARvRG8nkDPvH8UUfZBeiF
-gRsLT/qFnc7ndlpv2pifQ/HzLy9XKKpwFIJ/1WkUjPmCti+m37VrDkPJlpFkPYuo
-FxWaiEKk0JDAo6Lh3faVbTudcaYeniwe2/Zfk0Ms7VNwVVBW382WbNWRD7Gn9LcX
-nR8L9gv4/ud83sEgt/xpE7riYZulYg==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/tests/data_files/cert_sha256.crt b/Externals/polarssl/tests/data_files/cert_sha256.crt
deleted file mode 100644
index 03a7521316..0000000000
--- a/Externals/polarssl/tests/data_files/cert_sha256.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 9 (0x9)
- Signature Algorithm: sha256WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA256
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha256WithRSAEncryption
- 69:ce:f9:a9:d5:e2:32:db:fe:a9:f9:92:7a:d6:76:37:05:51:
- c9:e3:a1:03:72:b2:bc:2c:86:4b:31:16:02:10:e8:43:d4:c0:
- 33:3c:4f:ea:9d:12:6b:57:51:bc:d7:d9:42:56:cf:c7:29:e7:
- d7:52:24:49:29:ac:9c:de:8f:cc:ab:1a:a9:62:07:5a:6b:f7:
- fb:19:ab:f5:b1:2c:a4:aa:dc:5d:03:73:17:7c:ea:52:44:80:
- ca:70:d3:10:c5:2e:fd:9f:d2:0d:65:c4:f2:cc:ef:1b:18:e1:
- 0a:08:4e:67:d0:56:7f:24:54:2e:73:31:b5:4d:22:74:f8:30:
- f9:92:c4:64:c9:46:80:d4:e1:bd:d6:e7:26:ea:bb:c4:fe:6f:
- a2:c5:10:e4:64:2f:b0:44:04:2c:b3:44:39:cf:b4:de:ac:83:
- 43:5e:0b:ca:cd:fb:4e:18:e6:38:39:e7:10:3f:d6:59:17:e7:
- 42:ef:00:e3:88:c6:43:bc:21:12:bf:20:a8:64:c6:30:dc:8c:
- 6b:b8:6a:ce:6b:8a:22:3b:d8:af:0c:b4:bb:4d:be:96:dd:40:
- d9:87:3e:95:2e:1a:27:23:62:e8:6e:bd:e0:89:d0:a7:28:16:
- 95:ea:cb:89:a3:f7:7f:fb:0f:ac:ab:d6:a8:b4:cb:43:92:d9:
- cb:3e:8a:11
------BEGIN CERTIFICATE-----
-MIIDQjCCAiqgAwIBAgIBCTANBgkqhkiG9w0BAQsFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA/MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBMjU2MIIB
-IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA
-58e1bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa
-2BgtgBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe
-5mFnui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5H
-HLySruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhB
-BNXB37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wID
-AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4
-TDAfBgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQsF
-AAOCAQEAac75qdXiMtv+qfmSetZ2NwVRyeOhA3KyvCyGSzEWAhDoQ9TAMzxP6p0S
-a1dRvNfZQlbPxynn11IkSSmsnN6PzKsaqWIHWmv3+xmr9bEspKrcXQNzF3zqUkSA
-ynDTEMUu/Z/SDWXE8szvGxjhCghOZ9BWfyRULnMxtU0idPgw+ZLEZMlGgNThvdbn
-Juq7xP5vosUQ5GQvsEQELLNEOc+03qyDQ14Lys37ThjmODnnED/WWRfnQu8A44jG
-Q7whEr8gqGTGMNyMa7hqzmuKIjvYrwy0u02+lt1A2Yc+lS4aJyNi6G694InQpygW
-lerLiaP3f/sPrKvWqLTLQ5LZyz6KEQ==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/tests/data_files/cert_sha384.crt b/Externals/polarssl/tests/data_files/cert_sha384.crt
deleted file mode 100644
index 73caac90df..0000000000
--- a/Externals/polarssl/tests/data_files/cert_sha384.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 10 (0xa)
- Signature Algorithm: sha384WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA384
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha384WithRSAEncryption
- 68:e6:03:f0:ba:44:e7:cc:e1:b2:07:6c:56:c8:be:b7:ba:80:
- 61:c8:f9:66:57:e1:cb:60:7d:cd:8d:0f:66:b0:f2:61:45:fd:
- fc:c8:93:95:bb:b4:14:00:76:c7:e1:57:a6:e2:60:31:8b:fc:
- e1:0f:68:24:4c:bb:1d:c5:b6:77:ec:23:e1:5b:4f:10:6c:6a:
- e0:6d:e7:34:f8:72:14:ae:16:57:25:8b:e8:b9:71:a1:d0:78:
- ea:18:c1:51:c4:2e:26:6d:cb:80:8d:a5:b9:de:e7:37:c1:2b:
- ec:e8:98:c6:f9:1a:bf:fe:a3:de:3d:d6:59:98:45:dc:4a:a6:
- ad:0a:af:73:50:43:23:5a:9b:9a:f9:8f:ff:41:15:e5:9c:12:
- 9e:29:55:5c:79:9c:89:0c:c8:8a:82:86:b1:96:ae:7c:7d:4f:
- 0b:fd:e3:9e:8b:a5:4d:88:55:05:ad:6c:63:aa:74:0c:41:0d:
- 47:22:cc:1a:45:02:92:5e:d1:e0:b9:31:52:ff:f6:30:f0:87:
- 2c:dd:fa:fa:b9:cc:45:cb:36:33:5b:35:7f:5f:05:4f:e0:8f:
- 9a:e4:d2:fa:c9:d4:fc:62:99:ac:59:fb:fd:04:bc:5a:c0:47:
- 5e:5d:3d:df:31:8c:7f:dc:00:cb:cb:c0:f4:62:41:44:db:1d:
- ba:c0:ad:8a
------BEGIN CERTIFICATE-----
-MIIDQjCCAiqgAwIBAgIBCjANBgkqhkiG9w0BAQwFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA/MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBMzg0MIIB
-IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA
-58e1bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa
-2BgtgBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe
-5mFnui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5H
-HLySruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhB
-BNXB37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wID
-AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4
-TDAfBgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQwF
-AAOCAQEAaOYD8LpE58zhsgdsVsi+t7qAYcj5Zlfhy2B9zY0PZrDyYUX9/MiTlbu0
-FAB2x+FXpuJgMYv84Q9oJEy7HcW2d+wj4VtPEGxq4G3nNPhyFK4WVyWL6LlxodB4
-6hjBUcQuJm3LgI2lud7nN8Er7OiYxvkav/6j3j3WWZhF3EqmrQqvc1BDI1qbmvmP
-/0EV5ZwSnilVXHmciQzIioKGsZaufH1PC/3jnoulTYhVBa1sY6p0DEENRyLMGkUC
-kl7R4LkxUv/2MPCHLN36+rnMRcs2M1s1f18FT+CPmuTS+snU/GKZrFn7/QS8WsBH
-Xl093zGMf9wAy8vA9GJBRNsdusCtig==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/tests/data_files/cert_sha512.crt b/Externals/polarssl/tests/data_files/cert_sha512.crt
deleted file mode 100644
index 4bb4eed039..0000000000
--- a/Externals/polarssl/tests/data_files/cert_sha512.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 11 (0xb)
- Signature Algorithm: sha512WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:07 2011 GMT
- Not After : Feb 12 14:44:07 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Cert SHA512
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:b9:3c:4a:c5:c8:a3:8e:90:17:a4:9e:52:aa:71:
- 75:26:61:80:e7:c7:b5:6d:8c:ff:aa:b6:41:26:b7:
- be:11:ad:5c:73:16:0c:64:11:48:04:ff:d6:e1:3b:
- 05:db:89:bb:b3:97:09:d5:1c:14:dd:68:87:39:b0:
- 3d:71:cb:e2:76:d0:1a:d8:18:2d:80:1b:54:f6:e5:
- 44:9a:f1:cb:af:61:2e:df:49:0d:9d:09:b7:ed:b1:
- fd:3c:fd:3c:fa:24:cf:5d:bf:7c:e4:53:e7:25:b5:
- ea:44:22:e9:26:d3:ea:20:94:9e:e6:61:67:ba:2e:
- 07:67:0b:03:2f:a2:09:ed:f0:33:8f:0b:ce:10:ef:
- 67:a4:c6:08:da:c1:ed:c2:3f:d7:4a:dd:15:3d:f9:
- 5e:1c:81:60:46:3e:b5:b3:3d:2f:a6:de:47:1c:bc:
- 92:ae:eb:df:27:6b:16:56:b7:dc:ec:d1:55:57:a5:
- 6e:ec:75:25:f5:b7:7b:df:ab:d2:3a:5a:91:98:7d:
- 97:17:0b:13:0a:a7:6b:4a:8b:c1:47:30:fb:3a:f8:
- 41:04:d5:c1:df:b8:1d:bf:7b:01:a5:65:a2:e0:1e:
- 36:b7:a6:5c:cc:30:5a:f8:cd:6f:cd:f1:19:62:25:
- ca:01:e3:35:7f:fa:20:f5:dc:fd:69:b2:6a:00:7d:
- 17:f7
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 7D:E4:9C:6B:E6:F9:71:7D:46:D2:12:3D:AD:6B:1D:FD:C2:AA:78:4C
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha512WithRSAEncryption
- 84:68:78:72:54:00:bf:8a:45:28:35:be:18:47:d8:69:f6:67:
- de:a6:f8:a6:d0:fd:9f:79:f7:e8:02:8a:c3:83:5d:85:45:cc:
- b6:98:77:a7:18:3f:6b:d2:e4:d0:af:d5:52:d9:db:7e:4a:d3:
- 68:b0:08:64:14:de:c2:3b:1d:7b:ac:79:ad:49:5a:4c:f6:d2:
- 35:ef:a4:8c:b7:5b:d1:0b:7b:50:c6:9c:48:3e:96:3b:1b:0b:
- 0e:e8:10:3f:8c:3b:4f:6b:1d:5c:3a:27:f3:43:22:ac:37:11:
- 71:b8:07:66:b0:f8:71:c3:22:cf:f4:96:83:93:fb:42:b0:1a:
- 43:f9:4b:df:cb:5f:0f:ba:9e:80:f1:ff:08:3a:46:51:dc:d0:
- 36:bd:b1:c4:ca:fb:00:12:e7:e0:37:70:40:0e:73:19:63:c2:
- e5:da:56:77:07:68:a5:40:9e:d6:0f:ad:b5:b3:b2:f5:3f:01:
- e8:68:e7:a3:b0:d7:f3:dd:ff:b6:d7:8f:75:4e:25:ab:12:32:
- 99:45:ad:57:40:de:d7:b4:0d:d0:c3:66:89:47:f2:0c:b2:b5:
- df:52:0e:fa:63:62:65:89:07:4a:80:69:0e:4e:ba:c0:43:5d:
- 05:75:22:cf:50:f9:ac:bd:ef:8d:8c:10:08:b6:8b:62:4f:a1:
- 60:55:a3:0d
------BEGIN CERTIFICATE-----
-MIIDQjCCAiqgAwIBAgIBCzANBgkqhkiG9w0BAQ0FADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA3WhcNMjEwMjEyMTQ0NDA3WjA/MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxHTAbBgNVBAMTFFBvbGFyU1NMIENlcnQgU0hBNTEyMIIB
-IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuTxKxcijjpAXpJ5SqnF1JmGA
-58e1bYz/qrZBJre+Ea1ccxYMZBFIBP/W4TsF24m7s5cJ1RwU3WiHObA9ccvidtAa
-2BgtgBtU9uVEmvHLr2Eu30kNnQm37bH9PP08+iTPXb985FPnJbXqRCLpJtPqIJSe
-5mFnui4HZwsDL6IJ7fAzjwvOEO9npMYI2sHtwj/XSt0VPfleHIFgRj61sz0vpt5H
-HLySruvfJ2sWVrfc7NFVV6Vu7HUl9bd736vSOlqRmH2XFwsTCqdrSovBRzD7OvhB
-BNXB37gdv3sBpWWi4B42t6ZczDBa+M1vzfEZYiXKAeM1f/og9dz9abJqAH0X9wID
-AQABo00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBR95Jxr5vlxfUbSEj2tax39wqp4
-TDAfBgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQ0F
-AAOCAQEAhGh4clQAv4pFKDW+GEfYafZn3qb4ptD9n3n36AKKw4NdhUXMtph3pxg/
-a9Lk0K/VUtnbfkrTaLAIZBTewjsde6x5rUlaTPbSNe+kjLdb0Qt7UMacSD6WOxsL
-DugQP4w7T2sdXDon80MirDcRcbgHZrD4ccMiz/SWg5P7QrAaQ/lL38tfD7qegPH/
-CDpGUdzQNr2xxMr7ABLn4DdwQA5zGWPC5dpWdwdopUCe1g+ttbOy9T8B6Gjno7DX
-893/ttePdU4lqxIymUWtV0De17QN0MNmiUfyDLK131IO+mNiZYkHSoBpDk66wENd
-BXUiz1D5rL3vjYwQCLaLYk+hYFWjDQ==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/tests/data_files/crl.pem b/Externals/polarssl/tests/data_files/crl.pem
deleted file mode 100644
index 2bd10968e7..0000000000
--- a/Externals/polarssl/tests/data_files/crl.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIyMDEwMjI1
-OVoXDTE5MTEyNTEwMjI1OVowKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQEFBQADggEBAJYuWdKPdblMVWCnxpMnchuL
-dqWzK2BA0RelCaGjpxuwX3NmLDm+5hKja/DJxaRqTOf4RSC3kcX8CdIldsLO96dz
-//wAQdFPDhy6AFT5vKTO8ItPHDb7qFOqFqpeJi5XN1yoZGTB1ei0mgD3xBaKbp6U
-yCOZJSIFomt7piT4GcgWVHLUmpyHDDeodNhYPrN0jf2mr+ECd9fQJYdz1qm0Xx+Q
-NbKXDiPRmPX0qVleCZSeSp1JAmU4GoCO+96qQUpjgll+6xWya3UNj61f9sh0Zzr7
-5ug2LZo5uBM/LpNR1K3TLxNCcg7uUPTn9r143d7ivJhPl3tEJn4PXjv6mlLoOgU=
------END X509 CRL-----
diff --git a/Externals/polarssl/tests/data_files/crl_expired.pem b/Externals/polarssl/tests/data_files/crl_expired.pem
deleted file mode 100644
index cf60ae4d78..0000000000
--- a/Externals/polarssl/tests/data_files/crl_expired.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIyMDEwMjQx
-OVoXDTExMDIyMDExMjQxOVowKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQEFBQADggEBAKgP1XmCIPbfY1/UO+SVFQir
-jArZ94QnQdoan4tJ29d8DmTxJ+z9/KyWNoGeOwc9P/2GQQaZahQOBr0f6lYd67Ct
-wFVh/Q2zF8FgRcrQV7u/vJM33Q2yEsQkMGlM7rE5lC972vUKWu/NKq8bN9W/tWxZ
-SFbvTXpv024aI0IRudpOCALnIy8SFhVb2/52IN2uR6qrFizDexMEdSckgpHuJzGS
-IiANhIMn5LdQYJFjPgBzQU12tDdgzcpxtGhT10y4uQre+UbSjw+iVyml3issw59k
-OSmkWFb06LamRC215JAMok3YQO5RnxCR8EjqPcJr+7+O9a1O1++yiaitg4bUjEA=
------END X509 CRL-----
diff --git a/Externals/polarssl/tests/data_files/crl_md2.pem b/Externals/polarssl/tests/data_files/crl_md2.pem
deleted file mode 100644
index e27379564a..0000000000
--- a/Externals/polarssl/tests/data_files/crl_md2.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQIFADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTA5MDcxOTE5NTYz
-N1oXDTA5MDkxNzE5NTYzN1owKDASAgEBFw0wOTAyMDkyMTEyMzZaMBICAQMXDTA5
-MDIwOTIxMTIzNlowDQYJKoZIhvcNAQECBQADggEBAF8F5y82zgtxcwQ4aFvrkanT
-ygyd5+RW/Y//vpck44V+CYx1d1r+QkauaXel9qUKBPsg2dUwQ+jwV/m+Sp2MHaX5
-NfW7XUb7Ji4yhwgh9/9vFPqqnKBf9esLJuJoQ4mLhcGB5J1yCcavLrynvB4PJEnG
-graTbbyizelXBmk3ApvNYxczJZxt7EzpVbrFaev7myGmOffdDkIMc2WDpDkyLTlU
-kITjB7fMJhD/dgNskKZ4fgkKKKPCMJrJPO67Wzwqx/6vsrZcACB9X+143WZr4GVO
-Fw2SaMnqfVLlUEndoOpbLCU4ugcc82kQQF3TsovXJYW7XqoWl2u/ENCwShl9rl4=
------END X509 CRL-----
diff --git a/Externals/polarssl/tests/data_files/crl_md4.pem b/Externals/polarssl/tests/data_files/crl_md4.pem
deleted file mode 100644
index 1f77dab78c..0000000000
--- a/Externals/polarssl/tests/data_files/crl_md4.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQMFADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIxMjE0NDQw
-N1oXDTExMDQxMzE0NDQwN1owKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQEDBQADggEBAIJtYXy3uwIpmSGfi9muS8xv
-36FT6g3s1V/xicdPa54juJgBI6sxHKzQtbSNIbqadEWwUtvQ8k1EMRo9UGObhRV8
-i+UWm5qi0GFV7nMi4E2p2Ji/sFKtgdxkzhCfn+p3MoGgx/nC7YtwpnNdF+kuCV1M
-JTPqfm+taZkYADOafP/hRaPx3TI+HNE3ux4Cb7hNpWdfWzt48ZPMuhCMzItLd/UK
-xxjJam9XAGUTKi7+eWtma9XzmYOIElQv2KFPVMcx5nvg039rrWK6tObGL67kCfTH
-v+nIx7rAOW6UNU8aj1kfJHYjEKMBH1I9wjMSHUpkxBLQOKlPNRksiEVsIhmEVss=
------END X509 CRL-----
diff --git a/Externals/polarssl/tests/data_files/crl_md5.pem b/Externals/polarssl/tests/data_files/crl_md5.pem
deleted file mode 100644
index 1b17967ec8..0000000000
--- a/Externals/polarssl/tests/data_files/crl_md5.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQQFADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIxMjE0NDQw
-N1oXDTExMDQxMzE0NDQwN1owKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQEEBQADggEBAKKCJZ1MwL+gKAw3RV4qEmb9
-gMDdSLJ1Vdkn9FgDx2ijNnYDtvaW+I3sOXrq7O6gVN1KEamJJbufVJA5+OE2oVbC
-husEdgQm8D5TbrGcjPIPWxgYyuuRsl7XovZhXnqTIUrC+J8oH9XzKaMc+HZb5UhR
-h8bzcyp+9jbBje7lWwKTzkuvd/I7VbS02TUkWFJTrYB0Laj8WMcgcZiyX0iZuj8j
-4hOupu0lPoSzZ4h7t0Vmay6wO+8n8LJohyiwYS7LddpOjIdP0MWifN7u/ArqNNlh
-2kg8eAc1pYOU/pJFTAAbOmC/kQpa9skd+PPIPPh9T53o3yeDQA0vFqN92JryCCU=
------END X509 CRL-----
diff --git a/Externals/polarssl/tests/data_files/crl_sha1.pem b/Externals/polarssl/tests/data_files/crl_sha1.pem
deleted file mode 100644
index 049bebfcf5..0000000000
--- a/Externals/polarssl/tests/data_files/crl_sha1.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIxMjE0NDQw
-N1oXDTExMDQxMzE0NDQwN1owKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQEFBQADggEBAG64jqn7VLdvnKROsbCPR8w9
-xnox9vjuM2lGWema9sTuptw9EhArVSbibXZ1IPPyrEy1QOq3NukBqUW3KzOzYV5M
-BxZSa28FTQxtVChWkDUIMCK8BSxy07yieFf/3A8mbfcW3ZzN4akLxOweuFp6l2H7
-9oa2jeUi1BlHCZS6JYI2pHZl8qiMRiqqMleSM2k1w7TraKLNBFM8UK72brXeZjPi
-nNOzdYsQDzWo1HW7dsLWLfZKoJeyqvofVDQpC5dO56kty/do89z1OnEXfzMNeVVT
-JCeAOzuu6kdrf+9keRoWhcIoBos/XtTV57u0pgr81bLgjj5PYivevKL/kKbyvKI=
------END X509 CRL-----
diff --git a/Externals/polarssl/tests/data_files/crl_sha224.pem b/Externals/polarssl/tests/data_files/crl_sha224.pem
deleted file mode 100644
index 066f5be070..0000000000
--- a/Externals/polarssl/tests/data_files/crl_sha224.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQ4FADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIxMjE0NDQw
-N1oXDTExMDQxMzE0NDQwN1owKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQEOBQADggEBAL2sIly2OwgBu9UfEImduTG/
-RtGEO8RkXbCRJPLZaVGQh9b8rCRVHL9tIWm372FVkKyYEm3mIrl2ry16RznRt5yx
-Dd8/DKUGUlIe1KwzjDc9O7bv1FDSXHd1USmGTheKDHNtuJXYENMHdoyR2k2BVGOZ
-ie4zUcSpqyMjBlUjgNmXN6gQIcrRImumVUjMk74+rWTa0hQ0piF2qlRuE1dDqcZP
-LkE/92rbnFeRAO91XUeEj13dif2UjlArFWd62AFp0wtIn2sb7wahhUj9/rEs6Wgx
-kdiNsRMto6/ixLrPu3vxs80ZPWHey587T1ZZ9bS/wDkp9W+W0rGyRoPVmqiKtvM=
------END X509 CRL-----
diff --git a/Externals/polarssl/tests/data_files/crl_sha256.pem b/Externals/polarssl/tests/data_files/crl_sha256.pem
deleted file mode 100644
index c3ca25699f..0000000000
--- a/Externals/polarssl/tests/data_files/crl_sha256.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQsFADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIxMjE0NDQw
-N1oXDTExMDQxMzE0NDQwN1owKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQELBQADggEBAG4mBBgwfNynCYYL2CEnqore
-mgKpC32tB6WiUBu9figcvdN3nSX/1wrB8rpiE8R04C8oSFglwhotJCnlWsy42tjb
-0pk0Wuizln0PFMc/OypqRNNhwx31SHH42W4KzONiqvq3n/WkH3M1YniR1ZnMlyvi
-lJioQn6ZAoc6O6mMP1J9duKYYhiMAOV992PD1/iqXw+jYN31RwdIS8/mGzIs4ake
-EdviwhM3E4/sVbNOWCOnZFYV4m+yNAEe29HL1VKw6UXixBczct+brqXNVD3U6T0F
-5ovR6BTefZO17eT52Duke5RZGDUyQOGywxOYKI5W+FcOYdp+U5Idk399tAz2Mdw=
------END X509 CRL-----
diff --git a/Externals/polarssl/tests/data_files/crl_sha384.pem b/Externals/polarssl/tests/data_files/crl_sha384.pem
deleted file mode 100644
index b3baa2a950..0000000000
--- a/Externals/polarssl/tests/data_files/crl_sha384.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQwFADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIxMjE0NDQw
-N1oXDTExMDQxMzE0NDQwN1owKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQEMBQADggEBAC0GpmRvsrvshp1q/SXk80HA
-m28ZvEuys9zY5/AnrtYHQfsX9QRJk5li7PlnzHtVGp8I5Qi4mJVPaJ+JmhqAc/oo
-NPmxDx8m9XF9v0XHzqQZIWlPXH8QM9WLzTazbQFXhuwnZ6LPhpo+m8cbN91mUFil
-9g+SGkma+VYV+yPRNmKyldcRVvPZUIkhTCMWkZoYrbDXUmkVQpsgz2c5ksIeMI/7
-4Qj9J38I9AOt0DlQ3etFhNc0OMnR7zY8tn9B4dejoNklEZfiyDxsDZVPusZrxnWM
-WxuehOGHZf3YESjLMtR7BW26QRHIF/nhGDHsbLiunxXI6eJlbYFoZMfwc6TMqnc=
------END X509 CRL-----
diff --git a/Externals/polarssl/tests/data_files/crl_sha512.pem b/Externals/polarssl/tests/data_files/crl_sha512.pem
deleted file mode 100644
index 4d712e55de..0000000000
--- a/Externals/polarssl/tests/data_files/crl_sha512.pem
+++ /dev/null
@@ -1,11 +0,0 @@
------BEGIN X509 CRL-----
-MIIBqzCBlDANBgkqhkiG9w0BAQ0FADA7MQswCQYDVQQGEwJOTDERMA8GA1UEChMI
-UG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EXDTExMDIxMjE0NDQw
-N1oXDTExMDQxMzE0NDQwN1owKDASAgEBFw0xMTAyMTIxNDQ0MDdaMBICAQMXDTEx
-MDIxMjE0NDQwN1owDQYJKoZIhvcNAQENBQADggEBAH6GU24hd6d/5PmDusT+h2Kl
-e7scmhkZDPU+VJSnzHdEREYTPaoFqyVBuJOE95lZELEqdOauhO3lG2WEQVGcgEcv
-4jS2EzR3BYex1c1upqGtdIvIoA9TOLukdy6KeauomiWho2Kd7bSaXHy20jwdkLko
-/t3lVhTtBvKbh8XHVYwCaw1aCj3LydwNcS+zPnRgsMVHszFxmMNn5HCRW8lbYwcf
-UA98OmxIZs2hpBKRpvlfA5y6sXEx2+tSMg+MJrziGBgG6OR/m+KTaK5Yle9nrC+7
-hzKIe83hpktvfB1CY5Ak4Uke9/1FRqAjs5KCRxYSGQ7ZdS7DgAeGwT3slLbl/tY=
------END X509 CRL-----
diff --git a/Externals/polarssl/tests/data_files/format_gen.key b/Externals/polarssl/tests/data_files/format_gen.key
deleted file mode 100644
index 204723213e..0000000000
--- a/Externals/polarssl/tests/data_files/format_gen.key
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN PRIVATE KEY-----
-MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAMDRSzONESX4mSVT
-J69o3x9vQanXcPNviljcwKgkrXkFah6hQUAhW+4jQLxtGb+LU47gE321JGtGNb5L
-z1htjLULvc9SAplJ6OOcQUDhyFxI4o6FmUzorv49ytzH6x2IO7UOF44MyJIWGjG3
-4fohS8EQaQjkBYW7kwM/vCVT8Bl9AgMBAAECgYBTqj0cSEi5li41kOh2Z2XxiOAQ
-J0h+iNaaCmeaThfrnFrYoZXjktYF9cwANsLmZzlBlJ9Ae5oq5hMp2FFHCHn1z1U/
-BiE3yF2AXNslL0p8lMO4qGxmt2iYdE3Z8comfkyttUJ5k9thLQzU/NWATP8EZGng
-iTdEDFOW35cG26ccDQJBAPPoaiveAVN0JYxe2tYR8xb5qta89QGU6HDdTRiClap1
-5rfph5d30MQggqf1tBTiDRKOSk7uN39xwGbMzz11+NcCQQDKYHXWAsN3QlmFQKTX
-nm4G5xpl57P9U25wSC+NYOmFEieomD7YlbaBKBc0V5JNj2IqUt0EvXNh3LA5czd9
-3pHLAkAioVgZvF6h07bVFE6r4EaMd4xbCt8ah2LtS2570WagmjbU2/JlfhyFDDyg
-zlDwOhwzC0LfrBDzJlpz/hZamppnAkBswjIRdSK+sLWTWw47ojTXGNOi+EZOWcv8
-I48Kl45nqT4O6OK9WpfeCUGPK5DAhdHnlOiaZ4Xejc9W0Ih96GLJAkBOzJE8nUU5
-giUjLAxJoYepKlWh5tZsNDoGFg46+bHn9l1O6fX7tau0+jEz4tC6aA8R3HtUOrYv
-hJ61gH8x3U5J
------END PRIVATE KEY-----
diff --git a/Externals/polarssl/tests/data_files/format_gen.pub b/Externals/polarssl/tests/data_files/format_gen.pub
deleted file mode 100644
index 81a7ab3ff1..0000000000
--- a/Externals/polarssl/tests/data_files/format_gen.pub
+++ /dev/null
@@ -1,6 +0,0 @@
------BEGIN PUBLIC KEY-----
-MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDA0UszjREl+JklUyevaN8fb0Gp
-13Dzb4pY3MCoJK15BWoeoUFAIVvuI0C8bRm/i1OO4BN9tSRrRjW+S89YbYy1C73P
-UgKZSejjnEFA4chcSOKOhZlM6K7+Pcrcx+sdiDu1DheODMiSFhoxt+H6IUvBEGkI
-5AWFu5MDP7wlU/AZfQIDAQAB
------END PUBLIC KEY-----
diff --git a/Externals/polarssl/tests/data_files/format_pkcs12.fmt b/Externals/polarssl/tests/data_files/format_pkcs12.fmt
deleted file mode 100644
index 296d599d63..0000000000
--- a/Externals/polarssl/tests/data_files/format_pkcs12.fmt
+++ /dev/null
Binary files differ
diff --git a/Externals/polarssl/tests/data_files/format_rsa.key b/Externals/polarssl/tests/data_files/format_rsa.key
deleted file mode 100644
index 0c8cb57c6a..0000000000
--- a/Externals/polarssl/tests/data_files/format_rsa.key
+++ /dev/null
@@ -1,15 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIICWwIBAAKBgQDA0UszjREl+JklUyevaN8fb0Gp13Dzb4pY3MCoJK15BWoeoUFA
-IVvuI0C8bRm/i1OO4BN9tSRrRjW+S89YbYy1C73PUgKZSejjnEFA4chcSOKOhZlM
-6K7+Pcrcx+sdiDu1DheODMiSFhoxt+H6IUvBEGkI5AWFu5MDP7wlU/AZfQIDAQAB
-AoGAU6o9HEhIuZYuNZDodmdl8YjgECdIfojWmgpnmk4X65xa2KGV45LWBfXMADbC
-5mc5QZSfQHuaKuYTKdhRRwh59c9VPwYhN8hdgFzbJS9KfJTDuKhsZrdomHRN2fHK
-Jn5MrbVCeZPbYS0M1PzVgEz/BGRp4Ik3RAxTlt+XBtunHA0CQQDz6Gor3gFTdCWM
-XtrWEfMW+arWvPUBlOhw3U0YgpWqdea36YeXd9DEIIKn9bQU4g0SjkpO7jd/ccBm
-zM89dfjXAkEAymB11gLDd0JZhUCk155uBucaZeez/VNucEgvjWDphRInqJg+2JW2
-gSgXNFeSTY9iKlLdBL1zYdywOXM3fd6RywJAIqFYGbxeodO21RROq+BGjHeMWwrf
-Godi7Utue9FmoJo21NvyZX4chQw8oM5Q8DocMwtC36wQ8yZac/4WWpqaZwJAbMIy
-EXUivrC1k1sOO6I01xjTovhGTlnL/COPCpeOZ6k+DujivVqX3glBjyuQwIXR55To
-mmeF3o3PVtCIfehiyQJATsyRPJ1FOYIlIywMSaGHqSpVoebWbDQ6BhYOOvmx5/Zd
-Tun1+7WrtPoxM+LQumgPEdx7VDq2L4SetYB/Md1OSQ==
------END RSA PRIVATE KEY-----
diff --git a/Externals/polarssl/tests/data_files/hash_file_1 b/Externals/polarssl/tests/data_files/hash_file_1
deleted file mode 100644
index 681fad248f..0000000000
--- a/Externals/polarssl/tests/data_files/hash_file_1
+++ /dev/null
Binary files differ
diff --git a/Externals/polarssl/tests/data_files/hash_file_2 b/Externals/polarssl/tests/data_files/hash_file_2
deleted file mode 100644
index cc44eaceaa..0000000000
--- a/Externals/polarssl/tests/data_files/hash_file_2
+++ /dev/null
@@ -1,2 +0,0 @@
-'Ïò|'D„Wך~ÛJ>UN *ÏX˜"ð­QdäÈiÄÿ!qáŽ4‰º£],0Vë¶)o›j©~öŽê¼Ü mÞGwP j$üð© ³N‰ŒÇ4 Ü”‹ÝFâ>5/4¼¡1ÔÖz|-Û h¶*háÃAÃ~
-fʼn™·›Ì0 îÒÁÑ-/àb…2“¸óȵ \ No newline at end of file
diff --git a/Externals/polarssl/tests/data_files/hash_file_3 b/Externals/polarssl/tests/data_files/hash_file_3
deleted file mode 100644
index 58bb0bad41..0000000000
--- a/Externals/polarssl/tests/data_files/hash_file_3
+++ /dev/null
Binary files differ
diff --git a/Externals/polarssl/tests/data_files/hash_file_4 b/Externals/polarssl/tests/data_files/hash_file_4
deleted file mode 100644
index e69de29bb2..0000000000
--- a/Externals/polarssl/tests/data_files/hash_file_4
+++ /dev/null
diff --git a/Externals/polarssl/tests/data_files/keyfile b/Externals/polarssl/tests/data_files/keyfile
deleted file mode 100644
index f54d47aa73..0000000000
--- a/Externals/polarssl/tests/data_files/keyfile
+++ /dev/null
@@ -1,15 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIICXgIBAAKBgQDMYfnvWtC8Id5bPKae5yXSxQTt+Zpul6AnnZWfI2TtIarvjHBF
-UtXRo96y7hoL4VWOPKGCsRqMFDkrbeUjRrx8iL914/srnyf6sh9c8Zk04xEOpK1y
-pvBz+Ks4uZObtjnnitf0NBGdjMKxveTq+VE7BWUIyQjtQ8mbDOsiLLvh7wIDAQAB
-AoGAefPIT8MPpAJNjIE/JrfkAMTgsSLrvCurO5gzDBbxhPE+7tsMrsDDpuix3HBo
-iEg3ZbzV3obQwV7b0gcr34W4t0CMuJf5b5irHRG8JcZuncmofDy6z7S5Vs75O85z
-fVzTIuVUyuHy1rM6rSBYKfsMLVyImUb4wtIXEMHPzdCL9LECQQD3ZfgGqudMWq8v
-3BlKhsQ4fsR0vxzNlMZfoRrZzcvBT339Bp1UQ8aUo8xBtHiRwuW1NaPNgYKX6XQ6
-ppuWuTiJAkEA030i493KnFPLRwWypqF/s6ZNlVye+euFN5NF/IeJcvb/GUDRYv9O
-pRozRS1jNx4ZB1K2xT7N9MwsPHD6j6K4twJBALdfHTfT9RzjGnae7SAQQ+CcFYFz
-JiY6386B2yUVJLFj+j5RaMvMcKQ7xGnvGm7vxtNJrt/j3qg6oavXUfulzgECQQDP
-CEVLhCd/+ZeZoz5MWPTGTRrOCKmoRqNW0FlG6PfpD1qSwh04KG44uflO0yu5HUGr
-JZG+bcj4x5bWZFMkoUrpAkEAyEgQzesKFqcbt1cqv3pLXJYQBBw6leFXgHk11a7k
-+AkexhrPYyq/4tXFO2TLk2hs7tpYgNDOqZCvEu7jtN3RuA==
------END RSA PRIVATE KEY-----
diff --git a/Externals/polarssl/tests/data_files/keyfile.3des b/Externals/polarssl/tests/data_files/keyfile.3des
deleted file mode 100644
index 638c19afc3..0000000000
--- a/Externals/polarssl/tests/data_files/keyfile.3des
+++ /dev/null
@@ -1,18 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-Proc-Type: 4,ENCRYPTED
-DEK-Info: DES-EDE3-CBC,BE8274D6692AF2A7
-
-9ZXjoF55A9XgJpdaWmF/ZL1sJfbnE1M42N7HHRDwpq1/K+afC9poM0/AdCUbRL7w
-uvQERievbAYpNeLdah1EftM6033e1oTxUMivdL4orDKcbb3qDpSQ0o0UbjavbT+d
-aruilW8zVP4dz3mYMvGbkgoujgzdT+4wM0T1mTTuYcRKQsHlg7QDy2QrBILNuXA4
-Hmye4GlSXVUSON8vPXT12V4oeubEIZVlnkLTRFGRVA4qz5tby9GBymkeNCBu+LCw
-JwJLTbQwMFqozHvioq/2YBaHDcySpTD4X5AwrCjifUNO9BnLWLAmt8dOWr0z+48E
-P/yWr5xZl3DrKh9r9EGb9xbTxhum3yHV7bvXLoUH+t9gowmd4Lq3Qjjf8jQXle0P
-zoCOVxwN1E1IMhleEUPV7L8mbt26b0JyvrSS5ByrXahGu9vGQyy7qqx9ZANkzgXF
-3hPMDuzQXMJiUeG92VsMEdGdA1/8V5ro+ceB5c7Zca5MjMzvx2tihda7BUjj6dSE
-cA8Vvksy/NX/nqHSt0aSgphvBmZP8dN6GMcZ+hT7p0fhCq4mSFEykQqueKXiFUfz
-0xCUVZC6WzOoEkc8k7xiLWQDlsZZ13Z4yxU1IxJp7llZXpZ8GkwS+678/Nx8h54A
-mv5ZlSFWWQrvN5JPQJka7aU2ITu1LUK6mXBu+DoSDOfQuqR4vQytkjOqHK185iHs
-JQtBGkFFdElkWgubPX/S8/xxoT8MoQY/c+dr6iwcswyUnSJXh32KLPGNBoqWCCbY
-jp/VYmeb117gNpEJKJhcNbrP7DoQrC3/D7JFXnOvTA/z6FOtUmz0rQ==
------END RSA PRIVATE KEY-----
diff --git a/Externals/polarssl/tests/data_files/keyfile.aes128 b/Externals/polarssl/tests/data_files/keyfile.aes128
deleted file mode 100644
index dd7443f847..0000000000
--- a/Externals/polarssl/tests/data_files/keyfile.aes128
+++ /dev/null
@@ -1,18 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-Proc-Type: 4,ENCRYPTED
-DEK-Info: AES-128-CBC,B5FA3F70C2AF79EB9D3DD2C40E7AE61A
-
-iyfOvvyTPPR7on4XPFxu6CoCgTqh88ROlslM+RLJhwM/qGexbgDOzeI2CPf4XfzI
-tyevKD/pqCaCMesYJh/HDQCILdW2tGbwzPajg72xkfCD6+1NHOGoDbdQN8ahGVmg
-flAYU0iXDMvqs/jnucM7nlTGp8Istn7+zd9ARyrkQy+I8nvMh3chGKWzx/XtJR+z
-Iv8p+n/o+fCHzGvtj+LWYeUc4d0OTIjnF6QPTtPOexX28z0gXRODT/indgifNXv3
-j45KO2NYOaVTaCuiWIHj7wWBokoL4bCMFcFTJbdJx5BgfLmDkTEmB/6DEXu6UOsQ
-3lPzyJhIRxn7hNq2I47TzSAFvmcXwm84txpxtSwHTcl9LgsyIiEMmHv3lPPE1G94
-F5VrCzzFHyU7nFRdUC0mqLrCHcjDn5O4SQWfH7J/7G4OArU6lA4Z2NC03IPxEmsQ
-66Fu8GdMbmtFORdlZQtOjLi3zZwN9+NwhiUrNNdVvGNJIjIcZ4FZRZysbt7++hfQ
-/JOAKhVNC8dNROJUleEYIiqx23e5lze6wqcIosziq3tb6/SQ6fH533D8+PpcZKsC
-IlWKAQzsNV+nJvt7CI1ppWc6CtV7TKn0scZm2oOC4339gdR5xzxXe9EJDsMBpcg9
-drIdBr+3UxeC6Lc/rWM7IjSQ2YULBra3toEF6UYevngXdUD2YafrpoY5rK9IH90G
-Hjbf65IaHLTS0jA7lAvJsQEBuULQQoWENOjhp8v+UfkNM2ccyOuUk3xZJNeX19YP
-1Z09UMEKbf6ucoRCc01SBl206OAsq1NZEaodszT+mDg990I/9ACVi3LEU6XB5ZVs
------END RSA PRIVATE KEY-----
diff --git a/Externals/polarssl/tests/data_files/keyfile.aes192 b/Externals/polarssl/tests/data_files/keyfile.aes192
deleted file mode 100644
index 96702d8e95..0000000000
--- a/Externals/polarssl/tests/data_files/keyfile.aes192
+++ /dev/null
@@ -1,18 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-Proc-Type: 4,ENCRYPTED
-DEK-Info: AES-192-CBC,72F869F41B989D71730B2983448251B8
-
-R6ST6H9oUyFWBavUO++azbn9ga87lgeuqNMVVScOcXjguqQZdnuZq9AzwQQETEv+
-ZbVPL9w2isuXKoavaPxYyCXbZ+l6JRfWiXi6CmnfNhx4MgYpbH9BEqGbIVxA3fvu
-zFutqi+Ru6QeERshDNke6HfFjJ91WkBjNjrXcfDmt0uRGqFSWd5DSEniyaPmxCYs
-mpRwr9XESFiBkCHL+/iSkW0EZBjwHW0//RNsZKtuqVJGW/dZhDxerOGRl0a1oWkb
-IvfED7afrXMlpHokMwtUduk2TBE1AoczZ6Dv7RZGipaBR4yb9kYgIkiqFk53lg5h
-7b3WQt6TYECI7X3Q2rDgPQtUChVud0uUQYmQ5328HRE8zhlWxHGmTQMWVBW6X+FM
-ikFLRUeYBeq0UJu20DmvklZV6iDxsULLu+Rb0b8NkT+V2feSXbrP976oCSUznvT6
-3e2EOH+KAqMy5JZhTsjM7HtkleMwYQ9v+Wnbnn1OsB9drYWUJuhQeXt6v8dkm/eD
-9m6dZzivc/h1UThIuuZPo+6S7FoluIlt5uv2UcnYYdYOgKSd1Vm0wztGaJn3CSGw
-JEbebucr+5ptOHxflV5Txgnfj63sJyVd/wy0T8sMRO2znk5uVLWxf855fNXev9M3
-gA3+MXC2eGaR9DYOxfakFRwL+Z30RlIktaqDK76BZRD4sWB6dIVw5JdCXpNMCuDH
-dxlTKcP59uPAEB2VyhDvm5CN3T+bM2K6WDZFO95hKKfEk5ea/UB7DA2ucfovdayE
-Hd46EUKC4/cdUFiSycgD01ztdda7hU7hFvOkHTK7O3G1yvEwH0+jxKNsudNfbbxc
------END RSA PRIVATE KEY-----
diff --git a/Externals/polarssl/tests/data_files/keyfile.aes256 b/Externals/polarssl/tests/data_files/keyfile.aes256
deleted file mode 100644
index 5df09cf470..0000000000
--- a/Externals/polarssl/tests/data_files/keyfile.aes256
+++ /dev/null
@@ -1,18 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-Proc-Type: 4,ENCRYPTED
-DEK-Info: AES-256-CBC,53572EEEE794948AC48CB0E077CE075A
-
-p0YobpQmzHb3NgGlojpYoH+G5f1XX9snYv2GQe2tGTBQpoHh+ivHcOt85EZu9pC1
-1KRdALEwp7Cb4RYeQncV9Bfp5rItupS1TwfgKAlp7Plmb4vDcDVw+KL3PaYn52Bd
-qq5USLxCvKcl91hZXzitttH072lEj2MzW2QpX2/1hCRPgMDu9PJlBX2S+GOaYP+9
-sTWTCc1yvHMW4XGEM4P4yfRg9EOTxU5gIYWUE2JqmEGd+9I0hK2YevAPLNKHxzpy
-klCCBYqDplcVT5zEyCmdiBHIjzodlFuocZC8ncinVnsuJvpTeMQ+zOZ5rao8xm2j
-uCnnVRh7yZktfsf5B/ZKBMGyPYRyKN4CCYhF0GzbehTvBirgDELq4LHyDdnnOTwU
-YJiqo17x6S4FVNq6AubADVAbCOMFyfr+TFshI8spOwqfGFFDs8/WWL5OnBS85Pd1
-dgoqwzJAt55GyDUbGnp6hUFl9g96nvV3sE6Xe4xVE2Cpf1BtUl9Dt3UrrDrbS0dk
-pKxl2FA2H0BVKtfNBHXvWkORi+v+XZl34rZZ37B8snYIN2aOqLuvyM4fd1EabkyG
-ymMEUHJcrc5zl/7IECaHrCahqZIsLpLhGTd0MMGrkGSvRLiY5nQ4MN5tKI0fUw0S
-5KIjOA6ZX5nvh4rYgQcgN7K6dXNA2hOj5256Vv0HVwXsVhQFmCGnuo+h8XxudRVH
-RuIUaTUtl29a/2nPTzXB6MNZe7Wol8EkzuYEgyaizKr7nO0J1umg+lj7ipX/80Ji
-3ADi0yL4F831LsdAiTY60Lu2e3WABleZsvuLMWSodb9WzJXknsnFEDLGOM+HGj8Q
------END RSA PRIVATE KEY-----
diff --git a/Externals/polarssl/tests/data_files/keyfile.des b/Externals/polarssl/tests/data_files/keyfile.des
deleted file mode 100644
index f232305592..0000000000
--- a/Externals/polarssl/tests/data_files/keyfile.des
+++ /dev/null
@@ -1,18 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-Proc-Type: 4,ENCRYPTED
-DEK-Info: DES-CBC,F87FE1C0FB9B3E77
-
-1NbOyRx5kBWeXy93eCXyidDpR3pbfgGWIIgXVCVE4/ZXgEt14A23YndZeI5OSxvG
-JWhqZ+VuiRsxeKAjo+xf4bnKLArvbshhzUKCEVsCP1d2d1xfgjsnyr8tqNiJE0F6
-7Nimjcrpw/udCk2RBVyshN9kiPBbnA+XUdOHfEnbdkqDsS5DGjq7H1kBZuHhTQa8
-Xv6ta3kbI1BGiqKDhH2H9iJlZMwpVQuJs+HqcqNEhsPm0V4kp0S3PZMbYVKpEtDO
-vh9CHprQy/nlHfq7ZAs9/2HN4/OT/5kw4JM9qQy7eo/6FX2yh39Lyz8u7PXLaVgM
-pwOiFb+zvegYts5aCXyM1nBUu9NFPDQNDytjXOhbWL0hEr1RzgK67f5QYIxWgGCK
-St4moIn7J5BifViNdp7j/RXCoCmda3Zv5PiRw83yScSlzgDdTNpm/70jp8pGSxEn
-Ib768zYEcYeeKyPar210Nh9abySPpkFFaujN4do5wujboC0VPz73M6eTeZ6iOUgR
-cX9WwkfRj6G6VQfM6xAZdOkQ2cj6M4YRze1RKLhqo0+gre76FLn8Kzf/Hjrp/0iy
-0flr/6BwLxGV49vMUCesJ9oqE/frru9Y89cOwbgcHxKJ24Oz+64OUPyeSxDMElZ8
-lXiNk3aBEuLdBOKJ8B9kyKuxNqwDoqhCsrc77Gjio+q24w+G2+KAzBEup4S9cYgp
-FiSvK8sizKINfE14f9HA60MJJzyEjTUuL7+ioL7xHGtIkdWbs/Qp7KxliH6qoIUv
-VUsT6VS1nWLDyTyMbcjMx1odRsWrLwLqIsvNIcGGwe+P4sm4LivNnQ==
------END RSA PRIVATE KEY-----
diff --git a/Externals/polarssl/tests/data_files/mpi_10 b/Externals/polarssl/tests/data_files/mpi_10
deleted file mode 100644
index eaa8caba8c..0000000000
--- a/Externals/polarssl/tests/data_files/mpi_10
+++ /dev/null
@@ -1 +0,0 @@
-643808006803554439230129854961492699151386107534013432918073439524138264842370630061369715394739134090922937332590384720397133335969549256322620979036686633213903952966175107096769180017646161851573147596390153
diff --git a/Externals/polarssl/tests/data_files/mpi_too_big b/Externals/polarssl/tests/data_files/mpi_too_big
deleted file mode 100644
index 2d98757fbb..0000000000
--- a/Externals/polarssl/tests/data_files/mpi_too_big
+++ /dev/null
@@ -1 +0,0 @@
-64380800680355443923012985496149269915138610753401343291807343952413826484237063006136971539473913409092293733259038472039713333596954925632262097903668663321390395296617510709676918001764616185157314759639015364380800680355443923012985496149269915138610753401343291807343952413826484237063006136971539473913409092293733259038472039713333596954925632262097903668663321390395296617510709676918001764616185157314759639015364380800680355443923012985496149269915138610753401343291807343952413826484237063006136971539473913409092293733259038472039713333596954925632262097903668663321390395296617510709676918001764616185157314759639015364380800680355443923012985496149269915138610753401343291807343952413826484237063006136971539473913409092293733259038472039713333596954925632262097903668663321390395296617510709676918001764616185157314759639015364380800680355443923012985496149269915138610753401343291807343952413826484237063006136971539473913409092293733259038472039713333596954925632262097903668663321390395296617510709676918001764616185157314759639015364380800680355443923012985496149269915138610753401343291807343952413826484237063006136971539473913409092293733259038472039713333596954925632262097903668663321390395296617510709676918001764616185157
diff --git a/Externals/polarssl/tests/data_files/pkcs8_pbe_sha1_2des.key b/Externals/polarssl/tests/data_files/pkcs8_pbe_sha1_2des.key
deleted file mode 100644
index 4ae7aec798..0000000000
--- a/Externals/polarssl/tests/data_files/pkcs8_pbe_sha1_2des.key
+++ /dev/null
@@ -1,29 +0,0 @@
------BEGIN ENCRYPTED PRIVATE KEY-----
-MIIE6jAcBgoqhkiG9w0BDAEEMA4ECJUO+jJnTjpKAgIIAASCBMi9QFFLgKGYOSDR
-0zyRMc87RkrvSlyRi8BibyKvTNEDq77jTr6ZEuOF1OeZ9fvdZwJeI4GkTeKkWqTw
-XDjWATXHbgTX82I3T8R2iBnv6Za9uaFDtDH5gbUYSrSNzMaoyS90hc9PTJ2+TG/Y
-xUe99kSvzbhAatVQE+0TWpgH+8oACRvGelnHWofw4/CKJXJctUO8l6LdhLht1kwd
-YXNX0xjxpY/eLGlsUaiDBdb0D9WFjdi4fcZ46IHspqTfBUhYbpDj8IQT1vjH6yjm
-cPNPstEeyfFnirvgFuHg9LXTH0cf0mJgLzgiclgRVEOel87Lei5icEFI4hDAzWna
-s3YiTijc926mD5AqQ55QXPN9v6b/uAV1QyKenoYzIWC3Y4phTTeApCyV44f9oMMD
-wzcYWMZoHzEIiZj/iiCF1uOSamIjunCmpiBXTI7OGXbxXvSSJ3aU9nJHqVT88/ke
-nj//EzWVYAjMdNYl0bOsWoIONl3eEEnLaUrOYOTVMxGac6yy/oIKR7GP0R26N4V2
-c434y0aQpn6opT+JYa83N1RwES2/NxwrHs4pcx2WShbTjg1Cw1XMHk8nQYNnM4oJ
-kXWyns/k1Bay/SXgpl2NRsoWzxCR7BavB2mRcyMz3djbOYscuT4QwpB/Wf6kr6pN
-gszegRtwLmVBehwvGJwL2SEx2CDHvJNhvoD7vbNiWeTFo1wW1wF4aE7p/Ee7gSRX
-z14OC8NSbuYV660ntNQ9LB+Z7NDT2d6JTjSnhQHxxLBwy3OnM2/vu0eCd/5+MGjN
-C4svgFsAH9qnT1VQTzmpwGBJAbD29CVvUUeBF3+up+Mr+IQU9OWWEtUZ2Fm29gs4
-j4azYJUI4+RLw75yNLVgxS5r4Cc4cKGB/P7qVqdH2CmjrEk0jxyTFT/PE3Df1cz9
-F8eEprdml2ktrlQ3gCD9fw0kXBsp5vwecpQDS3r2v980vnMxb5Cm7kMTMFb4/hMY
-z1yaDkarkSHQk3qFYtO5DkEUXhF6fwATyqOgJYwcy/9ynzItqgbsCIYMjpXF7Yww
-FNa/GQlqIbYRCd4KT64Ahus7I00vVS3b3glcC+KlDkwCJJ0M+glzHrJs3L+PiJMi
-gm+YT/5FuSqJZ/JI5QP7VMovqSLEw6y6QQHSBCOxh/CGhAL/BZ9A9afvPTRiI9OF
-fyxAaf8KH1YPI3uKIuDcms0d0gJqQoDmLafdfggd6dwuLF3iQpDORgx80oPbjfl1
-FEbU8M5DqiH+eOxgEvIL0AhMnPa4mv1brVdlxS3CyojnqxPfecXyEXrhEYJWJdsF
-aYKR5bU1bY990aN6T3EDRblmHs25Fc328xS2ZJkHNxcJDruwi4EFpQVT+fukOz00
-hOW2BEMFJLRflE+372LNIgSRVNI536YhF8r4r7O1jrw9McX3hzbJGAtcsXqyIO/k
-hxC3x5ViqgZbDYgHz/CJJfP2RC8spp2RbZ/uDJu2YI8z8s9OXvcYv0EQmBAJxdt/
-lyfkzEr/n8oRtDIkrq7lR3rjMUz7AbCfNJpqrEBFol9+qH8+jnmowL8LWBlh0v/A
-pc3qWIulXOR1pbwXyAELo8wGhnJWL4WmY252S3i0Jn8Gf2kXewMRJsixStairjWD
-1m0wWUVGSm5CO8Rfon8=
------END ENCRYPTED PRIVATE KEY-----
diff --git a/Externals/polarssl/tests/data_files/pkcs8_pbe_sha1_3des.der b/Externals/polarssl/tests/data_files/pkcs8_pbe_sha1_3des.der
deleted file mode 100644
index f2ce0290e6..0000000000
--- a/Externals/polarssl/tests/data_files/pkcs8_pbe_sha1_3des.der
+++ /dev/null
Binary files differ
diff --git a/Externals/polarssl/tests/data_files/pkcs8_pbe_sha1_3des.key b/Externals/polarssl/tests/data_files/pkcs8_pbe_sha1_3des.key
deleted file mode 100644
index f9c11ade0b..0000000000
--- a/Externals/polarssl/tests/data_files/pkcs8_pbe_sha1_3des.key
+++ /dev/null
@@ -1,29 +0,0 @@
------BEGIN ENCRYPTED PRIVATE KEY-----
-MIIE6jAcBgoqhkiG9w0BDAEDMA4ECGhNuQogiktrAgIIAASCBMhfcb+Jt0YOgGni
-IWnwmmtYT6Nvina/j3FCGzcHCDyUQDqh1rPUtZnmUdM3fyEGlUJdX9wmHh3gUkWx
-JE00QMzYDQsUbGrt8H3rCQ+aXegCicXAyBgDh0YUhO7bWmgJNSvZOduIeCJ81mnb
-xtl3CGgaYVOWspr458crtvn1Hlhq0EGs54EUHWBE89PHNxokGHqkFQcdp7QHO9Zm
-ZvjTn+kR0K5KQbeQwMf3LcboueDV71ueUZsHlTSZ5Qs7WZORRzMBoo2SWV+Mh7U/
-yAQv4i6CMauVifVqTMbLtfdTyZCts3N57sGstyqIruE1Jwg8m3i+cV/QIh9Fcgo8
-R+snSlbOZMzCpUIvcuVkEMBP8+89/BtIabXL8SoTsD6v/f/YJfcw9qpOH+AoA3JG
-UZT+0VxfIk0JUkX8QvM2qMQYY9efX+Dq+N0ODS1vsdP43pKxowOQlQUPKOsqoDch
-IXW9qDD3uV+clg5L6BqDbX1O98oegcg6L24ZK1yKVzotiTj/eaZVpzTtrNYzWB0+
-qO9FTwLqOmIRcduKKu5zctC7QlpFY3U2ikbkYpPsam/9GSXVe0LuMRLleiMPQUdU
-ZJlkZr221OGq5TVhyJ6zEwud26wExB16tLU26ZvEFwExoUPboH/UQwX8L9vd8BKp
-a32u35n5MOn+54Rfa4qfpU+uLB056CCKL8PwVLN9Xzeg+gJLfWqwEalPmSsylakO
-7+suOGaUKy1a/uszD97dKk3Abwfoyb0qvbdF131GR04NYIzkQl72CBlxuWqVUt9o
-pmwsUDAzwoJWi0sKy0dTm3KZHLJ+3OMIydod3beS9uS6Yro6NJBN5EPw3PoByBF5
-DUkOfW6tV0dlHyXOuwU+JzBd4iwJgO53GVPAap8a/eOGgNCiw72gYM4lcHnwShL0
-/v969VqntPXb7YF1hMs6ef3zTmLEB4xaXcARynnNkZnpQppxSPeHeXU+KxZCjkLE
-brzHFnUMr8UJOyra3C/iXfi/OKJcBIURc3oY29Q45GBcV0s/W3n8TVF4qEqtbv3c
-NbEmgcdzLGA28XiuyUH+pLxK3qP54jlqhd22q5qoN/gz4MKG+hJMMcO00Hj7+4Fb
-fnxxGE5far3zjHLaxfnRKIfseU9DrQVh6gTg8ibe0kdoUXrptIb51eRcukE7s/yc
-01Play8GYik4x+kcNAmQT29EslB/3RcrWH3tZExJjjDaC+Ty2atCMmlLGxt7VHOa
-C3k0QHYSE/TULBldB64S1vVFrZgzLFTlXKGm38mOGCG3t/lQQDTo3IAp0YE+atM3
-VG6ON3SSU0QRP1aEkZY8t9rf3+/J8Nl8oF4kF9ISzLNhlR/KJlNkmDvG/ic0skJK
-KYezuuYH8/eEr9ZFfBsb9mRsFCM9iBZl/XqebCCC5/kfXzL/Hpp4f0L7DH4C0f6L
-LbMCFhvsCNGh+1pdIjN9hbAkv/r2NN8+MaY2xFk0ukLfKgpLp0EfpkkcM0EZcvFn
-j1JpB7rshCLj4PzM77fLh99H4cffL2qyzXqFF2Y7iW28bW/RQFxYwpyEnowrcRH/
-11Qi525SdKWRkb9QlTJqFI6wsWe5kmYO/kDqGUpGPGK8+XTRTFjTci7NPLqN+s0w
-Z4/b5SMVucBKq9sUm6g=
------END ENCRYPTED PRIVATE KEY-----
diff --git a/Externals/polarssl/tests/data_files/pkcs8_pbe_sha1_rc4_128.key b/Externals/polarssl/tests/data_files/pkcs8_pbe_sha1_rc4_128.key
deleted file mode 100644
index d475ef4814..0000000000
--- a/Externals/polarssl/tests/data_files/pkcs8_pbe_sha1_rc4_128.key
+++ /dev/null
@@ -1,29 +0,0 @@
------BEGIN ENCRYPTED PRIVATE KEY-----
-MIIE4zAcBgoqhkiG9w0BDAEBMA4ECCLhzdwnOXIZAgIIAASCBMG8Wgfn++CFRl37
-FdQZ90pI+u37yj8v0kFd3rDaDMurEftf10gWwTbm8R8J0eK1edIAHQabkgsF83gD
-yrxKFp1zhHI1t65gPKHcirhx0t9XuClxAOzEme//iMaw/yf/IKYo9NRqyvA6BKHW
-2h3J4+JSGLSaCsRUyzhoL6xOzF+VX8zE8PI11TcqfJe7TGs/9G0Pv2XxFpfrG7pz
-nz5mkAYdckYHcu7+CQGJ09ZUkblV3MYKEEbq5xXEo4Kku/n1YNrh6BEWMLo5XgOU
-YIAkzhSfnbTt6QrxM+90b4qwk5amrC4w1jUu73ZzaBQs7fhx01pR2y3zTPBD2Dpk
-G3iLprgEFqsoGCCOqqqEiEF/xDREZEPW0es2RruQ9Tn14LbgTj5XVFI/wBcvp9uZ
-pjS5chC0/CRbGcRi47A9vx9bjgwiGCDpxx0/Kn68uFCaCeGOAQ687XxAn1UHmBD3
-esjjb7S16ld9rSKV0oXWugUZKFdoq87AHY8Njhin++biuAEfySu3iH5ajzZV9dEj
-6JHVwotuL2diVu7NU8mIsfr1kCJoUxIAbWFvoglWNmTtaIBkc5ch+kUTsz9rDtSp
-lL9fT+wzjN7Q7lyRfIhNOheg2xF9huwF6mqnSlDfvwvEJ8NsQI9+CeooI2c1Zc0a
-Bh/vDvCzov8TE+1Ma8CnrbaM/aSZ0FIq6PcpWSBLXSDXbLwabEEOLoXQXogOZsc5
-0sz71l5c8jJPlzXxFYYW8CNuxTsUP+hN2oWvbmL5YLq8P+1tw68jcdbqhTqoqrW1
-pGEXd2iMRUfCTDuCM6Bn4iIN80qUqqBAuoTC+zCVHnI7+ygmovhf/ykfVzNaDSIW
-BkDsmZoH6bq3F9HpvOWggh0yK/l1b1E4PDQ6hq7qWNyJMyjYBJEbEdd9O3GW2qev
-3ARhb0yGulxYH/h3yp2mIfxL+UTfRMcUZD2SobL+phLR/9TMUi6IaHnBAF85snAb
-rbtAKCp9myFLwG1BujaQ18fKQFgcMjbJY3gLIz+3AC72irLSdgGti2drjP2hDGKp
-RITAEydZXIwf67JMKkvyuknVWMf9ri9tMOZEvohnU3bW4g9vkv89CUtCLWF8iejM
-fKIP5hjHOcKRLvvACFbgjYCPt8iPCcQckYe+FZI5T7zYsyQQ47fygS1f7MWZblPJ
-UKAm8jxWUyySvEzIMHkoZaHtC72OS/L3iCjJ7mkKSZKeCDAzSEJeeQcOl0klVCQ8
-0P+mXq5wtGakW9MKLhmsOjUIsyN2f3gCO0nESYhWD+3EKFLSW7ZsHbDmwqSDh6bn
-blFvlQd7cpfYFtlmbxZFcv/l2ijQWPHi93G/0VIhFHxI6LegKt00bIL5iwyF3NpW
-dNzuE69hweTSKvOPqRsRnWyGv9dVLIaQPwUS+eEfsGGNzM9rbty0j5Bw6KY/uDgt
-blTfN3yZBcyEsdPwyiVLdi65zMzN8g4VVQBHFhXWPa2N4gJQVq+6q9hQkgFFU7y3
-f8MX4BrKq8ifwWxsjL2FawcAoDcHUdCZjt/HZ+9/rL3iQvKeHbDbqu4kxlrE1FJn
-0LHIB21qZIo+6r3fdNMUFkuDRBT9eEh3Wxlg8G35FYCIiOuIwB2ED/Hdnqtnemxj
-kjRXU176HQ==
------END ENCRYPTED PRIVATE KEY-----
diff --git a/Externals/polarssl/tests/data_files/pkcs8_pbes2_pbkdf2_3des.der b/Externals/polarssl/tests/data_files/pkcs8_pbes2_pbkdf2_3des.der
deleted file mode 100644
index 75c573443b..0000000000
--- a/Externals/polarssl/tests/data_files/pkcs8_pbes2_pbkdf2_3des.der
+++ /dev/null
Binary files differ
diff --git a/Externals/polarssl/tests/data_files/pkcs8_pbes2_pbkdf2_3des.key b/Externals/polarssl/tests/data_files/pkcs8_pbes2_pbkdf2_3des.key
deleted file mode 100644
index a303daac30..0000000000
--- a/Externals/polarssl/tests/data_files/pkcs8_pbes2_pbkdf2_3des.key
+++ /dev/null
@@ -1,30 +0,0 @@
------BEGIN ENCRYPTED PRIVATE KEY-----
-MIIFDjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQI4W7G1sVqHJMCAggA
-MBQGCCqGSIb3DQMHBAjXOQ/kHb9EVASCBMg68SwrdD/DLeKcPtCkE36wHvrK6wi7
-CjwFv2U/gIfNCUNXBZPI4G7voL1XOLJ8h0WWqlEraHo7zYWI5Ky98SI6wOpDGDzo
-URvavOVT3Ry/QfLtt0GZvELmJb6qO2AcL1qIDULx4xXqb3rI29xR/xVaCkB8CGSe
-JxU+1TbJJG0UdVDm28dhO8J4qgBpj9N6M/e8K1TIu8ty6IkFPFumTN9zMV9VXRIo
-Ajr1RDIiFXCZ4ayEnja2RIZwi89rn/iC/QzfsqQFr5axw58wz+0/EfD/i79gKoOX
-jKBEwWN44LsxJW/ucy3pm7xRurwZvOQZIeZcecVVecAaHmCRFfq+VpSnU5iDZEDL
-0GU+CKXW+zDnuIfUc/lx7LWjFyqR12OviS2CdrkaTKSVBAEYCFQdGPCp51WoZMnE
-uaKkLp0y58e5J0mHx4kmk2saAacdO/YolHjkh5zNe1Z+sORwPEo4ruZY/+wem/TG
-KFQsVjH/jAsyQFsyXaOrQ4QyOwxw52Vz6b7vrffaTdnKlyvJTvebEbhNiNmt2Ni+
-wac/1VcedkMpUrNmpJyal6lzWrVQmW1Q9qBinxHeGnNHk2QWTGZCQCClxDTfPoE1
-HC85cD4h91eBV4fiQm/ML/WmaGAQGUiTlX5vESJG1pKYXGqv1cr1pj+MTjqfjApl
-KOj93yAvx4ss42onWe9DPOBojSMuIzEVZOeq7mt7QeNpN9unjsDVrvq/fmsvIBb0
-t5HFVX4JlZoF2sfrwP0jEkyHxlk0pZZc5rbwtVI601MolDzjTNBcYbUB0IUlIj9f
-mM35IAFWZtrXXv3k5ZRFQU2jB7DFP9zHWsai7quhhduvt498rNxiWu7YlAQfhaU/
-wVK+3Fca7AGrlQ8YmzV0uOwoTMvKbLNwiiIG6QsgWRhmOIwHdNlRvhaZl6ybRLty
-ppMaqlOgDu88/8SMCce8yBderXW/0QxCZjQ3gEDufqxjC2IelOfEbChMLIs6p+9B
-qaPtji3TxOscQZMD9g4jYXUawHSq55B/MegD5sfvTl3ql+qsQnleXDUz2gJ+MBlH
-Qp6HZMs2woAbvFyxAXSUeKAOZrnW1TmRNmj6SwtE9aPmMwSYxZtTukesl+CpzEqi
-BdBZia3Yxu9Z5694Cg1eXoPIir6u6svZA5OIpEIUDIUPnMmG9pjxQ1xK40vyjdMZ
-+9uAVdGX118nuwZ6Al4bfrPOOmwII2X1xmfFGG3rbVHVD9dIGJ1HGWPZio4F/eai
-kfSYHr0410JRAOvd9G4vrH6rq/zE5QcLCmXyH5W9vF3RJDAK4ArcaLF5RPY8slEJ
-NcZ7XTcKUc/Tg6VCMo3agozuzrxKCX5x6rvn0COYgdU3ozTO72dJlFQY2KpJP0n2
-RWWjdl2r7XYVRoQJd5XaZ3/mgJ7FtL42Rh6+vjEJLezWgUTo3B4Z0WG8WIp4wfAw
-d4qbAa4lVWtP++HZvIqOPaL+nZgFS22ygtoIVyYDj7lcqH9cdMsaMrZFAxisVQK2
-z2DnysfLg4dkdDuJjFUI07QUPwqjfRVKC8Mec45j9zrpuzu82zQ8Fub7ldtECsby
-oq0smBG1vd+ozMPnr3yvU7X7jaaM4toW+dG3OQxnUO2GyB/BAEamOB4CWWbKSfy1
-tfM=
------END ENCRYPTED PRIVATE KEY-----
diff --git a/Externals/polarssl/tests/data_files/pkcs8_pbes2_pbkdf2_des.key b/Externals/polarssl/tests/data_files/pkcs8_pbes2_pbkdf2_des.key
deleted file mode 100644
index f3a2d0c60a..0000000000
--- a/Externals/polarssl/tests/data_files/pkcs8_pbes2_pbkdf2_des.key
+++ /dev/null
@@ -1,29 +0,0 @@
------BEGIN ENCRYPTED PRIVATE KEY-----
-MIIFCzA9BgkqhkiG9w0BBQ0wMDAbBgkqhkiG9w0BBQwwDgQIE+lx5z79hVACAggA
-MBEGBSsOAwIHBAjrWP2/SiR7cwSCBMgUgnI4/ZG3jidt8TZShsbKzxQ9bt9D1URm
-8FBTFMk8JRowaXZyM2fx1/vEUlvKHIwpytOYO42py0lDf2qdn8iIe+8V2GLpyGcL
-ifWGbDt/ctEo2jVgWT01q2PfUEirwTPTUaDR5KBjfMjGM5V5c58fnTQztAFaXFmI
-VNkiQCC6AKCbmlblEcjFGBlRGgV8sOWCW+JaR5iJNdT6PhVJzJiQrfR819fGSISj
-0N0Wqpj3VA8V9BeATZAjvofBCwRABDNsDqRhjgx7ZEVz8C6pNK7Ck6ZXEjXaWc12
-ZvkzjLuufZ5B7klvgLzfxEtvZbQJmrQddDXZP9ICykP6D8W87EqEgk8yoxeFioOm
-0/edj7AVZ3rxbxpUUHJUiYDLNXaZTksfYhL0ZsB3cEL8VofUa1K+66N/0TismNDR
-4KSIjuRausXf1WJ1oh5B18zvnl2jkzCpwISf58d7UeOny3/ZR38B71EuaXO4r21e
-BrG6fi9VewuUg1DHSYLIJErVcfNnVXHuT0EzPTjr0vdTUguzDUv4/YFcpEDk5jnQ
-xJshBegjbt5W5gY3GTVRlyWqGKyOska3e2u4Cf7tZtP0kyy38JHLkQQXgj6dxseT
-lCIipBDJX3gU7yJHMiX/OpLcJuEMakRrpWLrB0vezX9oW0weE/dFzZeiYyo2K/DI
-TIFiL6FDuLUqpcYjeB1M+wbqs0f5ndXThVYi2/j73z0dwCI1WwKZH/WOdTrjYKxi
-0oiLz7pHHaPoMRymWCKTwQhYnqiOXZIpfeOFcUY4JKDzgyKdvU7XLPnbt4yxOlJD
-yAzX0i+bJjYjuG45XHTS8too0GFG2h6VFvOYAQsiq1qOnxVqVUvYphZBSz7D8Vql
-lHXWp954AhpfUQK4mLJq/exjUIGIZb/QxbNWNv7mTMkBQxGJ6B/1Vjkv9KC04KLe
-/JMnEZD+Sw5n+5j8qS6f7YOfVJ+Hqm04M1S8cc7JD4qMufLW/RvuKyBLb3sCn0Ue
-D+uiTedxoJR8nm6yI0uZ4d9RpRreca0PPt0o+DhbrDWyqH19kafN7I6SrDSbBNUO
-wiGBbgN4Ur9rPbzapATA/X95y+Q3CFLe/wcMLcLHJ3tnRCUo17Fx+APmrAsyBiYd
-9ulUq5WcZaw3pEDpTqN+0832UOyjIwpLyVDLU5jgW04vbW41o2SW7fCa7/QxT94p
-4PEAYi2MltPYQKRO7EOh+iUOHEsc8UDb6x4i75BcKhuLwZ7nmrwzg8ZO+TWMuzYb
-McJ11aZ42hN9U5H65FQzaZhAAcOqxTffQXIdARGlfvr3lTRnO/RQbxyObEqGeMHP
-XlDzvIMdB6b0RG4EBfpDFUpWf3Mhx4AG3bGHPjUXXhNICCMDdI49d0lNJ3nkF0nv
-JsehmIOY2U6fQBEnZhn5D0rjU+nUlHvgKQKhs9yIym/K+KVUznJW4ygwFiKXysVq
-QGqfn7hbBonYqLkGL99O9JyKgz/RhEMC0dKtgu6ELYJJVWnkJGTIMkp5a8ID48qW
-RmFJX+v5ryvM9ePSUbLizOUddsXycJpGsu+Am5H20cTPXkwxYtNcu49eLrGoXf7E
-/mD/zDqFryMK3oUBHnBJf0k/mMnzwfgHNveXApOSbflvRx39652Wugd7CxcOrIA=
------END ENCRYPTED PRIVATE KEY-----
diff --git a/Externals/polarssl/tests/data_files/server1.crt b/Externals/polarssl/tests/data_files/server1.crt
deleted file mode 100644
index 7e353cc6e1..0000000000
--- a/Externals/polarssl/tests/data_files/server1.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 1 (0x1)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:06 2011 GMT
- Not After : Feb 12 14:44:06 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Server 1
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:a9:02:1f:3d:40:6a:d5:55:53:8b:fd:36:ee:82:
- 65:2e:15:61:5e:89:bf:b8:e8:45:90:db:ee:88:16:
- 52:d3:f1:43:50:47:96:12:59:64:87:6b:fd:2b:e0:
- 46:f9:73:be:dd:cf:92:e1:91:5b:ed:66:a0:6f:89:
- 29:79:45:80:d0:83:6a:d5:41:43:77:5f:39:7c:09:
- 04:47:82:b0:57:39:70:ed:a3:ec:15:19:1e:a8:33:
- 08:47:c1:05:42:a9:fd:4c:c3:b4:df:dd:06:1f:4d:
- 10:51:40:67:73:13:0f:40:f8:6d:81:25:5f:0a:b1:
- 53:c6:30:7e:15:39:ac:f9:5a:ee:7f:92:9e:a6:05:
- 5b:e7:13:97:85:b5:23:92:d9:d4:24:06:d5:09:25:
- 89:75:07:dd:a6:1a:8f:3f:09:19:be:ad:65:2c:64:
- eb:95:9b:dc:fe:41:5e:17:a6:da:6c:5b:69:cc:02:
- ba:14:2c:16:24:9c:4a:dc:cd:d0:f7:52:67:73:f1:
- 2d:a0:23:fd:7e:f4:31:ca:2d:70:ca:89:0b:04:db:
- 2e:a6:4f:70:6e:9e:ce:bd:58:89:e2:53:59:9e:6e:
- 5a:92:65:e2:88:3f:0c:94:19:a3:dd:e5:e8:9d:95:
- 13:ed:29:db:ab:70:12:dc:5a:ca:6b:17:ab:52:82:
- 54:b1
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- 1F:74:D6:3F:29:C1:74:74:45:3B:05:12:2C:3D:A8:BD:43:59:02:A6
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- bd:cf:96:c1:95:1e:9a:c2:6e:d8:88:88:d8:2a:7a:96:20:3e:
- 50:0b:c8:c7:df:1d:41:ed:e4:66:cd:b3:02:81:7d:57:04:1b:
- 5d:c6:33:59:0f:c1:20:b9:23:34:89:8a:6c:f2:fd:c7:48:36:
- 8c:80:e7:e1:9b:c6:60:5c:b0:33:02:0e:fd:df:be:61:bc:18:
- 89:0c:38:db:fb:fb:46:23:32:f7:8c:c1:3e:7c:de:1e:2f:3a:
- 77:2f:f4:8e:93:8e:25:4c:77:21:74:6c:18:b7:72:8d:bf:f5:
- 4f:5d:64:95:c1:6a:1a:70:11:88:af:bc:55:8a:25:30:f3:fa:
- 69:f2:af:2d:75:fb:2b:89:22:52:9b:05:42:15:29:13:95:5e:
- 33:9a:55:d4:c7:22:d8:44:ce:25:ab:b6:70:ee:34:14:9b:c8:
- fc:2f:56:ff:04:7e:18:00:2b:31:ac:36:7f:11:bb:ec:4d:e5:
- 69:a6:b4:2c:03:a5:7b:13:3a:03:82:8e:6f:97:f9:70:64:cc:
- e4:88:7a:b4:41:79:15:5a:b7:ff:db:f3:34:86:0c:6b:51:6a:
- cd:a7:01:2d:91:7c:cd:21:d8:2c:48:a6:5c:17:73:8c:1a:0d:
- e2:a0:d4:fd:6c:d1:c9:84:41:46:30:08:e3:d9:b3:1d:7e:ab:
- 6a:57:aa:9f
------BEGIN CERTIFICATE-----
-MIIDPzCCAiegAwIBAgIBATANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA2WhcNMjEwMjEyMTQ0NDA2WjA8MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGjAYBgNVBAMTEVBvbGFyU1NMIFNlcnZlciAxMIIBIjAN
-BgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqQIfPUBq1VVTi/027oJlLhVhXom/
-uOhFkNvuiBZS0/FDUEeWEllkh2v9K+BG+XO+3c+S4ZFb7Wagb4kpeUWA0INq1UFD
-d185fAkER4KwVzlw7aPsFRkeqDMIR8EFQqn9TMO0390GH00QUUBncxMPQPhtgSVf
-CrFTxjB+FTms+Vruf5KepgVb5xOXhbUjktnUJAbVCSWJdQfdphqPPwkZvq1lLGTr
-lZvc/kFeF6babFtpzAK6FCwWJJxK3M3Q91Jnc/EtoCP9fvQxyi1wyokLBNsupk9w
-bp7OvViJ4lNZnm5akmXiiD8MlBmj3eXonZUT7Snbq3AS3FrKaxerUoJUsQIDAQAB
-o00wSzAJBgNVHRMEAjAAMB0GA1UdDgQWBBQfdNY/KcF0dEU7BRIsPai9Q1kCpjAf
-BgNVHSMEGDAWgBS0WuSls97SUva51aaVD+s+vMf9/zANBgkqhkiG9w0BAQUFAAOC
-AQEAvc+WwZUemsJu2IiI2Cp6liA+UAvIx98dQe3kZs2zAoF9VwQbXcYzWQ/BILkj
-NImKbPL9x0g2jIDn4ZvGYFywMwIO/d++YbwYiQw42/v7RiMy94zBPnzeHi86dy/0
-jpOOJUx3IXRsGLdyjb/1T11klcFqGnARiK+8VYolMPP6afKvLXX7K4kiUpsFQhUp
-E5VeM5pV1Mci2ETOJau2cO40FJvI/C9W/wR+GAArMaw2fxG77E3laaa0LAOlexM6
-A4KOb5f5cGTM5Ih6tEF5FVq3/9vzNIYMa1FqzacBLZF8zSHYLEimXBdzjBoN4qDU
-/WzRyYRBRjAI49mzHX6raleqnw==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/tests/data_files/server1.key b/Externals/polarssl/tests/data_files/server1.key
deleted file mode 100644
index 4281a5f522..0000000000
--- a/Externals/polarssl/tests/data_files/server1.key
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEogIBAAKCAQEAqQIfPUBq1VVTi/027oJlLhVhXom/uOhFkNvuiBZS0/FDUEeW
-Ellkh2v9K+BG+XO+3c+S4ZFb7Wagb4kpeUWA0INq1UFDd185fAkER4KwVzlw7aPs
-FRkeqDMIR8EFQqn9TMO0390GH00QUUBncxMPQPhtgSVfCrFTxjB+FTms+Vruf5Ke
-pgVb5xOXhbUjktnUJAbVCSWJdQfdphqPPwkZvq1lLGTrlZvc/kFeF6babFtpzAK6
-FCwWJJxK3M3Q91Jnc/EtoCP9fvQxyi1wyokLBNsupk9wbp7OvViJ4lNZnm5akmXi
-iD8MlBmj3eXonZUT7Snbq3AS3FrKaxerUoJUsQIDAQABAoIBABaJ9eiRQq4Ypv+w
-UTcVpLC0oTueWzcpor1i1zjG4Vzqe/Ok2FqyGToGKMlFK7Hwwa+LEyeJ3xyV5yd4
-v1Mw9bDZFdJC1eCBjoUAHtX6k9HOE0Vd6woVQ4Vi6OPI1g7B5Mnr/58rNrnN6TMs
-x58NF6euecwTU811QJrZtLbX7j2Cr28yB2Vs8qyYlHwVw5jbDOv43D7vU5gmlIDN
-0JQRuWAnOuPzZNoJr4SfJKqHNGxYYY6pHZ1s0dOTLIDb/B8KQWapA2kRmZyid2EH
-nwzgLbAsHJCf+bQnhXjXuxtUsrcIL8noZLazlOMxwNEammglVWW23Ud/QRnFgJg5
-UgcAcRECgYEA19uYetht5qmwdJ+12oC6zeO+vXLcyD9gon23T5J6w2YThld7/OW0
-oArQJGgkAdaq0pcTyOIjtTQVMFygdVmCEJmxh/3RutPcTeydqW9fphKDMej32J8e
-GniGmNGiclbcfNOS8E5TGp445yZb9P1+7AHng16bGg3Ykj5EA4G+HCcCgYEAyHAl
-//ekk8YjQElm+8izLtFkymIK0aCtEe9C/RIRhFYBeFaotC5dStNhBOncn4ovMAPD
-lX/92yDi9OP8PPLN3a4B9XpW3k/SS5GrbT5cwOivBHNllZSmu/2qz5WPGcjVCOrB
-LYl3YWr2h3EGKICT03kEoTkiDBvCeOpW7cCGl2cCgYBD5whoXHz1+ptPlI4YVjZt
-Xh86aU+ajpVPiEyJ84I6xXmO4SZXv8q6LaycR0ZMbcL+zBelMb4Z2nBv7jNrtuR7
-ZF28cdPv+YVr3esaybZE/73VjXup4SQPH6r3l7qKTVi+y6+FeJ4b2Xn8/MwgnT23
-8EFrye7wmzpthrjOgZnUMQKBgE9Lhsz/5J0Nis6Y+2Pqn3CLKEukg9Ewtqdct2y0
-5Dcta0F3TyCRIxlCDKTL/BslqMtfAdY4H268UO0+8IAQMn9boqzBrHIgs/pvc5kx
-TbKHmw2wtWR6vYersBKVgVpbCGSRssDYHGFu1n74qM4HJ/RGcR1zI9QUe1gopSFD
-xDtLAoGAVAdWvrqDwgoL2hHW3scGpxdE/ygJDOwHnf+1B9goKAOP5lf2FJaiAxf3
-ectoPOgZbCmm/iiDmigu703ld3O+VoCLDD4qx3R+KyALL78gtVJYzSRiKhzgCZ3g
-mKsIVRBq4IfwiwyMNG2BYZQAwbSDjjPtn/kPBduPzPj7eriByhI=
------END RSA PRIVATE KEY-----
diff --git a/Externals/polarssl/tests/data_files/server1.req.md4 b/Externals/polarssl/tests/data_files/server1.req.md4
deleted file mode 100644
index 44c53d7606..0000000000
--- a/Externals/polarssl/tests/data_files/server1.req.md4
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN CERTIFICATE REQUEST-----
-MIICgTCCAWkCAQAwPDELMAkGA1UEBhMCTkwxETAPBgNVBAoTCFBvbGFyU1NMMRow
-GAYDVQQDExFQb2xhclNTTCBTZXJ2ZXIgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP
-ADCCAQoCggEBAKkCHz1AatVVU4v9Nu6CZS4VYV6Jv7joRZDb7ogWUtPxQ1BHlhJZ
-ZIdr/SvgRvlzvt3PkuGRW+1moG+JKXlFgNCDatVBQ3dfOXwJBEeCsFc5cO2j7BUZ
-HqgzCEfBBUKp/UzDtN/dBh9NEFFAZ3MTD0D4bYElXwqxU8YwfhU5rPla7n+SnqYF
-W+cTl4W1I5LZ1CQG1QkliXUH3aYajz8JGb6tZSxk65Wb3P5BXhem2mxbacwCuhQs
-FiScStzN0PdSZ3PxLaAj/X70McotcMqJCwTbLqZPcG6ezr1YieJTWZ5uWpJl4og/
-DJQZo93l6J2VE+0p26twEtxaymsXq1KCVLECAwEAAaAAMA0GCSqGSIb3DQEBAwUA
-A4IBAQAPPUzYvUA+HQTteMhkGcuD6XtsZ3i2gQdDGgLUxtMAVFw+/5ZS6l+WqPgq
-WQIOsEINPHnjUAMz5pjbFdFqu7X5G29THa2da0Ua2bJO/bu3CZ6EksGmclqaQ2Zl
-vfkWaI3bfPFh8eKHF+F5oaVp0gHviCakNqxot4rrZdL8pnJC5JJ+f76y6SgHYOao
-SGCv1gYURhIsX0gWCqldsCwxJQFEig9HISUcXViGGVnLdshUtuKL9yNZ/HNAOuOk
-7N7a7ur8KMmvar1jkTq+zKSSuSrzmU2JvxFdqU0Gr7A35jgnVG8sj66L4lAcwdoG
-sP8OmC1hWh4U3avH6EHdEG8lw0U7
------END CERTIFICATE REQUEST-----
diff --git a/Externals/polarssl/tests/data_files/server1.req.md5 b/Externals/polarssl/tests/data_files/server1.req.md5
deleted file mode 100644
index 950f5c4bd7..0000000000
--- a/Externals/polarssl/tests/data_files/server1.req.md5
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN CERTIFICATE REQUEST-----
-MIICgTCCAWkCAQAwPDELMAkGA1UEBhMCTkwxETAPBgNVBAoTCFBvbGFyU1NMMRow
-GAYDVQQDExFQb2xhclNTTCBTZXJ2ZXIgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP
-ADCCAQoCggEBAKkCHz1AatVVU4v9Nu6CZS4VYV6Jv7joRZDb7ogWUtPxQ1BHlhJZ
-ZIdr/SvgRvlzvt3PkuGRW+1moG+JKXlFgNCDatVBQ3dfOXwJBEeCsFc5cO2j7BUZ
-HqgzCEfBBUKp/UzDtN/dBh9NEFFAZ3MTD0D4bYElXwqxU8YwfhU5rPla7n+SnqYF
-W+cTl4W1I5LZ1CQG1QkliXUH3aYajz8JGb6tZSxk65Wb3P5BXhem2mxbacwCuhQs
-FiScStzN0PdSZ3PxLaAj/X70McotcMqJCwTbLqZPcG6ezr1YieJTWZ5uWpJl4og/
-DJQZo93l6J2VE+0p26twEtxaymsXq1KCVLECAwEAAaAAMA0GCSqGSIb3DQEBBAUA
-A4IBAQAQx+EjsPUUYac3t1v24lPOYqrKM52XYDwSnwW5Okjn+YxJowZyd8gfzmfp
-vp4+//h5P3VlQDwaXeMTgKCizjf+jdACNJe60/RxYpYFKrvy67ZSr/h7fhdm52Jz
-/tSCbh6FwH1075loBuWLuzD7Pvm1X1FJmbp2ceaJozDnXTAKFdVTqdiRYwyg4iPl
-krhONGNe132aYZtFssdjSCim+bB+/sagR3SuJPoQ+8EjDXYG75n4ZVa4dAcjVoYk
-pg0YK5cuH1FHCXOBO4N1+G0skL8AZwlv+rhKQk6lpGt+AQ8LSjCz2zHUnfpaXXWp
-s1dq9ufjbJdaHDjkBY1gZ3BMmXPw
------END CERTIFICATE REQUEST-----
diff --git a/Externals/polarssl/tests/data_files/server1.req.sha1 b/Externals/polarssl/tests/data_files/server1.req.sha1
deleted file mode 100644
index f4c61bc578..0000000000
--- a/Externals/polarssl/tests/data_files/server1.req.sha1
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN CERTIFICATE REQUEST-----
-MIICgTCCAWkCAQAwPDELMAkGA1UEBhMCTkwxETAPBgNVBAoTCFBvbGFyU1NMMRow
-GAYDVQQDExFQb2xhclNTTCBTZXJ2ZXIgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP
-ADCCAQoCggEBAKkCHz1AatVVU4v9Nu6CZS4VYV6Jv7joRZDb7ogWUtPxQ1BHlhJZ
-ZIdr/SvgRvlzvt3PkuGRW+1moG+JKXlFgNCDatVBQ3dfOXwJBEeCsFc5cO2j7BUZ
-HqgzCEfBBUKp/UzDtN/dBh9NEFFAZ3MTD0D4bYElXwqxU8YwfhU5rPla7n+SnqYF
-W+cTl4W1I5LZ1CQG1QkliXUH3aYajz8JGb6tZSxk65Wb3P5BXhem2mxbacwCuhQs
-FiScStzN0PdSZ3PxLaAj/X70McotcMqJCwTbLqZPcG6ezr1YieJTWZ5uWpJl4og/
-DJQZo93l6J2VE+0p26twEtxaymsXq1KCVLECAwEAAaAAMA0GCSqGSIb3DQEBBQUA
-A4IBAQCACO1GoBxMdGoWLtk0USbZIJkJidvraTyuuVMMvTaRHAseepNZWtbI2VjZ
-8BYFKnY9uSX4uozODi5Tkv2dCSwAFFJs7bsALqpjqfU1kwQSbfLoT8twf7o51Zw8
-LAEKW0GpifhI4NJAaIeh5EyfMeXH5RFAz31T95Eat56eLcewDK5nWUdQx/KkkSIb
-AFKqPKz8F9KS1tEty5UYmC1QV+q7NG1aOrWcuqvszpyUbsz/u32QH0Lp7E3lXMt1
-vyFfAsA6KBLTUmyTVQHz4snQAb5CFNLOrXnHbtjem7ZmhDzE1DS/7o8NK49zuXUW
-YUMPRpZDSNUpIBmZs2NBTARSEc04
------END CERTIFICATE REQUEST-----
diff --git a/Externals/polarssl/tests/data_files/server1.req.sha224 b/Externals/polarssl/tests/data_files/server1.req.sha224
deleted file mode 100644
index e52196dbce..0000000000
--- a/Externals/polarssl/tests/data_files/server1.req.sha224
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN CERTIFICATE REQUEST-----
-MIICgTCCAWkCAQAwPDELMAkGA1UEBhMCTkwxETAPBgNVBAoTCFBvbGFyU1NMMRow
-GAYDVQQDExFQb2xhclNTTCBTZXJ2ZXIgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP
-ADCCAQoCggEBAKkCHz1AatVVU4v9Nu6CZS4VYV6Jv7joRZDb7ogWUtPxQ1BHlhJZ
-ZIdr/SvgRvlzvt3PkuGRW+1moG+JKXlFgNCDatVBQ3dfOXwJBEeCsFc5cO2j7BUZ
-HqgzCEfBBUKp/UzDtN/dBh9NEFFAZ3MTD0D4bYElXwqxU8YwfhU5rPla7n+SnqYF
-W+cTl4W1I5LZ1CQG1QkliXUH3aYajz8JGb6tZSxk65Wb3P5BXhem2mxbacwCuhQs
-FiScStzN0PdSZ3PxLaAj/X70McotcMqJCwTbLqZPcG6ezr1YieJTWZ5uWpJl4og/
-DJQZo93l6J2VE+0p26twEtxaymsXq1KCVLECAwEAAaAAMA0GCSqGSIb3DQEBDgUA
-A4IBAQAed2cYY9P/xJNHBrHDxjeh5uFyDskCvw06Kvy8FJt6G/0ncnfhSpPnevao
-UPf2jk07iMIFiaDDKc3yg4H2Uh44+Ud2YdAxHYWttKnvj43XSoWSnmUDEiUqgPAP
-C4EmgPEfsxtj+nI5fwIGEvfb3mJ31FJxnSJREcaH8uqyXW4vfF8e0o+9gdM+aTw/
-OJj+dYvepfIpB+1jIq1srr9NLJjKlvHBhQFbIcIgQXJKcw5z04hgjdoSuQckMO5z
-3gVaaHfjCJQT1tDWfjLTCceDoJPskeo7xbDvXnCho+ZLtyMesoCvOEeZLJhDYTlw
-H5jw6f9GW8Q9XP+EQcf6ZhtmYLrU
------END CERTIFICATE REQUEST-----
diff --git a/Externals/polarssl/tests/data_files/server1.req.sha256 b/Externals/polarssl/tests/data_files/server1.req.sha256
deleted file mode 100644
index 804c4a5510..0000000000
--- a/Externals/polarssl/tests/data_files/server1.req.sha256
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN CERTIFICATE REQUEST-----
-MIICgTCCAWkCAQAwPDELMAkGA1UEBhMCTkwxETAPBgNVBAoTCFBvbGFyU1NMMRow
-GAYDVQQDExFQb2xhclNTTCBTZXJ2ZXIgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP
-ADCCAQoCggEBAKkCHz1AatVVU4v9Nu6CZS4VYV6Jv7joRZDb7ogWUtPxQ1BHlhJZ
-ZIdr/SvgRvlzvt3PkuGRW+1moG+JKXlFgNCDatVBQ3dfOXwJBEeCsFc5cO2j7BUZ
-HqgzCEfBBUKp/UzDtN/dBh9NEFFAZ3MTD0D4bYElXwqxU8YwfhU5rPla7n+SnqYF
-W+cTl4W1I5LZ1CQG1QkliXUH3aYajz8JGb6tZSxk65Wb3P5BXhem2mxbacwCuhQs
-FiScStzN0PdSZ3PxLaAj/X70McotcMqJCwTbLqZPcG6ezr1YieJTWZ5uWpJl4og/
-DJQZo93l6J2VE+0p26twEtxaymsXq1KCVLECAwEAAaAAMA0GCSqGSIb3DQEBCwUA
-A4IBAQBY/1nnYQ3ThVyeZb1Z2wLYoHZ5rfeJCedyP7N/gjJZjhrMbwioUft2uHpb
-+OZQfxRXJTbtj/1wpRMCoUMLWzapS7/xGx3IjoPtl42aM4M+xVYvbLjExL13kUAr
-eE4JWcMIbTEPol2zSdX/LuB+m27jEp5VsvM2ty9qOw/T4iKwjFSe6pcYZ2spks19
-3ltgjnaamwqKcN9zUA3IERTsWjr5exKYgfXm2OeeuSP0tHr7Dh+w/2XA9dGcLhrm
-TA4P8QjIgSDlyzmhYYmsrioFPuCfdi1uzs8bxmbLXbiCGZ8TDMy5oLqLo1K+j2pF
-ox+ATHKxQ/XpRQP+2OTb9sw1kM59
------END CERTIFICATE REQUEST-----
diff --git a/Externals/polarssl/tests/data_files/server1.req.sha384 b/Externals/polarssl/tests/data_files/server1.req.sha384
deleted file mode 100644
index 7c764f7a8d..0000000000
--- a/Externals/polarssl/tests/data_files/server1.req.sha384
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN CERTIFICATE REQUEST-----
-MIICgTCCAWkCAQAwPDELMAkGA1UEBhMCTkwxETAPBgNVBAoTCFBvbGFyU1NMMRow
-GAYDVQQDExFQb2xhclNTTCBTZXJ2ZXIgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP
-ADCCAQoCggEBAKkCHz1AatVVU4v9Nu6CZS4VYV6Jv7joRZDb7ogWUtPxQ1BHlhJZ
-ZIdr/SvgRvlzvt3PkuGRW+1moG+JKXlFgNCDatVBQ3dfOXwJBEeCsFc5cO2j7BUZ
-HqgzCEfBBUKp/UzDtN/dBh9NEFFAZ3MTD0D4bYElXwqxU8YwfhU5rPla7n+SnqYF
-W+cTl4W1I5LZ1CQG1QkliXUH3aYajz8JGb6tZSxk65Wb3P5BXhem2mxbacwCuhQs
-FiScStzN0PdSZ3PxLaAj/X70McotcMqJCwTbLqZPcG6ezr1YieJTWZ5uWpJl4og/
-DJQZo93l6J2VE+0p26twEtxaymsXq1KCVLECAwEAAaAAMA0GCSqGSIb3DQEBDAUA
-A4IBAQA/XVYxhCWWWExy+O5y/zI1121L5MPjrlLypgP+ZDU8TUq8fusryYAgVATo
-njpff6RF9QTKZhouFmgwicEnE6Xuw1LZt4SWskEyISMsTemx3eiY3YSu7uqpMIIh
-h5ht1qGxkFZaLG0REIlUWqVTKk9oWLOg6pv+qees00SAn031Vc2C3++ctQONUrko
-fc8aAGAi9DvSuFkfjhZkp8Fr4d7buHQPmJiYxRp27K5NbVxrr0GCB3wh7ruGc8Mc
-K+PNQvoz425dHK3dHzeoIWD2Ka25mbjglbW1rqAdTkZSYH2QqZTHsKCr0u5iPtSD
-gF7K0AMuT2LIeSs1p82n+cLF78fz
------END CERTIFICATE REQUEST-----
diff --git a/Externals/polarssl/tests/data_files/server1.req.sha512 b/Externals/polarssl/tests/data_files/server1.req.sha512
deleted file mode 100644
index 43d709533f..0000000000
--- a/Externals/polarssl/tests/data_files/server1.req.sha512
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN CERTIFICATE REQUEST-----
-MIICgTCCAWkCAQAwPDELMAkGA1UEBhMCTkwxETAPBgNVBAoTCFBvbGFyU1NMMRow
-GAYDVQQDExFQb2xhclNTTCBTZXJ2ZXIgMTCCASIwDQYJKoZIhvcNAQEBBQADggEP
-ADCCAQoCggEBAKkCHz1AatVVU4v9Nu6CZS4VYV6Jv7joRZDb7ogWUtPxQ1BHlhJZ
-ZIdr/SvgRvlzvt3PkuGRW+1moG+JKXlFgNCDatVBQ3dfOXwJBEeCsFc5cO2j7BUZ
-HqgzCEfBBUKp/UzDtN/dBh9NEFFAZ3MTD0D4bYElXwqxU8YwfhU5rPla7n+SnqYF
-W+cTl4W1I5LZ1CQG1QkliXUH3aYajz8JGb6tZSxk65Wb3P5BXhem2mxbacwCuhQs
-FiScStzN0PdSZ3PxLaAj/X70McotcMqJCwTbLqZPcG6ezr1YieJTWZ5uWpJl4og/
-DJQZo93l6J2VE+0p26twEtxaymsXq1KCVLECAwEAAaAAMA0GCSqGSIb3DQEBDQUA
-A4IBAQBH78JrIboWUlOiUzEwxuYkaRBr22DfdSHlNVjnenrTsSsSdfPenfrUbs42
-NfzhJtvLBnDMs9olsiyPNKZnROmjl/4Da5ScVBfdA7oSImwdsaL0krAju8lJosy7
-ypqNejQQDgjL00HkaVyqjnEWY68enAkaK64suQ4w0pkGmtdZyg0nBiH1VI72PcPR
-Fu2wxSkvvYj+BcHVAY/GWRMTHw1mkmsQna7AsZ1MFIF3ycIW5Fom6d0wpB6clJ3M
-vNTBc7kZIR1BQyblyU96acesxJURJn5xO9Yf9OSsTbd7Xm5xK6DpQWxFFEgdVtir
-hSAqtp54nVnLe4QihmVAlM8zt2ON
------END CERTIFICATE REQUEST-----
diff --git a/Externals/polarssl/tests/data_files/server2.crt b/Externals/polarssl/tests/data_files/server2.crt
deleted file mode 100644
index dca4c24230..0000000000
--- a/Externals/polarssl/tests/data_files/server2.crt
+++ /dev/null
@@ -1,77 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 2 (0x2)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:06 2011 GMT
- Not After : Feb 12 14:44:06 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=localhost
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:c1:4d:a3:dd:e7:cd:1d:d1:04:d7:49:72:b8:99:
- ac:0e:78:e4:3a:3c:4a:cf:3a:13:16:d0:5a:e4:cd:
- a3:00:88:a7:ee:1e:6b:96:a7:52:b4:90:ef:2d:72:
- 7a:3e:24:9a:fc:b6:34:ac:24:f5:77:e0:26:64:8c:
- 9c:b0:28:7d:a1:da:ea:8c:e6:c9:1c:96:bc:fe:c1:
- 04:52:b3:36:d4:a3:fa:e1:b1:76:d8:90:c1:61:b4:
- 66:52:36:a2:26:53:aa:ab:74:5e:07:7d:19:82:db:
- 2a:d8:1f:a0:d9:0d:1c:2d:49:66:f7:5b:25:73:46:
- e8:0b:8a:4f:69:0c:b5:00:90:e1:da:82:10:66:7d:
- ae:54:2b:8b:65:79:91:a1:e2:61:c3:cd:40:49:08:
- ee:68:0c:f1:8b:86:d2:46:bf:d0:b8:aa:11:03:1e:
- 7f:56:a8:1a:1e:44:18:0f:0f:85:8b:da:8b:44:5e:
- e2:18:c6:62:2f:c7:66:8d:fa:5d:d8:7d:f3:27:89:
- 29:01:c5:90:0e:3f:27:f1:30:c8:4a:0e:ef:d6:de:
- c7:c7:27:6b:c7:05:3d:7a:c4:02:3c:9a:1d:3e:0f:
- e8:34:98:5b:cb:73:4b:52:96:d8:11:a2:2c:80:88:
- 69:39:5a:d3:0f:b0:de:59:2f:11:c7:f7:ea:12:01:
- 30:97
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:FALSE
- X509v3 Subject Key Identifier:
- A5:05:E8:64:B8:DC:DF:60:0F:50:12:4D:60:A8:64:AF:4D:8B:43:93
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
-
- Signature Algorithm: sha1WithRSAEncryption
- 9c:67:5c:29:58:a0:79:1b:a7:bd:1c:a8:1a:ec:19:72:f2:6c:
- 0e:f8:73:36:ce:e5:17:4b:12:01:6c:ee:b1:d5:4b:da:fe:73:
- 6f:77:96:e4:bf:29:d9:62:2d:27:19:a8:0c:d8:57:29:70:51:
- f4:56:bc:a3:28:5a:11:d8:2a:9d:dd:10:84:b8:c5:35:e4:eb:
- fe:73:5f:18:6f:f5:1c:3c:48:67:3c:aa:7e:af:21:31:e4:d5:
- 2d:66:3d:eb:ed:7a:48:1a:b1:8e:58:89:64:2e:33:78:78:61:
- 59:51:1f:71:c7:10:c0:03:d5:39:c0:7b:17:d7:1c:70:c5:40:
- 67:be:05:dd:62:01:bc:f5:fe:c1:fd:1f:c9:78:4a:dc:17:e9:
- e8:2f:4c:ad:cc:c1:74:70:90:a9:2f:8c:a6:84:0c:0f:40:4d:
- b6:71:d2:62:3c:2c:6b:31:4a:e0:aa:7b:da:fd:77:28:e6:b6:
- d7:78:ec:9d:69:d5:1b:a5:cf:70:8b:cd:a4:5c:54:8b:92:45:
- 14:1f:68:3f:27:78:cf:5c:d5:2f:e2:27:f6:a6:4d:5a:89:c4:
- 0d:4a:39:d3:92:e7:bf:34:5a:13:df:48:0a:c0:fa:0e:2a:02:
- 64:a3:7a:57:37:a7:8c:16:a6:16:bc:ce:1b:98:c2:35:6e:5f:
- a2:47:1b:47
------BEGIN CERTIFICATE-----
-MIIDNzCCAh+gAwIBAgIBAjANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDA2WhcNMjEwMjEyMTQ0NDA2WjA0MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxEjAQBgNVBAMTCWxvY2FsaG9zdDCCASIwDQYJKoZIhvcN
-AQEBBQADggEPADCCAQoCggEBAMFNo93nzR3RBNdJcriZrA545Do8Ss86ExbQWuTN
-owCIp+4ea5anUrSQ7y1yej4kmvy2NKwk9XfgJmSMnLAofaHa6ozmyRyWvP7BBFKz
-NtSj+uGxdtiQwWG0ZlI2oiZTqqt0Xgd9GYLbKtgfoNkNHC1JZvdbJXNG6AuKT2kM
-tQCQ4dqCEGZ9rlQri2V5kaHiYcPNQEkI7mgM8YuG0ka/0LiqEQMef1aoGh5EGA8P
-hYvai0Re4hjGYi/HZo36Xdh98yeJKQHFkA4/J/EwyEoO79bex8cna8cFPXrEAjya
-HT4P6DSYW8tzS1KW2BGiLICIaTla0w+w3lkvEcf36hIBMJcCAwEAAaNNMEswCQYD
-VR0TBAIwADAdBgNVHQ4EFgQUpQXoZLjc32APUBJNYKhkr02LQ5MwHwYDVR0jBBgw
-FoAUtFrkpbPe0lL2udWmlQ/rPrzH/f8wDQYJKoZIhvcNAQEFBQADggEBAJxnXClY
-oHkbp70cqBrsGXLybA74czbO5RdLEgFs7rHVS9r+c293luS/KdliLScZqAzYVylw
-UfRWvKMoWhHYKp3dEIS4xTXk6/5zXxhv9Rw8SGc8qn6vITHk1S1mPevtekgasY5Y
-iWQuM3h4YVlRH3HHEMAD1TnAexfXHHDFQGe+Bd1iAbz1/sH9H8l4StwX6egvTK3M
-wXRwkKkvjKaEDA9ATbZx0mI8LGsxSuCqe9r9dyjmttd47J1p1Rulz3CLzaRcVIuS
-RRQfaD8neM9c1S/iJ/amTVqJxA1KOdOS5780WhPfSArA+g4qAmSjelc3p4wWpha8
-zhuYwjVuX6JHG0c=
------END CERTIFICATE-----
diff --git a/Externals/polarssl/tests/data_files/server2.key b/Externals/polarssl/tests/data_files/server2.key
deleted file mode 100644
index 70a764a242..0000000000
--- a/Externals/polarssl/tests/data_files/server2.key
+++ /dev/null
@@ -1,27 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-MIIEpAIBAAKCAQEAwU2j3efNHdEE10lyuJmsDnjkOjxKzzoTFtBa5M2jAIin7h5r
-lqdStJDvLXJ6PiSa/LY0rCT1d+AmZIycsCh9odrqjObJHJa8/sEEUrM21KP64bF2
-2JDBYbRmUjaiJlOqq3ReB30Zgtsq2B+g2Q0cLUlm91slc0boC4pPaQy1AJDh2oIQ
-Zn2uVCuLZXmRoeJhw81ASQjuaAzxi4bSRr/QuKoRAx5/VqgaHkQYDw+Fi9qLRF7i
-GMZiL8dmjfpd2H3zJ4kpAcWQDj8n8TDISg7v1t7HxydrxwU9esQCPJodPg/oNJhb
-y3NLUpbYEaIsgIhpOVrTD7DeWS8Rx/fqEgEwlwIDAQABAoIBAQCXR0S8EIHFGORZ
-++AtOg6eENxD+xVs0f1IeGz57Tjo3QnXX7VBZNdj+p1ECvhCE/G7XnkgU5hLZX+G
-Z0jkz/tqJOI0vRSdLBbipHnWouyBQ4e/A1yIJdlBtqXxJ1KE/ituHRbNc4j4kL8Z
-/r6pvwnTI0PSx2Eqs048YdS92LT6qAv4flbNDxMn2uY7s4ycS4Q8w1JXnCeaAnYm
-WYI5wxO+bvRELR2Mcz5DmVnL8jRyml6l6582bSv5oufReFIbyPZbQWlXgYnpu6He
-GTc7E1zKYQGG/9+DQUl/1vQuCPqQwny0tQoX2w5tdYpdMdVm+zkLtbajzdTviJJa
-TWzL6lt5AoGBAN86+SVeJDcmQJcv4Eq6UhtRr4QGMiQMz0Sod6ettYxYzMgxtw28
-CIrgpozCc+UaZJLo7UxvC6an85r1b2nKPCLQFaggJ0H4Q0J/sZOhBIXaoBzWxveK
-nupceKdVxGsFi8CDy86DBfiyFivfBj+47BbaQzPBj7C4rK7UlLjab2rDAoGBAN2u
-AM2gchoFiu4v1HFL8D7lweEpi6ZnMJjnEu/dEgGQJFjwdpLnPbsj4c75odQ4Gz8g
-sw9lao9VVzbusoRE/JGI4aTdO0pATXyG7eG1Qu+5Yc1YGXcCrliA2xM9xx+d7f+s
-mPzN+WIEg5GJDYZDjAzHG5BNvi/FfM1C9dOtjv2dAoGAF0t5KmwbjWHBhcVqO4Ic
-BVvN3BIlc1ue2YRXEDlxY5b0r8N4XceMgKmW18OHApZxfl8uPDauWZLXOgl4uepv
-whZC3EuWrSyyICNhLY21Ah7hbIEBPF3L3ZsOwC+UErL+dXWLdB56Jgy3gZaBeW7b
-vDrEnocJbqCm7IukhXHOBK8CgYEAwqdHB0hqyNSzIOGY7v9abzB6pUdA3BZiQvEs
-3LjHVd4HPJ2x0N8CgrBIWOE0q8+0hSMmeE96WW/7jD3fPWwCR5zlXknxBQsfv0gP
-3BC5PR0Qdypz+d+9zfMf625kyit4T/hzwhDveZUzHnk1Cf+IG7Q+TOEnLnWAWBED
-ISOWmrUCgYAFEmRxgwAc/u+D6t0syCwAYh6POtscq9Y0i9GyWk89NzgC4NdwwbBH
-4AgahOxIxXx2gxJnq3yfkJfIjwf0s2DyP0kY2y6Ua1OeomPeY9mrIS4tCuDQ6LrE
-TB6l9VGoxJL4fyHnZb8L5gGvnB1bbD8cL6YPaDiOhcRseC9vBiEuVg==
------END RSA PRIVATE KEY-----
diff --git a/Externals/polarssl/tests/data_files/test-ca.crt b/Externals/polarssl/tests/data_files/test-ca.crt
deleted file mode 100644
index f0eee2b829..0000000000
--- a/Externals/polarssl/tests/data_files/test-ca.crt
+++ /dev/null
@@ -1,80 +0,0 @@
-Certificate:
- Data:
- Version: 3 (0x2)
- Serial Number: 0 (0x0)
- Signature Algorithm: sha1WithRSAEncryption
- Issuer: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Validity
- Not Before: Feb 12 14:44:00 2011 GMT
- Not After : Feb 12 14:44:00 2021 GMT
- Subject: C=NL, O=PolarSSL, CN=PolarSSL Test CA
- Subject Public Key Info:
- Public Key Algorithm: rsaEncryption
- RSA Public Key: (2048 bit)
- Modulus (2048 bit):
- 00:c0:df:37:fc:17:bb:e0:96:9d:3f:86:de:96:32:
- 7d:44:a5:16:a0:cd:21:f1:99:d4:ec:ea:cb:7c:18:
- 58:08:94:a5:ec:9b:c5:8b:df:1a:1e:99:38:99:87:
- 1e:7b:c0:8d:39:df:38:5d:70:78:07:d3:9e:d9:93:
- e8:b9:72:51:c5:ce:a3:30:52:a9:f2:e7:40:70:14:
- cb:44:a2:72:0b:c2:e5:40:f9:3e:e5:a6:0e:b3:f9:
- ec:4a:63:c0:b8:29:00:74:9c:57:3b:a8:a5:04:90:
- 71:f1:bd:83:d9:3f:d6:a5:e2:3c:2a:8f:ef:27:60:
- c3:c6:9f:cb:ba:ec:60:7d:b7:e6:84:32:be:4f:fb:
- 58:26:22:03:5b:d4:b4:d5:fb:f5:e3:96:2e:70:c0:
- e4:2e:bd:fc:2e:ee:e2:41:55:c0:34:2e:7d:24:72:
- 69:cb:47:b1:14:40:83:7d:67:f4:86:f6:31:ab:f1:
- 79:a4:b2:b5:2e:12:f9:84:17:f0:62:6f:27:3e:13:
- 58:b1:54:0d:21:9a:73:37:a1:30:cf:6f:92:dc:f6:
- e9:fc:ac:db:2e:28:d1:7e:02:4b:23:a0:15:f2:38:
- 65:64:09:ea:0c:6e:8e:1b:17:a0:71:c8:b3:9b:c9:
- ab:e9:c3:f2:cf:87:96:8f:80:02:32:9e:99:58:6f:
- a2:d5
- Exponent: 65537 (0x10001)
- X509v3 extensions:
- X509v3 Basic Constraints:
- CA:TRUE
- X509v3 Subject Key Identifier:
- B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
- X509v3 Authority Key Identifier:
- keyid:B4:5A:E4:A5:B3:DE:D2:52:F6:B9:D5:A6:95:0F:EB:3E:BC:C7:FD:FF
- DirName:/C=NL/O=PolarSSL/CN=PolarSSL Test CA
- serial:00
-
- Signature Algorithm: sha1WithRSAEncryption
- b8:fd:54:d8:00:54:90:8b:25:b0:27:dd:95:cd:a2:f7:84:07:
- 1d:87:89:4a:c4:78:11:d8:07:b5:d7:22:50:8e:48:eb:62:7a:
- 32:89:be:63:47:53:ff:b6:be:f1:2e:8c:54:c0:99:3f:a0:b9:
- 37:23:72:5f:0d:46:59:8f:d8:47:cd:97:4c:9f:07:0c:12:62:
- 09:3a:24:e4:36:d9:e9:2c:da:38:d0:73:75:61:d7:c1:6c:26:
- 8b:9b:e0:d5:dc:67:ed:8c:6b:33:d7:74:22:3c:4c:db:b5:8d:
- 2a:ce:2c:0d:08:59:05:09:05:a6:39:9f:b3:67:1b:e2:83:e5:
- e1:8f:53:f6:67:93:c7:f9:6f:76:44:58:12:e8:3a:d4:97:e7:
- e9:c0:3e:a8:7a:72:3d:87:53:1f:e5:2c:84:84:e7:9a:9e:7f:
- 66:d9:1f:9b:f5:13:48:b0:4d:14:d1:de:b2:24:d9:78:7d:f5:
- 35:cc:58:19:d1:d2:99:ef:4d:73:f8:1f:89:d4:5a:d0:52:ce:
- 09:f5:b1:46:51:6a:00:8e:3b:cc:6f:63:01:00:99:ed:9d:a6:
- 08:60:cd:32:18:d0:73:e0:58:71:d9:e5:d2:53:d7:8d:d0:ca:
- e9:5d:2a:0a:0d:5d:55:ec:21:50:17:16:e6:06:4a:cd:5e:de:
- f7:e0:e9:54
------BEGIN CERTIFICATE-----
-MIIDhzCCAm+gAwIBAgIBADANBgkqhkiG9w0BAQUFADA7MQswCQYDVQQGEwJOTDER
-MA8GA1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwHhcN
-MTEwMjEyMTQ0NDAwWhcNMjEwMjEyMTQ0NDAwWjA7MQswCQYDVQQGEwJOTDERMA8G
-A1UEChMIUG9sYXJTU0wxGTAXBgNVBAMTEFBvbGFyU1NMIFRlc3QgQ0EwggEiMA0G
-CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDA3zf8F7vglp0/ht6WMn1EpRagzSHx
-mdTs6st8GFgIlKXsm8WL3xoemTiZhx57wI053zhdcHgH057Zk+i5clHFzqMwUqny
-50BwFMtEonILwuVA+T7lpg6z+exKY8C4KQB0nFc7qKUEkHHxvYPZP9al4jwqj+8n
-YMPGn8u67GB9t+aEMr5P+1gmIgNb1LTV+/Xjli5wwOQuvfwu7uJBVcA0Ln0kcmnL
-R7EUQIN9Z/SG9jGr8XmksrUuEvmEF/Bibyc+E1ixVA0hmnM3oTDPb5Lc9un8rNsu
-KNF+AksjoBXyOGVkCeoMbo4bF6BxyLObyavpw/LPh5aPgAIynplYb6LVAgMBAAGj
-gZUwgZIwDAYDVR0TBAUwAwEB/zAdBgNVHQ4EFgQUtFrkpbPe0lL2udWmlQ/rPrzH
-/f8wYwYDVR0jBFwwWoAUtFrkpbPe0lL2udWmlQ/rPrzH/f+hP6Q9MDsxCzAJBgNV
-BAYTAk5MMREwDwYDVQQKEwhQb2xhclNTTDEZMBcGA1UEAxMQUG9sYXJTU0wgVGVz
-dCBDQYIBADANBgkqhkiG9w0BAQUFAAOCAQEAuP1U2ABUkIslsCfdlc2i94QHHYeJ
-SsR4EdgHtdciUI5I62J6Mom+Y0dT/7a+8S6MVMCZP6C5NyNyXw1GWY/YR82XTJ8H
-DBJiCTok5DbZ6SzaONBzdWHXwWwmi5vg1dxn7YxrM9d0IjxM27WNKs4sDQhZBQkF
-pjmfs2cb4oPl4Y9T9meTx/lvdkRYEug61Jfn6cA+qHpyPYdTH+UshITnmp5/Ztkf
-m/UTSLBNFNHesiTZeH31NcxYGdHSme9Nc/gfidRa0FLOCfWxRlFqAI47zG9jAQCZ
-7Z2mCGDNMhjQc+BYcdnl0lPXjdDK6V0qCg1dVewhUBcW5gZKzV7e9+DpVA==
------END CERTIFICATE-----
diff --git a/Externals/polarssl/tests/data_files/test-ca.key b/Externals/polarssl/tests/data_files/test-ca.key
deleted file mode 100644
index 1614e22bcd..0000000000
--- a/Externals/polarssl/tests/data_files/test-ca.key
+++ /dev/null
@@ -1,30 +0,0 @@
------BEGIN RSA PRIVATE KEY-----
-Proc-Type: 4,ENCRYPTED
-DEK-Info: DES-EDE3-CBC,A8A95B05D5B7206B
-
-9Qd9GeArejl1GDVh2lLV1bHt0cPtfbh5h/5zVpAVaFpqtSPMrElp50Rntn9et+JA
-7VOyboR+Iy2t/HU4WvA687k3Bppe9GwKHjHhtl//8xFKwZr3Xb5yO5JUP8AUctQq
-Nb8CLlZyuUC+52REAAthdWgsX+7dJO4yabzUcQ22Tp9JSD0hiL43BlkWYUNK3dAo
-PZlmiptjnzVTjg1MxsBSydZinWOLBV8/JQgxSPo2yD4uEfig28qbvQ2wNIn0pnAb
-GxnSAOazkongEGfvcjIIs+LZN9gXFhxcOh6kc4Q/c99B7QWETwLLkYgZ+z1a9VY9
-gEU7CwCxYCD+h9hY6FPmsK0/lC4O7aeRKpYq00rPPxs6i7phiexg6ax6yTMmArQq
-QmK3TAsJm8V/J5AWpLEV6jAFgRGymGGHnof0DXzVWZidrcZJWTNuGEX90nB3ee2w
-PXJEFWKoD3K3aFcSLdHYr3mLGxP7H9ThQai9VsycxZKS5kwvBKQ//YMrmFfwPk8x
-vTeY4KZMaUrveEel5tWZC94RSMKgxR6cyE1nBXyTQnDOGbfpNNgBKxyKbINWoOJU
-WJZAwlsQn+QzCDwpri7+sV1mS3gBE6UY7aQmnmiiaC2V3Hbphxct/en5QsfDOt1X
-JczSfpRWLlbPznZg8OQh/VgCMA58N5DjOzTIK7sJJ5r+94ZBTCpgAMbF588f0NTR
-KCe4yrxGJR7X02M4nvD4IwOlpsQ8xQxZtOSgXv4LkxvdU9XJJKWZ/XNKJeWztxSe
-Z1vdTc2YfsDBA2SEv33vxHx2g1vqtw8SjDRT2RaQSS0QuSaMJimdOX6mTOCBKk1J
-9Q5mXTrER+/LnK0jEmXsBXWA5bqqVZIyahXSx4VYZ7l7w/PHiUDtDgyRhMMKi4n2
-iQvQcWSQTjrpnlJbca1/DkpRt3YwrvJwdqb8asZU2VrNETh5x0QVefDRLFiVpif/
-tUaeAe/P1F8OkS7OIZDs1SUbv/sD2vMbhNkUoCms3/PvNtdnvgL4F0zhaDpKCmlT
-P8vx49E7v5CyRNmED9zZg4o3wmMqrQO93PtTug3Eu9oVx1zPQM1NVMyBa2+f29DL
-1nuTCeXdo9+ni45xx+jAI4DCwrRdhJ9uzZyC6962H37H6D+5naNvClFR1s6li1Gb
-nqPoiy/OBsEx9CaDGcqQBp5Wme/3XW+6z1ISOx+igwNTVCT14mHdBMbya0eIKft5
-X+GnwtgEMyCYyyWuUct8g4RzErcY9+yW9Om5Hzpx4zOuW4NPZgPDTgK+t2RSL/Yq
-rE1njrgeGYcVeG3f+OftH4s6fPbq7t1A5ZgUscbLMBqr9tK+OqygR4EgKBPsH6Cz
-L6zlv/2RV0qAHvVuDJcIDIgwY5rJtINEm32rhOeFNJwZS5MNIC1czXZx5//ugX7l
-I4sy5nbVhwSjtAk8Xg5dZbdTZ6mIrb7xqH+fdakZor1khG7bC2uIwibD3cSl2XkR
-wN48lslbHnqqagr6Xm1nNOSVl8C/6kbJEsMpLhAezfRtGwvOucoaE+WbeUNolGde
-P/eQiddSf0brnpiLJRh7qZrl9XuqYdpUqnoEdMAfotDOID8OtV7gt8a48ad8VPW2
------END RSA PRIVATE KEY-----
diff --git a/Externals/polarssl/tests/fct.h b/Externals/polarssl/tests/fct.h
deleted file mode 100644
index 78bc27bfe9..0000000000
--- a/Externals/polarssl/tests/fct.h
+++ /dev/null
@@ -1,3959 +0,0 @@
-/*
-====================================================================
-Copyright (c) 2008 Ian Blumel. All rights reserved.
-
-FCTX (Fast C Test) Unit Testing Framework
-
-Copyright (c) 2008, Ian Blumel (ian.blumel@gmail.com)
-All rights reserved.
-
-This license is based on the BSD License.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-
- * 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.
-
- * Neither the name of, Ian Blumel, nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT OWNER
-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.
-====================================================================
-
-File: fct.h
-*/
-
-#if !defined(FCT_INCLUDED__IMB)
-#define FCT_INCLUDED__IMB
-
-/* Configuration Values. You can over-ride these values in your own
-header, then include this header. For example, in your file, myfct.h,
-
- #define FCT_DEFAULT_LOGGER "standard"
- #include "fct.h"
-
-then if your unit tests included, myfct.h, you would default to work
-with a standard logger. */
-
-#if !defined(FCT_DEFAULT_LOGGER)
-# define FCT_DEFAULT_LOGGER "standard"
-#endif /* !FCT_DEFAULT_LOGGER */
-
-#define FCT_VERSION_MAJOR 1
-#define FCT_VERSION_MINOR 6
-#define FCT_VERSION_MICRO 1
-
-#define _FCT_QUOTEME(x) #x
-#define FCT_QUOTEME(x) _FCT_QUOTEME(x)
-
-#define FCT_VERSION_STR (FCT_QUOTEME(FCT_VERSION_MAJOR) "."\
- FCT_QUOTEME(FCT_VERSION_MINOR) "."\
- FCT_QUOTEME(FCT_VERSION_MICRO))
-
-#include <string.h>
-#include <assert.h>
-#include <stdarg.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <time.h>
-#include <float.h>
-#include <math.h>
-#include <ctype.h>
-
-#define FCT_MAX_NAME 256
-#define FCT_MAX_LOG_LINE 256
-
-#define nbool_t int
-#define FCT_TRUE 1
-#define FCT_FALSE 0
-
-#define FCTMIN(x, y) ( x < y) ? (x) : (y)
-
-#ifndef __INTEL_COMPILER
-/* Use regular assertions for non-Intel compilers */
-#define FCT_ASSERT(expr) assert(expr)
-#else
-/* Silence Intel warnings on assert(expr && "str") or assert("str") */
-#define FCT_ASSERT(expr) do { \
- _Pragma("warning(push,disable:279)"); \
- assert(expr); \
- _Pragma("warning(pop)"); \
- } while (0)
-#endif
-
-#if defined(__cplusplus)
-#define FCT_EXTERN_C extern "C"
-#else
-#define FCT_EXTERN_C
-#endif
-
-/* Forward declarations. The following forward declarations are required
-because there is a inter-relationship between certain objects that
-just can not be untwined. */
-typedef struct _fct_logger_evt_t fct_logger_evt_t;
-typedef struct _fct_logger_i fct_logger_i;
-typedef struct _fct_logger_types_t fct_logger_types_t;
-typedef struct _fct_standard_logger_t fct_standard_logger_t;
-typedef struct _fct_junit_logger_t fct_junit_logger_t;
-typedef struct _fct_minimal_logger_t fct_minimal_logger_t;
-typedef struct _fctchk_t fctchk_t;
-typedef struct _fct_test_t fct_test_t;
-typedef struct _fct_ts_t fct_ts_t;
-typedef struct _fctkern_t fctkern_t;
-
-/* Forward declare some functions used throughout. */
-static fct_logger_i*
-fct_standard_logger_new(void);
-
-static fct_logger_i*
-fct_minimal_logger_new(void);
-
-static fct_junit_logger_t *
-fct_junit_logger_new(void);
-
-static void
-fct_logger__del(fct_logger_i *logger);
-
-static void
-fct_logger__on_chk(fct_logger_i *self, fctchk_t const *chk);
-
-static void
-fct_logger__on_test_start(fct_logger_i *logger, fct_test_t const *test);
-
-static void
-fct_logger__on_test_end(fct_logger_i *logger, fct_test_t *test);
-
-static void
-fct_logger__on_test_suite_start(fct_logger_i *logger, fct_ts_t const *ts);
-
-static void
-fct_logger__on_test_suite_end(fct_logger_i *logger, fct_ts_t const *ts);
-
-static void
-fct_logger__on_test_suite_skip(
- fct_logger_i *logger,
- char const *condition,
- char const *name
-);
-
-static void
-fct_logger__on_test_skip(
- fct_logger_i *logger,
- char const *condition,
- char const *name
-);
-
-
-static void
-fct_logger__on_warn(fct_logger_i *logger, char const *warn);
-
-
-
-/* Explicitly indicate a no-op */
-#define fct_pass()
-
-#define fct_unused(x) (void)(x)
-
-/* This is just a little trick to let me put comments inside of macros. I
-really only want to bother with this when we are "unwinding" the macros
-for debugging purposes. */
-#if defined(FCT_CONF_UNWIND)
-# define _fct_cmt(string) {char*_=string;}
-#else
-# define _fct_cmt(string)
-#endif
-
-/*
---------------------------------------------------------
-UTILITIES
---------------------------------------------------------
-*/
-
-
-/* STDIO and STDERR redirect support */
-#define FCT_PIPE_RESERVE_BYTES_DEFAULT 512
-static int fct_stdout_pipe[2];
-static int fct_stderr_pipe[2];
-static int fct_saved_stdout;
-static int fct_saved_stderr;
-
-/* Platform indepedent pipe functions. TODO: Look to figure this out in a way
-that follows the ISO C++ conformant naming convention. */
-#if defined(WIN32)
-# include <io.h>
-# include <fcntl.h>
-# define _fct_pipe(_PFDS_) \
- _pipe((_PFDS_), FCT_PIPE_RESERVE_BYTES_DEFAULT, _O_TEXT)
-# define _fct_dup _dup
-# define _fct_dup2 _dup2
-# define _fct_close _close
-# define _fct_read _read
-/* Until I can figure a better way to do this, rely on magic numbers. */
-# define STDOUT_FILENO 1
-# define STDERR_FILENO 2
-#else
-# include <unistd.h>
-# define _fct_pipe pipe
-# define _fct_dup dup
-# define _fct_dup2 dup2
-# define _fct_close close
-# define _fct_read read
-#endif /* WIN32 */
-
-
-
-
-static void
-fct_switch_std_to_buffer(int std_pipe[2], FILE *out, int fileno_, int *save_handle)
-{
- fflush(out);
- *save_handle = _fct_dup(fileno_);
- if ( _fct_pipe(std_pipe) != 0 )
- {
- exit(1);
- }
- _fct_dup2(std_pipe[1], fileno_);
- _fct_close(std_pipe[1]);
-}
-
-
-static void
-fct_switch_std_to_std(FILE *out, int fileno_, int save_handle)
-{
- fflush(out);
- _fct_dup2(save_handle, fileno_);
-}
-
-
-#define FCT_SWITCH_STDOUT_TO_BUFFER() \
- fct_switch_std_to_buffer(fct_stdout_pipe, stdout, STDOUT_FILENO, &fct_saved_stdout)
-#define FCT_SWITCH_STDOUT_TO_STDOUT() \
- fct_switch_std_to_std(stdout, STDOUT_FILENO, fct_saved_stdout)
-#define FCT_SWITCH_STDERR_TO_BUFFER() \
- fct_switch_std_to_buffer(fct_stderr_pipe, stderr, STDERR_FILENO, &fct_saved_stderr)
-#define FCT_SWITCH_STDERR_TO_STDERR() \
- fct_switch_std_to_std(stderr, STDERR_FILENO, fct_saved_stderr)
-
-
-/* Utility for truncated, safe string copies. The NUM
-should be the length of DST plus the null-termintor. */
-static void
-fctstr_safe_cpy(char *dst, char const *src, size_t num)
-{
- FCT_ASSERT( dst != NULL );
- FCT_ASSERT( src != NULL );
- FCT_ASSERT( num > 0 );
-#if defined(WIN32) && _MSC_VER >= 1400
- strncpy_s(dst, num, src, _TRUNCATE);
-#else
- strncpy(dst, src, num);
-#endif
- dst[num-1] = '\0';
-}
-
-/* Isolate the vsnprintf implementation */
-static int
-fct_vsnprintf(char *buffer,
- size_t buffer_len,
- char const *format,
- va_list args)
-{
- int count =0;
- /* Older microsoft compilers where not ANSI compliant with this
- function and you had to use _vsnprintf. I will assume that newer
- Microsoft Compilers start implementing vsnprintf. */
-#if defined(_MSC_VER) && (_MSC_VER < 1400)
- count = _vsnprintf(buffer, buffer_len, format, args);
-#elif defined(_MSC_VER) && (_MSC_VER >= 1400)
- count = vsnprintf_s(buffer, buffer_len, _TRUNCATE, format, args);
-#else
- count = vsnprintf(buffer, buffer_len, format, args);
-#endif
- return count;
-}
-
-
-/* Isolate the snprintf implemenation. */
-static int
-fct_snprintf(char *buffer, size_t buffer_len, char const *format, ...)
-{
- int count =0;
- va_list args;
- va_start(args, format);
- count =fct_vsnprintf(buffer, buffer_len, format, args);
- va_end(args);
- return count;
-}
-
-
-/* Helper to for cloning strings on the heap. Returns NULL for
-an out of memory condition. */
-static char*
-fctstr_clone(char const *s)
-{
- char *k =NULL;
- size_t klen =0;
- FCT_ASSERT( s != NULL && "invalid arg");
- klen = strlen(s)+1;
- k = (char*)malloc(sizeof(char)*klen+1);
- fctstr_safe_cpy(k, s, klen);
- return k;
-}
-
-
-/* Clones and returns a lower case version of the original string. */
-static char*
-fctstr_clone_lower(char const *s)
-{
- char *k =NULL;
- size_t klen =0;
- size_t i;
- if ( s == NULL )
- {
- return NULL;
- }
- klen = strlen(s)+1;
- k = (char*)malloc(sizeof(char)*klen+1);
- for ( i=0; i != klen; ++i )
- {
- k[i] = (char)tolower((int)s[i]);
- }
- return k;
-}
-
-
-/* A very, very simple "filter". This just compares the supplied prefix
-against the test_str, to see if they both have the same starting
-characters. If they do we return true, otherwise we return false. If the
-prefix is a blank string or NULL, then it will return FCT_TRUE.*/
-static nbool_t
-fct_filter_pass(char const *prefix, char const *test_str)
-{
- nbool_t is_match = FCT_FALSE;
- char const *prefix_p;
- char const *test_str_p;
-
- /* If you got nothing to test against, why test? */
- FCT_ASSERT( test_str != NULL );
-
- /* When the prefix is NULL or blank, we always return FCT_TRUE. */
- if ( prefix == NULL || prefix[0] == '\0' )
- {
- return FCT_TRUE;
- }
-
- /* Iterate through both character arrays at the same time. We are
- going to play a game and see if we can beat the house. */
- for ( prefix_p = prefix, test_str_p = test_str;
- *prefix_p != '\0' && *test_str_p != '\0';
- ++prefix_p, ++test_str_p )
- {
- is_match = *prefix_p == *test_str_p;
- if ( !is_match )
- {
- break; /* Quit the first time we don't match. */
- }
- }
-
- /* If the iterator for the test_str is pointing at the null char, and
- the iterator for the prefix string is not, then the prefix string is
- larger than the actual test string, and therefore we failed to pass the
- filter. */
- if ( *test_str_p == '\0' && *prefix_p != '\0' )
- {
- return FCT_FALSE;
- }
-
- /* is_match will be set to the either FCT_TRUE if we kicked of the loop
- early because our filter ran out of characters or FCT_FALSE if we
- encountered a mismatch before our filter ran out of characters. */
- return is_match;
-}
-
-
-/* Routine checks if two strings are equal. Taken from
-http://publications.gbdirect.co.uk/c_book/chapter5/character_handling.html
-*/
-static int
-fctstr_eq(char const *s1, char const *s2)
-{
- if ( s1 == s2 )
- {
- return 1;
- }
- if ( (s1 == NULL && s2 != NULL)
- || (s1 != NULL && s2 == NULL) )
- {
- return 0;
- }
- while (*s1 == *s2)
- {
- if (*s1 == '\0')
- return 1;
- s1++;
- s2++;
- }
- /* Difference detected! */
- return 0;
-}
-
-
-static int
-fctstr_ieq(char const *s1, char const *s2)
-{
- if ( s1 == s2 )
- {
- return 1;
- }
- if ( (s1 == NULL && s2 != NULL)
- || (s1 != NULL && s2 == NULL) )
- {
- return 0;
- }
- while (tolower((int)*s1) == tolower((int)*s2))
- {
- if (*s1 == '\0')
- return 1;
- s1++;
- s2++;
- }
- /* Difference detected! */
- return 0;
-}
-
-
-/* Returns 1 if the STR contains the CHECK_INCL substring. NULL's
-are handled, and NULL always INCLUDES NULL. This check is case
-sensitive. If two strings point to the same place they are
-included. */
-static int
-fctstr_incl(char const *str, char const *check_incl)
-{
- static char const *blank_s = "";
- char const *found = NULL;
- if ( str == NULL )
- {
- str = blank_s;
- }
- if ( check_incl == NULL )
- {
- check_incl = blank_s;
- }
- if ( str == check_incl )
- {
- return 1;
- }
- found = strstr(str, check_incl);
- return found != NULL;
-}
-
-
-/* Does a case insensitive include check. */
-static int
-fctstr_iincl(char const *str, char const *check_incl)
-{
- /* Going to do this with a memory allocation to save coding
- time. In the future this can be rewritten. Both clone_lower
- and _incl are NULL tolerant. */
- char *lstr = fctstr_clone_lower(str);
- char *lcheck_incl = fctstr_clone_lower(check_incl);
- int found = fctstr_incl(lstr, lcheck_incl);
- free(lstr);
- free(lcheck_incl);
- return found;
-}
-
-
-/* Returns true if STR starts with CHECK. NULL and NULL is consider
-true. */
-static int
-fctstr_startswith(char const *str, char const *check)
-{
- char const *sp;
- if ( str == NULL && check == NULL )
- {
- return 1;
- }
- else if ( ((str == NULL) && (check != NULL))
- || ((str != NULL) && (check == NULL)) )
- {
- return 0;
- }
- sp = strstr(str, check);
- return sp == str;
-}
-
-
-/* Case insenstive variant of fctstr_startswith. */
-static int
-fctstr_istartswith(char const *str, char const *check)
-{
- /* Taking the lazy approach for now. */
- char *istr = fctstr_clone_lower(str);
- char *icheck = fctstr_clone_lower(check);
- /* TODO: check for memory. */
- int startswith = fctstr_startswith(istr, icheck);
- free(istr);
- free(icheck);
- return startswith;
-}
-
-
-/* Returns true if the given string ends with the given
-check. Treats NULL as a blank string, and as such, will
-pass the ends with (a blank string endswith a blank string). */
-static int
-fctstr_endswith(char const *str, char const *check)
-{
- size_t check_i;
- size_t str_i;
- if ( str == NULL && check == NULL )
- {
- return 1;
- }
- else if ( ((str == NULL) && (check != NULL))
- || ((str != NULL) && (check == NULL)) )
- {
- return 0;
- }
- check_i = strlen(check);
- str_i = strlen(str);
- if ( str_i < check_i )
- {
- return 0; /* Can't do it string is too small. */
- }
- for ( ; check_i != 0; --check_i, --str_i)
- {
- if ( str[str_i] != check[check_i] )
- {
- return 0; /* Found a case where they are not equal. */
- }
- }
- /* Exahausted check against string, can only be true. */
- return 1;
-}
-
-
-static int
-fctstr_iendswith(char const *str, char const *check)
-{
- size_t check_i;
- size_t str_i;
- if ( str == NULL && check == NULL )
- {
- return 1;
- }
- else if ( ((str == NULL) && (check != NULL))
- || ((str != NULL) && (check == NULL)) )
- {
- return 0;
- }
- check_i = strlen(check);
- str_i = strlen(str);
- if ( str_i < check_i )
- {
- return 0; /* Can't do it string is too small. */
- }
- for ( ; check_i != 0; --check_i, --str_i)
- {
- if ( tolower((int)str[str_i]) != tolower((int)check[check_i]) )
- {
- return 0; /* Found a case where they are not equal. */
- }
- }
- /* Exahausted check against string, can only be true. */
- return 1;
-}
-
-
-/* Use this with the _end variant to get the
-
-STARTSWITH ........................................ END
-
-effect. Assumes that the line will be maxwidth in characters. The
-maxwidth can't be greater than FCT_DOTTED_MAX_LEN. */
-#define FCT_DOTTED_MAX_LEN 256
-static void
-fct_dotted_line_start(size_t maxwidth, char const *startwith)
-{
- char line[FCT_DOTTED_MAX_LEN];
- size_t len =0;
- size_t line_len =0;
-
- memset(line, '.', sizeof(char)*maxwidth);
- len = strlen(startwith);
- line_len = FCTMIN(maxwidth-1, len);
- memcpy(line, startwith, sizeof(char)*line_len);
- if ( len < maxwidth-1)
- {
- line[len] = ' ';
- }
- line[maxwidth-1] = '\0';
- fputs(line, stdout);
-}
-
-
-static void
-fct_dotted_line_end(char const *endswith)
-{
- printf(" %s\n", endswith);
-}
-
-
-/*
---------------------------------------------------------
-TIMER
---------------------------------------------------------
-This is a low-res implementation at the moment.
-
-We will improve this in the future, and isolate the
-implementation from the rest of the code.
-*/
-
-typedef struct _fct_timer_t fct_timer_t;
-struct _fct_timer_t
-{
- clock_t start;
- clock_t stop;
- double duration;
-};
-
-
-static void
-fct_timer__init(fct_timer_t *timer)
-{
- FCT_ASSERT(timer != NULL);
- memset(timer, 0, sizeof(fct_timer_t));
-}
-
-
-static void
-fct_timer__start(fct_timer_t *timer)
-{
- FCT_ASSERT(timer != NULL);
- timer->start = clock();
-}
-
-
-static void
-fct_timer__stop(fct_timer_t *timer)
-{
- FCT_ASSERT(timer != NULL);
- timer->stop = clock();
- timer->duration = (double) (timer->stop - timer->start) / CLOCKS_PER_SEC;
-}
-
-
-/* Returns the time in seconds. */
-static double
-fct_timer__duration(fct_timer_t const *timer)
-{
- FCT_ASSERT( timer != NULL );
- return timer->duration;
-}
-
-
-/*
---------------------------------------------------------
-GENERIC LIST
---------------------------------------------------------
-*/
-
-/* For now we will just keep it at a linear growth rate. */
-#define FCT_LIST_GROWTH_FACTOR 2
-
-/* Starting size for the list, to keep it simple we will start
-at a reasonable size. */
-#define FCT_LIST_DEFAULT_START_SZ 8
-
-/* Helper macros for quickly iterating through a list. You should be able
-to do something like,
-
- FCT_NLIST_FOREACH_BGN(fct_logger_i*, logger, my_list)
- {
- fct_logger__on_blah(logger);
- }
- FCT_NLIST_FOREACH_END();
-
-*/
-#define FCT_NLIST_FOREACH_BGN(Type, Var, List)\
-{\
- if ( List != NULL ) {\
- size_t item_i##Var;\
- size_t num_items##Var = fct_nlist__size(List);\
- for( item_i##Var =0; item_i##Var != num_items##Var; ++item_i##Var )\
- {\
- Type Var = (Type) fct_nlist__at((List), item_i##Var);
-
-#define FCT_NLIST_FOREACH_END() }}}
-
-/* Used to manage a list of loggers. This works mostly like
-the STL vector, where the array grows as more items are
-appended. */
-typedef struct _fct_nlist_t fct_nlist_t;
-struct _fct_nlist_t
-{
- /* Item's are stored as pointers to void. */
- void **itm_list;
-
- /* Indicates the number of element's in the array. */
- size_t avail_itm_num;
-
- /* Indicates the number of actually elements in the array. */
- size_t used_itm_num;
-};
-typedef void (*fct_nlist_on_del_t)(void*);
-
-
-/* Clears the contents of the list, and sets the list count to 0. The
-actual count remains unchanged. If on_del is supplied it is executed
-against each list element. */
-static void
-fct_nlist__clear(fct_nlist_t *list, fct_nlist_on_del_t on_del)
-{
- size_t itm_i__ =0;
- FCT_ASSERT( list != NULL );
- if ( on_del != NULL )
- {
- for ( itm_i__=0; itm_i__ != list->used_itm_num; ++itm_i__ )
- {
- on_del(list->itm_list[itm_i__]);
- }
- }
- list->used_itm_num =0;
-}
-
-
-/* If you used init, then close with final. This is useful for
-working with structures that live on the stack. */
-static void
-fct_nlist__final(fct_nlist_t *list, fct_nlist_on_del_t on_del)
-{
- FCT_ASSERT( list != NULL );
- fct_nlist__clear(list, on_del);
- free(list->itm_list);
-}
-
-
-static int
-fct_nlist__init2(fct_nlist_t *list, size_t start_sz)
-{
- FCT_ASSERT( list != NULL );
- if ( start_sz == 0 )
- {
- list->itm_list = NULL;
- }
- else
- {
- list->itm_list = (void**)malloc(sizeof(void*)*start_sz);
- if ( list->itm_list == NULL )
- {
- return 0;
- }
- }
- /* If these are both 0, then they are equal and that means
- that the first append operation will allocate memory. The beauty
- here is that if the list remains empty, then we save a malloc.
- Empty lists are relatively common in FCT (consider an error list). */
- list->avail_itm_num = start_sz;
- list->used_itm_num =0;
- return 1;
-}
-
-
-/* Initializes a list. Useful for populating existing structures.
-Returns 0 if there was an error allocating memory. Returns 1 otherwise. */
-#define fct_nlist__init(_LIST_PTR_) \
- (fct_nlist__init2((_LIST_PTR_), FCT_LIST_DEFAULT_START_SZ))
-
-
-/* Returns the number of elements within the list. */
-static size_t
-fct_nlist__size(fct_nlist_t const *list)
-{
- FCT_ASSERT( list != NULL );
- return list->used_itm_num;
-}
-
-
-/* Returns the item at idx, asserts otherwise. */
-static void*
-fct_nlist__at(fct_nlist_t const *list, size_t idx)
-{
- FCT_ASSERT( list != NULL );
- FCT_ASSERT( idx < list->used_itm_num );
- return list->itm_list[idx];
-}
-
-
-static void
-fct_nlist__append(fct_nlist_t *list, void *itm)
-{
- FCT_ASSERT( list != NULL );
- /* If we ran out of room, then the last increment should be equal to the
- available space, in this case we need to grow a little more. If this
- list started as size 0, then we should encounter the same effect as
- "running out of room." */
- if ( list->used_itm_num == list->avail_itm_num )
- {
- /* Use multiple and add, since the avail_itm_num could be 0. */
- list->avail_itm_num = list->avail_itm_num*FCT_LIST_GROWTH_FACTOR+\
- FCT_LIST_GROWTH_FACTOR;
- list->itm_list = (void**)realloc(
- list->itm_list, sizeof(void*)*list->avail_itm_num
- );
- FCT_ASSERT( list->itm_list != NULL && "memory check");
- }
-
- list->itm_list[list->used_itm_num] = itm;
- ++(list->used_itm_num);
-}
-
-
-
-/*
------------------------------------------------------------
-A SINGLE CHECK
------------------------------------------------------------
-This defines a single check. It indicates what the check was,
-and where it occurred. A "Test" object will have-a bunch
-of "checks".
-*/
-
-struct _fctchk_t
-{
- /* This string that represents the condition. */
- char cndtn[FCT_MAX_LOG_LINE];
-
- /* These indicate where the condition occurred. */
- char file[FCT_MAX_LOG_LINE];
-
- int lineno;
-
- nbool_t is_pass;
-
- /* This is a message that we can "format into", if
- no format string is specified this should be
- equivalent to the cntdn. */
- char msg[FCT_MAX_LOG_LINE];
-};
-
-#define fctchk__is_pass(_CHK_) ((_CHK_)->is_pass)
-#define fctchk__file(_CHK_) ((_CHK_)->file)
-#define fctchk__lineno(_CHK_) ((_CHK_)->lineno)
-#define fctchk__cndtn(_CHK_) ((_CHK_)->cndtn)
-#define fctchk__msg(_CHK_) ((_CHK_)->msg)
-
-static fctchk_t*
-fctchk_new(int is_pass,
- char const *cndtn,
- char const *file,
- int lineno,
- char const *format,
- va_list args)
-{
- fctchk_t *chk = NULL;
-
- FCT_ASSERT( cndtn != NULL );
- FCT_ASSERT( file != NULL );
- FCT_ASSERT( lineno > 0 );
-
- chk = (fctchk_t*)calloc(1, sizeof(fctchk_t));
- if ( chk == NULL )
- {
- return NULL;
- }
-
- fctstr_safe_cpy(chk->cndtn, cndtn, FCT_MAX_LOG_LINE);
- fctstr_safe_cpy(chk->file, file, FCT_MAX_LOG_LINE);
- chk->lineno = lineno;
-
- chk->is_pass =is_pass;
-
- if ( format != NULL )
- {
- fct_vsnprintf(chk->msg, FCT_MAX_LOG_LINE, format, args);
- }
- else
- {
- /* Default to make the condition be the message, if there was no format
- specified. */
- fctstr_safe_cpy(chk->msg, cndtn, FCT_MAX_LOG_LINE);
- }
-
- return chk;
-}
-
-
-/* Cleans up a "check" object. If the `chk` is NULL, this function does
-nothing. */
-static void
-fctchk__del(fctchk_t *chk)
-{
- if ( chk == NULL )
- {
- return;
- }
- free( chk );
-}
-
-
-/*
------------------------------------------------------------
-A TEST
------------------------------------------------------------
-A suite will have-a list of tests. Where each test will have-a
-list of failed and passed checks.
-*/
-
-struct _fct_test_t
-{
- /* List of failed and passed "checks" (fctchk_t). Two seperate
- lists make it faster to determine how many checks passed and how
- many checks failed. */
- fct_nlist_t failed_chks;
- fct_nlist_t passed_chks;
-
- /* To store the test run time */
- fct_timer_t timer;
-
- /* The name of the test case. */
- char name[FCT_MAX_NAME];
-};
-
-#define fct_test__name(_TEST_) ((_TEST_)->name)
-
-/* Clears the failed tests ... partly for internal testing. */
-#define fct_test__clear_failed(test) \
- fct_nlist__clear(test->failed_chks, (fct_nlist_on_del_t)fctchk__del);\
-
-
-static void
-fct_test__del(fct_test_t *test)
-{
- if (test == NULL )
- {
- return;
- }
- fct_nlist__final(&(test->passed_chks), (fct_nlist_on_del_t)fctchk__del);
- fct_nlist__final(&(test->failed_chks), (fct_nlist_on_del_t)fctchk__del);
- free(test);
-}
-
-
-static fct_test_t*
-fct_test_new(char const *name)
-{
- nbool_t ok =FCT_FALSE;
- fct_test_t *test =NULL;
-
- test = (fct_test_t*)malloc(sizeof(fct_test_t));
- if ( test == NULL )
- {
- return NULL;
- }
-
- fctstr_safe_cpy(test->name, name, FCT_MAX_NAME);
-
- /* Failures are an exception, so lets not allocate up
- the list until we need to. */
- fct_nlist__init2(&(test->failed_chks), 0);
- if (!fct_nlist__init(&(test->passed_chks)))
- {
- ok =FCT_FALSE;
- goto finally;
- }
-
- fct_timer__init(&(test->timer));
-
- ok =FCT_TRUE;
-finally:
- if ( !ok )
- {
- fct_test__del(test);
- test =NULL;
- }
- return test;
-}
-
-
-static void
-fct_test__start_timer(fct_test_t *test)
-{
- FCT_ASSERT( test != NULL );
- fct_timer__start(&(test->timer));
-}
-
-
-static void
-fct_test__stop_timer(fct_test_t *test)
-{
- FCT_ASSERT( test != NULL );
- fct_timer__stop(&(test->timer));
-}
-
-
-static double
-fct_test__duration(fct_test_t const *test)
-{
- FCT_ASSERT( test != NULL );
- return fct_timer__duration(&(test->timer));
-}
-
-
-static nbool_t
-fct_test__is_pass(fct_test_t const *test)
-{
- FCT_ASSERT( test != NULL );
- return fct_nlist__size(&(test->failed_chks)) == 0;
-}
-
-
-static void
-fct_test__add(fct_test_t *test, fctchk_t *chk)
-{
-
- FCT_ASSERT( test != NULL );
- FCT_ASSERT( chk != NULL );
-
- if ( fctchk__is_pass(chk) )
- {
- fct_nlist__append(&(test->passed_chks), (void*)chk);
- }
- else
- {
- fct_nlist__append(&(test->failed_chks), (void*)chk);
- }
-}
-
-/* Returns the number of checks made throughout the test. */
-static size_t
-fct_test__chk_cnt(fct_test_t const *test)
-{
- FCT_ASSERT( test != NULL );
- return fct_nlist__size(&(test->failed_chks)) \
- + fct_nlist__size(&(test->passed_chks));
-}
-
-
-/*
------------------------------------------------------------
-TEST SUITE (TS)
------------------------------------------------------------
-*/
-
-
-/* The different types of 'modes' that a test suite can be in.
-
-While the test suite is iterating through all the tests, its "State"
-can change from "setup mode", to "test mode" to "tear down" mode.
-These help to indicate what mode are currently in. Think of it as a
-basic FSM.
-
- if the count was 0 end
- +--------->---------------------> ending_mode-----+-+
- | ^ |
- ^ | ^
-start | [if no more tests] |
- | | | |
- +-count_mode -> setup_mode -> test_mode -> teardown_mode->-+
- | ^ | |
- | +-----------<---------------+ |
- +----------->---[if fct_req fails]--------+
-
-*/
-enum ts_mode
-{
- ts_mode_cnt, /* To setup when done counting. */
- ts_mode_setup, /* To test when done setup. */
- ts_mode_teardown, /* To ending mode, when no more tests. */
- ts_mode_test, /* To tear down mode. */
- ts_mode_ending, /* To ... */
- ts_mode_end, /* .. The End. */
- ts_mode_abort /* Abort */
-};
-
-/* Types of states the test could be in. */
-typedef enum
-{
- fct_test_status_SUCCESS,
- fct_test_status_FAILURE
-} fct_test_status;
-
-
-struct _fct_ts_t
-{
- /* For counting our 'current' test number, and the total number of
- tests. */
- int curr_test_num;
- int total_test_num;
-
- /* Keeps track of the current state of the object while it is walking
- through its "FSM" */
- enum ts_mode mode;
-
- /* The name of the test suite. */
- char name[FCT_MAX_NAME];
-
- /* List of tests that where executed within the test suite. */
- fct_nlist_t test_list;
-};
-
-
-#define fct_ts__is_setup_mode(ts) ((ts)->mode == ts_mode_setup)
-#define fct_ts__is_teardown_mode(ts) ((ts)->mode == ts_mode_teardown)
-#define fct_ts__is_test_mode(ts) ((ts)->mode == ts_mode_test)
-#define fct_ts__is_ending_mode(ts) ((ts)->mode == ts_mode_ending)
-#define fct_ts__is_end(ts) ((ts)->mode == ts_mode_end)
-#define fct_ts__is_cnt_mode(ts) ((ts)->mode == ts_mode_cnt)
-#define fct_ts__is_abort_mode(ts) ((ts)->mode == ts_mode_abort)
-
-/* This cndtn is set when we have iterated through all the tests, and
-there was nothing more to do. */
-#define fct_ts__ending(ts) ((ts)->mode = ts_mode_ending)
-
-/* Flag a test suite as complete. It will no longer accept any more tests. */
-#define fct_ts__end(ts) ((ts)->mode = ts_mode_end)
-
-#define fct_ts__name(ts) ((ts)->name)
-
-
-static void
-fct_ts__del(fct_ts_t *ts)
-{
- if ( ts == NULL )
- {
- return;
- }
- fct_nlist__final(&(ts->test_list), (fct_nlist_on_del_t)fct_test__del);
- free(ts);
-}
-
-static fct_ts_t *
-fct_ts_new(char const *name)
-{
- fct_ts_t *ts =NULL;
- ts = (fct_ts_t*)calloc(1, sizeof(fct_ts_t));
- FCT_ASSERT( ts != NULL );
-
- fctstr_safe_cpy(ts->name, name, FCT_MAX_NAME);
- ts->mode = ts_mode_cnt;
- fct_nlist__init(&(ts->test_list));
- return ts;
-}
-
-
-
-static nbool_t
-fct_ts__is_more_tests(fct_ts_t const *ts)
-{
- FCT_ASSERT( ts != NULL );
- FCT_ASSERT( !fct_ts__is_end(ts) );
- return ts->curr_test_num < ts->total_test_num;
-}
-
-
-/* Indicates that we have started a test case. */
-static void
-fct_ts__test_begin(fct_ts_t *ts)
-{
- FCT_ASSERT( !fct_ts__is_end(ts) );
- ++(ts->curr_test_num);
-}
-
-
-/* Takes OWNERSHIP of a test object, and warehouses it for later stat
-generation. */
-static void
-fct_ts__add_test(fct_ts_t *ts, fct_test_t *test)
-{
- FCT_ASSERT( ts != NULL && "invalid arg");
- FCT_ASSERT( test != NULL && "invalid arg");
- FCT_ASSERT( !fct_ts__is_end(ts) );
- fct_nlist__append(&(ts->test_list), test);
-}
-
-
-static void
-fct_ts__test_end(fct_ts_t *ts)
-{
- FCT_ASSERT( ts != NULL );
- /* After a test has completed, move to teardown mode. */
- ts->mode = ts_mode_teardown;
-}
-
-
-/* Increments the internal count by 1. */
-static void
-fct_ts__inc_total_test_num(fct_ts_t *ts)
-{
- FCT_ASSERT( ts != NULL );
- FCT_ASSERT( fct_ts__is_cnt_mode(ts) );
- FCT_ASSERT( !fct_ts__is_end(ts) );
- ++(ts->total_test_num);
-}
-
-
-/* Flags the end of the setup, which implies we are going to move into
-setup mode. You must be already in setup mode for this to work! */
-static void
-fct_ts__setup_end(fct_ts_t *ts)
-{
- if ( ts->mode != ts_mode_abort )
- {
- ts->mode = ts_mode_test;
- }
-}
-
-
-static fct_test_t *
-fct_ts__make_abort_test(fct_ts_t *ts)
-{
- char setup_testname[FCT_MAX_LOG_LINE+1] = {'\0'};
- char const *suitename = fct_ts__name(ts);
- fct_snprintf(setup_testname, FCT_MAX_LOG_LINE, "setup_%s", suitename);
- return fct_test_new(setup_testname);
-}
-
-/* Flags a pre-mature abort of a setup (like a failed fct_req). */
-static void
-fct_ts__setup_abort(fct_ts_t *ts)
-{
- FCT_ASSERT( ts != NULL );
- ts->mode = ts_mode_abort;
-}
-
-/* Flags the end of the teardown, which implies we are going to move
-into setup mode (for the next 'iteration'). */
-static void
-fct_ts__teardown_end(fct_ts_t *ts)
-{
- if ( ts->mode == ts_mode_abort )
- {
- return; /* Because we are aborting . */
- }
- /* We have to decide if we should keep on testing by moving into tear down
- mode or if we have reached the real end and should be moving into the
- ending mode. */
- if ( fct_ts__is_more_tests(ts) )
- {
- ts->mode = ts_mode_setup;
- }
- else
- {
- ts->mode = ts_mode_ending;
- }
-}
-
-
-/* Flags the end of the counting, and proceeding to the first setup.
-Consider the special case when a test suite has NO tests in it, in
-that case we will have a current count that is zero, in which case
-we can skip right to 'ending'. */
-static void
-fct_ts__cnt_end(fct_ts_t *ts)
-{
- FCT_ASSERT( ts != NULL );
- FCT_ASSERT( fct_ts__is_cnt_mode(ts) );
- FCT_ASSERT( !fct_ts__is_end(ts) );
- if (ts->total_test_num == 0 )
- {
- ts->mode = ts_mode_ending;
- }
- else
- {
- ts->mode = ts_mode_setup;
- }
-}
-
-
-static nbool_t
-fct_ts__is_test_cnt(fct_ts_t const *ts, int test_num)
-{
- FCT_ASSERT( ts != NULL );
- FCT_ASSERT( 0 <= test_num );
- FCT_ASSERT( test_num < ts->total_test_num );
- FCT_ASSERT( !fct_ts__is_end(ts) );
-
- /* As we roll through the tests we increment the count. With this
- count we can decide if we need to execute a test or not. */
- return test_num == ts->curr_test_num;
-}
-
-
-/* Returns the # of tests on the FCT TS object. This is the actual
-# of tests executed. */
-static size_t
-fct_ts__tst_cnt(fct_ts_t const *ts)
-{
- FCT_ASSERT( ts != NULL );
- FCT_ASSERT(
- fct_ts__is_end(ts)
- && "can't count number of tests executed until the test suite ends"
- );
- return fct_nlist__size(&(ts->test_list));
-}
-
-
-/* Returns the # of tests in the TS object that passed. */
-static size_t
-fct_ts__tst_cnt_passed(fct_ts_t const *ts)
-{
- size_t tally =0;
-
- FCT_ASSERT( ts != NULL );
- FCT_ASSERT( fct_ts__is_end(ts) );
-
- FCT_NLIST_FOREACH_BGN(fct_test_t*, test, &(ts->test_list))
- {
- if ( fct_test__is_pass(test) )
- {
- tally += 1;
- }
- }
- FCT_NLIST_FOREACH_END();
- return tally;
-}
-
-
-/* Returns the # of checks made throughout a test suite. */
-static size_t
-fct_ts__chk_cnt(fct_ts_t const *ts)
-{
- size_t tally =0;
-
- FCT_ASSERT( ts != NULL );
-
- FCT_NLIST_FOREACH_BGN(fct_test_t *, test, &(ts->test_list))
- {
- tally += fct_test__chk_cnt(test);
- }
- FCT_NLIST_FOREACH_END();
- return tally;
-}
-
-/* Currently the duration is simply a sum of all the tests. */
-static double
-fct_ts__duration(fct_ts_t const *ts)
-{
- double tally =0.0;
- FCT_ASSERT( ts != NULL );
- FCT_NLIST_FOREACH_BGN(fct_test_t *, test, &(ts->test_list))
- {
- tally += fct_test__duration(test);
- }
- FCT_NLIST_FOREACH_END();
- return tally;
-}
-
-
-/*
---------------------------------------------------------
-FCT COMMAND LINE OPTION INITIALIZATION (fctcl_init)
---------------------------------------------------------
-
-Structure used for command line initialization. To keep it clear that we do
-not delete the char*'s present on this structure.
-*/
-
-
-typedef enum
-{
- FCTCL_STORE_UNDEFINED,
- FCTCL_STORE_TRUE,
- FCTCL_STORE_VALUE
-} fctcl_store_t;
-
-
-typedef struct _fctcl_init_t
-{
- /* What to parse for this option. --long versus -s. */
- char const *long_opt; /* i.e. --help */
- char const *short_opt; /* i.e. -h */
-
- /* What action to take when the option is activated. */
- fctcl_store_t action;
-
- /* The help string for the action. */
- char const *help;
-} fctcl_init_t;
-
-
-/* Use when defining the option list. */
-#define FCTCL_INIT_NULL \
- {NULL, NULL, FCTCL_STORE_UNDEFINED, NULL}
-
-
-/*
---------------------------------------------------------
-FCT COMMAND LINE OPTION (fctcl)
---------------------------------------------------------
-
-Specifies the command line configuration options. Use this
-to help initialize the fct_clp (command line parser).
-*/
-
-
-/* Handy strings for storing "true" and "false". We can reference
-these strings throughout the parse operation and not have to
-worry about dealing with memory. */
-#define FCTCL_TRUE_STR "1"
-
-
-typedef struct _fctcl_t
-{
- /* What to parse for this option. --long versus -s. */
- char *long_opt; /* i.e. --help */
- char *short_opt; /* i.e. -h */
-
- /* What action to take when the option is activated. */
- fctcl_store_t action;
-
- /* The help string for the action. */
- char *help;
-
- /* The result. */
- char *value;
-} fctcl_t;
-
-
-#define fctcl_new() ((fctcl_t*)calloc(1, sizeof(fctcl_t)))
-
-
-static void
-fctcl__del(fctcl_t *clo)
-{
- if ( clo == NULL )
- {
- return;
- }
- if ( clo->long_opt )
- {
- free(clo->long_opt);
- }
- if ( clo->short_opt)
- {
- free(clo->short_opt);
- }
- if ( clo->value )
- {
- free(clo->value);
- }
- if ( clo->help )
- {
- free(clo->help);
- }
- free(clo);
-}
-
-
-static fctcl_t*
-fctcl_new2(fctcl_init_t const *clo_init)
-{
- fctcl_t *clone = NULL;
- int ok =0;
- clone = fctcl_new();
- if ( clone == NULL )
- {
- return NULL;
- }
- clone->action = clo_init->action;
- if ( clo_init->help == NULL )
- {
- clone->help = NULL;
- }
- else
- {
- clone->help = fctstr_clone(clo_init->help);
- if ( clone->help == NULL )
- {
- ok =0;
- goto finally;
- }
- }
- if ( clo_init->long_opt == NULL )
- {
- clone->long_opt = NULL;
- }
- else
- {
- clone->long_opt = fctstr_clone(clo_init->long_opt);
- if ( clone->long_opt == NULL )
- {
- ok = 0;
- goto finally;
- }
- }
- if ( clo_init->short_opt == NULL )
- {
- clone->short_opt = NULL;
- }
- else
- {
- clone->short_opt = fctstr_clone(clo_init->short_opt);
- if ( clone->short_opt == NULL )
- {
- ok =0;
- goto finally;
- }
- }
- ok = 1;
-finally:
- if ( !ok )
- {
- fctcl__del(clone);
- clone = NULL;
- }
- return clone;
-}
-
-
-static int
-fctcl__is_option(fctcl_t const *clo, char const *option)
-{
- FCT_ASSERT( clo != NULL );
- if ( option == NULL )
- {
- return 0;
- }
- return ((clo->long_opt != NULL
- && fctstr_eq(clo->long_opt, option))
- ||
- (clo->short_opt != NULL
- && fctstr_eq(clo->short_opt, option))
- );
-}
-
-
-#define fctcl__set_value(_CLO_, _VAL_) \
- (_CLO_)->value = fctstr_clone((_VAL_));
-
-/*
---------------------------------------------------------
-FCT COMMAND PARSER (fct_clp)
---------------------------------------------------------
-*/
-
-#define FCT_CLP_MAX_ERR_MSG_LEN 256
-
-typedef struct _fct_clp_t
-{
- /* List of command line options. */
- fct_nlist_t clo_list;
-
- /* List of parameters (not options). */
- fct_nlist_t param_list;
-
- char error_msg[FCT_CLP_MAX_ERR_MSG_LEN];
- int is_error;
-} fct_clp_t;
-
-
-static void
-fct_clp__final(fct_clp_t *clp)
-{
- fct_nlist__final(&(clp->clo_list), (fct_nlist_on_del_t)fctcl__del);
- fct_nlist__final(&(clp->param_list), (fct_nlist_on_del_t)free);
-}
-
-
-/* Add an configuration options. */
-static int
-fct_clp__add_options(fct_clp_t *clp, fctcl_init_t const *options)
-{
- fctcl_init_t const *pclo =NULL;
- int ok;
- for ( pclo = options; pclo->action != FCTCL_STORE_UNDEFINED; ++pclo )
- {
- fctcl_t *cpy = fctcl_new2(pclo);
- if ( cpy == NULL )
- {
- ok = 0;
- goto finally;
- }
- fct_nlist__append(&(clp->clo_list), (void*)cpy);
- }
- ok =1;
-finally:
- return ok;
-}
-
-/* Returns false if we ran out of memory. */
-static int
-fct_clp__init(fct_clp_t *clp, fctcl_init_t const *options)
-{
- int ok =0;
- FCT_ASSERT( clp != NULL );
- /* It is just much saner to manage a clone of the options. Then we know
- who is in charge of the memory. */
- ok = fct_nlist__init(&(clp->clo_list));
- if ( !ok )
- {
- goto finally;
- }
- if ( options != NULL )
- {
- ok = fct_clp__add_options(clp, options);
- if ( !ok )
- {
- goto finally;
- }
- }
- ok = fct_nlist__init(&(clp->param_list));
- if ( !ok )
- {
- goto finally;
- }
- ok =1;
-finally:
- if ( !ok )
- {
- fct_clp__final(clp);
- }
- return ok;
-}
-
-
-/* Parses the command line arguments. Use fct_clp__is_error and
-fct_clp__get_error to figure out if something went awry. */
-static void
-fct_clp__parse(fct_clp_t *clp, int argc, char const *argv[])
-{
- int argi =1;
- int is_option =0;
- char *arg =NULL;
- char *token =NULL;
- char *next_token =NULL;
-
- clp->error_msg[0] = '\0';
- clp->is_error =0;
-
- while ( argi < argc )
- {
- is_option =0;
- token =NULL;
- next_token = NULL;
- arg = fctstr_clone(argv[argi]);
-
-#if defined(_MSC_VER) && _MSC_VER > 1300
- token = strtok_s(arg, "=", &next_token);
-#else
- token = strtok(arg, "=");
- next_token = strtok(NULL, "=");
-#endif
-
- FCT_NLIST_FOREACH_BGN(fctcl_t*, pclo, &(clp->clo_list))
- {
- /* Need to reset for each search. strtok below is destructive. */
- if ( fctcl__is_option(pclo, token) )
- {
- is_option =1;
- if ( pclo->action == FCTCL_STORE_VALUE )
- {
- /* If this is --xxxx=value then the next strtok should succeed.
- Otherwise, we need to chew up the next argument. */
- if ( next_token != NULL && strlen(next_token) > 0 )
- {
- fctcl__set_value(pclo, next_token);
- }
- else
- {
- ++argi; /* Chew up the next value */
- if ( argi >= argc )
- {
- /* error */
- fct_snprintf(
- clp->error_msg,
- FCT_CLP_MAX_ERR_MSG_LEN,
- "missing argument for %s",
- token
- );
- clp->is_error =1;
- break;
- }
- fctcl__set_value(pclo, argv[argi]);
- }
- }
- else if (pclo->action == FCTCL_STORE_TRUE)
- {
- fctcl__set_value(pclo, FCTCL_TRUE_STR);
- }
- else
- {
- FCT_ASSERT("undefined action requested");
- }
- break; /* No need to parse this argument further. */
- }
- }
- FCT_NLIST_FOREACH_END();
- /* If we have an error, exit. */
- if ( clp->is_error )
- {
- break;
- }
- /* If we walked through all the options, and didn't find
- anything, then we must have a parameter. Forget the fact that
- an unknown option will be treated like a parameter... */
- if ( !is_option )
- {
- fct_nlist__append(&(clp->param_list), arg);
- arg =NULL; /* Owned by the nlist */
- }
- ++argi;
- if ( arg != NULL )
- {
- free(arg);
- arg =NULL;
- }
- }
-}
-
-
-static fctcl_t const*
-fct_clp__get_clo(fct_clp_t const *clp, char const *option)
-{
- fctcl_t const *found =NULL;
-
- FCT_NLIST_FOREACH_BGN(fctcl_t const*, pclo, &(clp->clo_list))
- {
- if ( fctcl__is_option(pclo, option) )
- {
- found = pclo;
- break;
- }
- }
- FCT_NLIST_FOREACH_END();
- return found;
-}
-
-
-#define fct_clp__optval(_CLP_, _OPTION_) \
- fct_clp__optval2((_CLP_), (_OPTION_), NULL)
-
-
-/* Returns the value parsed at the command line, and equal to OPTION.
-If the value wasn't parsed, the DEFAULT_VAL is returned instead. */
-static char const*
-fct_clp__optval2(fct_clp_t *clp, char const *option, char const *default_val)
-{
- fctcl_t const *clo =NULL;
- FCT_ASSERT( clp != NULL );
- FCT_ASSERT( option != NULL );
- clo = fct_clp__get_clo(clp, option);
- if ( clo == NULL || clo->value == NULL)
- {
- return default_val;
- }
- return clo->value;
-}
-
-
-
-/* Mainly used for unit tests. */
-static int
-fct_clp__is_param(fct_clp_t *clp, char const *param)
-{
- if ( clp == NULL || param == NULL )
- {
- return 0;
- }
- FCT_NLIST_FOREACH_BGN(char *, aparam, &(clp->param_list))
- {
- if ( fctstr_eq(aparam, param) )
- {
- return 1;
- }
- }
- FCT_NLIST_FOREACH_END();
- return 0;
-}
-
-
-#define fct_clp__is_error(_CLP_) ((_CLP_)->is_error)
-#define fct_clp__get_error(_CLP_) ((_CLP_)->error_msg);
-
-#define fct_clp__num_clo(_CLP_) \
- (fct_nlist__size(&((_CLP_)->clo_list)))
-
-#define fct_clp__param_cnt(_CLP_) \
- (fct_nlist__size(&((_CLP_)->param_list)))
-
-/* Returns a *reference* to the parameter at _IDX_. Do not modify
-its contents. */
-#define fct_clp__param_at(_CLP_, _IDX_) \
- ((char const*)fct_nlist__at(&((_CLP_)->param_list), (_IDX_)))
-
-
-/* Returns true if the given option was on the command line.
-Use either the long or short option name to check against. */
-#define fct_clp__is(_CLP_, _OPTION_) \
- (fct_clp__optval((_CLP_), (_OPTION_)) != NULL)
-
-
-
-/*
---------------------------------------------------------
-FCT NAMESPACE
---------------------------------------------------------
-
-The macros below start to pollute the watch window with
-lots of "system" variables. This NAMESPACE is an
-attempt to hide all the "system" variables in one place.
-*/
-typedef struct _fct_namespace_t
-{
- /* The currently active test suite. */
- fct_ts_t *ts_curr;
- int ts_is_skip_suite;
- char const *ts_skip_cndtn;
-
- /* Current test name. */
- char const* curr_test_name;
- fct_test_t *curr_test;
- const char *test_skip_cndtn;
- int test_is_skip;
-
- /* Counts the number of tests in a test suite. */
- int test_num;
-
- /* Set at the end of the test suites. */
- size_t num_total_failed;
-} fct_namespace_t;
-
-
-static void
-fct_namespace_init(fct_namespace_t *ns)
-{
- FCT_ASSERT( ns != NULL && "invalid argument!");
- memset(ns, 0, sizeof(fct_namespace_t));
-}
-
-
-/*
---------------------------------------------------------
-FCT KERNAL
---------------------------------------------------------
-
-The "fctkern" is a singleton that is defined throughout the
-system.
-*/
-
-struct _fctkern_t
-{
- /* Holds variables used throughout MACRO MAGIC. In order to reduce
- the "noise" in the watch window during a debug trace. */
- fct_namespace_t ns;
-
- /* Command line parsing. */
- fct_clp_t cl_parser;
-
- /* Hold onto the command line arguments. */
- int cl_argc;
- char const **cl_argv;
- /* Track user options. */
- fctcl_init_t const *cl_user_opts;
-
- /* Tracks the delay parsing. */
- int cl_is_parsed;
-
- /* This is an list of loggers that can be used in the fct system. */
- fct_nlist_t logger_list;
-
- /* Array of custom types, you have built-in system ones and you
- have optionally supplied user ones.. */
- fct_logger_types_t *lt_usr;
- fct_logger_types_t *lt_sys;
-
- /* This is a list of prefix's that can be used to determine if a
- test is should be run or not. */
- fct_nlist_t prefix_list;
-
- /* This is a list of test suites that where generated throughout the
- testing process. */
- fct_nlist_t ts_list;
-
- /* Records what we expect to fail. */
- size_t num_expected_failures;
-};
-
-
-#define FCT_OPT_VERSION "--version"
-#define FCT_OPT_VERSION_SHORT "-v"
-#define FCT_OPT_HELP "--help"
-#define FCT_OPT_HELP_SHORT "-h"
-#define FCT_OPT_LOGGER "--logger"
-#define FCT_OPT_LOGGER_SHORT "-l"
-static fctcl_init_t FCT_CLP_OPTIONS[] =
-{
- /* Totally unsafe, since we are assuming we can clean out this data,
- what I need to do is have an "initialization" object, full of
- const objects. But for now, this should work. */
- {
- FCT_OPT_VERSION,
- FCT_OPT_VERSION_SHORT,
- FCTCL_STORE_TRUE,
- "Displays the FCTX version number and exits."
- },
- {
- FCT_OPT_HELP,
- FCT_OPT_HELP_SHORT,
- FCTCL_STORE_TRUE,
- "Shows this help."
- },
- {
- FCT_OPT_LOGGER,
- FCT_OPT_LOGGER_SHORT,
- FCTCL_STORE_VALUE,
- NULL
- },
- FCTCL_INIT_NULL /* Sentinel */
-};
-
-typedef fct_logger_i* (*fct_logger_new_fn)(void);
-struct _fct_logger_types_t
-{
- char const *name;
- fct_logger_new_fn logger_new_fn;
- char const *desc;
-};
-
-static fct_logger_types_t FCT_LOGGER_TYPES[] =
-{
- {
- "standard",
- (fct_logger_new_fn)fct_standard_logger_new,
- "the basic fctx logger"
- },
- {
- "minimal",
- (fct_logger_new_fn)fct_minimal_logger_new,
- "the least amount of logging information."
- },
- {
- "junit",
- (fct_logger_new_fn)fct_junit_logger_new,
- "junit compatable xml"
- },
- {NULL, (fct_logger_new_fn)NULL, NULL} /* Sentinel */
-};
-
-
-/* Returns the number of filters defined for the fct kernal. */
-#define fctkern__filter_cnt(_NK_) (fct_nlist__size(&((_NK_)->prefix_list)))
-
-
-static void
-fctkern__add_logger(fctkern_t *nk, fct_logger_i *logger_owns)
-{
- FCT_ASSERT(nk != NULL && "invalid arg");
- FCT_ASSERT(logger_owns != NULL && "invalid arg");
- fct_nlist__append(&(nk->logger_list), logger_owns);
-}
-
-
-static void
-fctkern__write_help(fctkern_t *nk, FILE *out)
-{
- fct_clp_t *clp = &(nk->cl_parser);
- fprintf(out, "test.exe [options] prefix_filter ...\n\n");
- FCT_NLIST_FOREACH_BGN(fctcl_t*, clo, &(clp->clo_list))
- {
- if ( clo->short_opt != NULL )
- {
- fprintf(out, "%s, %s\n", clo->short_opt, clo->long_opt);
- }
- else
- {
- fprintf(out, "%s\n", clo->long_opt);
- }
- if ( !fctstr_ieq(clo->long_opt, FCT_OPT_LOGGER) )
- {
- /* For now lets not get to fancy with the text wrapping. */
- fprintf(out, " %s\n", clo->help);
- }
- else
- {
- fct_logger_types_t *types[2];
- int type_i;
- fct_logger_types_t *itr;
- types[0] = nk->lt_sys;
- types[1] = nk->lt_usr;
- fputs(" Sets the logger. The types of loggers currently "
- "available are,\n", out);
- for (type_i =0; type_i != 2; ++type_i )
- {
- for ( itr=types[type_i]; itr && itr->name != NULL; ++itr )
- {
- fprintf(out, " =%s : %s\n", itr->name, itr->desc);
- }
- }
- fprintf(out, " default is '%s'.\n", FCT_DEFAULT_LOGGER);
- }
- }
- FCT_NLIST_FOREACH_END();
- fputs("\n", out);
-}
-
-
-/* Appends a prefix filter that is used to determine if a test can
-be executed or not. If the test starts with the same characters as
-the prefix, then it should be "runnable". The prefix filter must be
-a non-NULL, non-Blank string. */
-static void
-fctkern__add_prefix_filter(fctkern_t *nk, char const *prefix_filter)
-{
- char *filter =NULL;
- size_t filter_len =0;
- FCT_ASSERT( nk != NULL && "invalid arg" );
- FCT_ASSERT( prefix_filter != NULL && "invalid arg" );
- FCT_ASSERT( strlen(prefix_filter) > 0 && "invalid arg" );
- /* First we make a copy of the prefix, then we store it away
- in our little list. */
- filter_len = strlen(prefix_filter);
- filter = (char*)malloc(sizeof(char)*(filter_len+1));
- fctstr_safe_cpy(filter, prefix_filter, filter_len+1);
- fct_nlist__append(&(nk->prefix_list), (void*)filter);
-}
-
-
-/* Cleans up the contents of a fctkern. NULL does nothing. */
-static void
-fctkern__final(fctkern_t *nk)
-{
- if ( nk == NULL )
- {
- return;
- }
- fct_clp__final(&(nk->cl_parser));
- fct_nlist__final(&(nk->logger_list), (fct_nlist_on_del_t)fct_logger__del);
- /* The prefix list is a list of malloc'd strings. */
- fct_nlist__final(&(nk->prefix_list), (fct_nlist_on_del_t)free);
- fct_nlist__final(&(nk->ts_list), (fct_nlist_on_del_t)fct_ts__del);
-}
-
-
-#define fctkern__cl_is_parsed(_NK_) ((_NK_)->cl_is_parsed)
-
-
-static int
-fctkern__cl_is(fctkern_t *nk, char const *opt_str)
-{
- FCT_ASSERT( opt_str != NULL );
- return opt_str[0] != '\0'
- && fct_clp__is(&(nk->cl_parser), opt_str);
-}
-
-
-/* Returns the command line value given by OPT_STR. If OPT_STR was not defined
-at the command line, DEF_STR is returned (you can use NULL for the DEF_STR).
-The result returned should not be mofidied, and MAY even be the same pointer
-to DEF_STR. */
-static char const *
-fctkern__cl_val2(fctkern_t *nk, char const *opt_str, char const *def_str)
-{
- FCT_ASSERT( opt_str != NULL );
- if ( nk == NULL )
- {
- return NULL;
- }
- return fct_clp__optval2(&(nk->cl_parser), opt_str, def_str);
-}
-
-
-/* Selects a logger from the list based on the selection name.
-May return NULL if the name doesn't exist in the list. */
-static fct_logger_i*
-fckern_sel_log(fct_logger_types_t *search, char const *sel_logger)
-{
- fct_logger_types_t *iter;
- FCT_ASSERT(search != NULL);
- FCT_ASSERT(sel_logger != NULL);
- FCT_ASSERT(strlen(sel_logger) > 0);
- for ( iter = search; iter->name != NULL; ++iter)
- {
- if ( fctstr_ieq(iter->name, sel_logger) )
- {
- return iter->logger_new_fn();
- }
- }
- return NULL;
-}
-
-static int
-fctkern__cl_parse_config_logger(fctkern_t *nk)
-{
- fct_logger_i *logger =NULL;
- char const *sel_logger =NULL;
- char const *def_logger =FCT_DEFAULT_LOGGER;
- sel_logger = fctkern__cl_val2(nk, FCT_OPT_LOGGER, def_logger);
- FCT_ASSERT(sel_logger != NULL && "should never be NULL");
- /* First search the user selected types, then search the
- built-in types. */
- if ( nk->lt_usr != NULL )
- {
- logger = fckern_sel_log(nk->lt_usr, sel_logger);
- }
- if ( nk->lt_sys != NULL && logger == NULL )
- {
- logger = fckern_sel_log(nk->lt_sys, sel_logger);
- }
- if ( logger == NULL )
- {
- /* No logger configured, you must have supplied an invalid selection. */
- fprintf(stderr, "error: unknown logger selected - '%s'", sel_logger);
- return 0;
- }
- fctkern__add_logger(nk, logger);
- logger = NULL; /* owned by nk. */
- return 1;
-}
-
-
-
-/* Call this if you want to (re)parse the command line options with a new
-set of options. Returns -1 if you are to abort with EXIT_SUCCESS, returns
-0 if you are to abort with EXIT_FAILURE and returns 1 if you are to continue. */
-static int
-fctkern__cl_parse(fctkern_t *nk)
-{
- int status =0;
- size_t num_params =0;
- size_t param_i =0;
- if ( nk == NULL )
- {
- return 0;
- }
- if ( nk->cl_user_opts != NULL )
- {
- if ( !fct_clp__add_options(&(nk->cl_parser), nk->cl_user_opts) )
- {
- status =0;
- goto finally;
- }
- }
- /* You want to add the "house options" after the user defined ones. The
- options are stored as a list so it means that any option listed after
- the above ones won't get parsed. */
- if ( !fct_clp__add_options(&(nk->cl_parser), FCT_CLP_OPTIONS) )
- {
- status =0;
- goto finally;
- }
- fct_clp__parse(&(nk->cl_parser), nk->cl_argc, nk->cl_argv);
- if ( fct_clp__is_error(&(nk->cl_parser)) )
- {
- char *err = fct_clp__get_error(&(nk->cl_parser));
- fprintf(stderr, "error: %s", err);
- status =0;
- goto finally;
- }
- num_params = fct_clp__param_cnt(&(nk->cl_parser));
- for ( param_i =0; param_i != num_params; ++param_i )
- {
- char const *param = fct_clp__param_at(&(nk->cl_parser), param_i);
- fctkern__add_prefix_filter(nk, param);
- }
- if ( fctkern__cl_is(nk, FCT_OPT_VERSION) )
- {
- (void)printf("Built using FCTX version %s.\n", FCT_VERSION_STR);
- status = -1;
- goto finally;
- }
- if ( fctkern__cl_is(nk, FCT_OPT_HELP) )
- {
- fctkern__write_help(nk, stdout);
- status = -1;
- goto finally;
- }
- if ( !fctkern__cl_parse_config_logger(nk) )
- {
- status = -1;
- goto finally;
- }
- status =1;
- nk->cl_is_parsed =1;
-finally:
- return status;
-}
-
-
-
-/* Parses the command line and sets up the framework. The argc and argv
-should be directly from the program's main. */
-static int
-fctkern__init(fctkern_t *nk, int argc, const char *argv[])
-{
- if ( argc == 0 && argv == NULL )
- {
- return 0;
- }
- memset(nk, 0, sizeof(fctkern_t));
- fct_clp__init(&(nk->cl_parser), NULL);
- fct_nlist__init(&(nk->logger_list));
- nk->lt_usr = NULL; /* Supplied via 'install' mechanics. */
- nk->lt_sys = FCT_LOGGER_TYPES;
- fct_nlist__init2(&(nk->prefix_list), 0);
- fct_nlist__init2(&(nk->ts_list), 0);
- nk->cl_is_parsed =0;
- /* Save a copy of the arguments. We do a delay parse of the command
- line arguments in order to allow the client code to optionally configure
- the command line parser.*/
- nk->cl_argc = argc;
- nk->cl_argv = argv;
- fct_namespace_init(&(nk->ns));
- return 1;
-}
-
-
-/* Takes OWNERSHIP of the test suite after we have finished executing
-its contents. This way we can build up all kinds of summaries at the end
-of a run. */
-static void
-fctkern__add_ts(fctkern_t *nk, fct_ts_t *ts)
-{
- FCT_ASSERT( nk != NULL );
- FCT_ASSERT( ts != NULL );
- fct_nlist__append(&(nk->ts_list), ts);
-}
-
-
-/* Returns FCT_TRUE if the supplied test_name passes the filters set on
-this test suite. If there are no filters, we return FCT_TRUE always. */
-static nbool_t
-fctkern__pass_filter(fctkern_t *nk, char const *test_name)
-{
- size_t prefix_i =0;
- size_t prefix_list_size =0;
- FCT_ASSERT( nk != NULL && "invalid arg");
- FCT_ASSERT( test_name != NULL );
- FCT_ASSERT( strlen(test_name) > 0 );
- prefix_list_size = fctkern__filter_cnt(nk);
- /* If there is no filter list, then we return FCT_TRUE always. */
- if ( prefix_list_size == 0 )
- {
- return FCT_TRUE;
- }
- /* Iterate through the prefix filter list, and see if we have
- anything that does not pass. All we require is ONE item that
- passes the test in order for us to succeed here. */
- for ( prefix_i = 0; prefix_i != prefix_list_size; ++prefix_i )
- {
- char const *prefix = (char const*)fct_nlist__at(
- &(nk->prefix_list), prefix_i
- );
- nbool_t pass = fct_filter_pass(prefix, test_name);
- if ( pass )
- {
- return FCT_TRUE;
- }
- }
- /* Otherwise, we never managed to find a prefix that satisfied the
- supplied test name. Therefore we have failed to pass to the filter
- list test. */
- return FCT_FALSE;
-}
-
-
-/* Returns the number of tests that were performed. */
-static size_t
-fctkern__tst_cnt(fctkern_t const *nk)
-{
- size_t tally =0;
- FCT_ASSERT( nk != NULL );
- FCT_NLIST_FOREACH_BGN(fct_ts_t *, ts, &(nk->ts_list))
- {
- tally += fct_ts__tst_cnt(ts);
- }
- FCT_NLIST_FOREACH_END();
- return tally;
-}
-
-
-/* Returns the number of tests that passed. */
-static size_t
-fctkern__tst_cnt_passed(fctkern_t const *nk)
-{
- size_t tally =0;
- FCT_ASSERT( nk != NULL );
-
- FCT_NLIST_FOREACH_BGN(fct_ts_t*, ts, &(nk->ts_list))
- {
- tally += fct_ts__tst_cnt_passed(ts);
- }
- FCT_NLIST_FOREACH_END();
-
- return tally;
-}
-
-
-/* Returns the number of tests that failed. */
-#define fctkern__tst_cnt_failed(nk) \
- (fctkern__tst_cnt(nk) - fctkern__tst_cnt_passed(nk))
-
-
-/* Returns the number of checks made throughout the entire test. */
-#if defined(FCT_USE_TEST_COUNT)
-static size_t
-fctkern__chk_cnt(fctkern_t const *nk)
-{
- size_t tally =0;
- FCT_ASSERT( nk != NULL );
-
- FCT_NLIST_FOREACH_BGN(fct_ts_t *, ts, &(nk->ts_list))
- {
- tally += fct_ts__chk_cnt(ts);
- }
- FCT_NLIST_FOREACH_END();
- return tally;
-}
-#endif /* FCT_USE_TEST_COUNT */
-
-
-/* Indicates the very end of all the tests. */
-#define fctkern__end(nk) /* unused */
-
-
-static void
-fctkern__log_suite_start(fctkern_t *nk, fct_ts_t const *ts)
-{
- FCT_ASSERT( nk != NULL );
- FCT_ASSERT( ts != NULL );
- FCT_NLIST_FOREACH_BGN(fct_logger_i*, logger, &(nk->logger_list))
- {
- fct_logger__on_test_suite_start(logger, ts);
- }
- FCT_NLIST_FOREACH_END();
-}
-
-
-static void
-fctkern__log_suite_end(fctkern_t *nk, fct_ts_t const *ts)
-{
- FCT_ASSERT( nk != NULL );
- FCT_ASSERT( ts != NULL );
- FCT_NLIST_FOREACH_BGN(fct_logger_i*, logger, &(nk->logger_list))
- {
- fct_logger__on_test_suite_end(logger, ts);
- }
- FCT_NLIST_FOREACH_END();
-}
-
-
-static void
-fctkern__log_suite_skip(fctkern_t *nk, char const *condition, char const *name)
-{
- if ( nk == NULL )
- {
- return;
- }
- FCT_NLIST_FOREACH_BGN(fct_logger_i*, logger, &(nk->logger_list))
- {
- fct_logger__on_test_suite_skip(logger, condition, name);
- }
- FCT_NLIST_FOREACH_END();
-}
-
-
-static void
-fctkern__log_test_skip(fctkern_t *nk, char const *condition, char const *name)
-{
- FCT_NLIST_FOREACH_BGN(fct_logger_i*, logger, &(nk->logger_list))
- {
- fct_logger__on_test_skip(logger, condition, name);
- }
- FCT_NLIST_FOREACH_END();
-}
-
-
-/* Use this for displaying information about a "Check" (i.e.
-a condition). */
-static void
-fctkern__log_chk(fctkern_t *nk, fctchk_t const *chk)
-{
- FCT_ASSERT( nk != NULL );
- FCT_ASSERT( chk != NULL );
- FCT_NLIST_FOREACH_BGN(fct_logger_i*, logger, &(nk->logger_list))
- {
- fct_logger__on_chk(logger, chk);
- }
- FCT_NLIST_FOREACH_END();
-}
-
-
-/* Use this for displaying warning messages. */
-static void
-fctkern__log_warn(fctkern_t *nk, char const *warn)
-{
- FCT_ASSERT( nk != NULL );
- FCT_ASSERT( warn != NULL );
- FCT_NLIST_FOREACH_BGN(fct_logger_i*, logger, &(nk->logger_list))
- {
- fct_logger__on_warn(logger, warn);
- }
- FCT_NLIST_FOREACH_END();
-}
-
-
-/* Called whenever a test is started. */
-static void
-fctkern__log_test_start(fctkern_t *nk, fct_test_t const *test)
-{
- FCT_ASSERT( nk != NULL );
- FCT_ASSERT( test != NULL );
- FCT_NLIST_FOREACH_BGN(fct_logger_i*, logger, &(nk->logger_list))
- {
- fct_logger__on_test_start(logger, test);
- }
- FCT_NLIST_FOREACH_END();
-}
-
-
-static void
-fctkern__log_test_end(fctkern_t *nk, fct_test_t *test)
-{
- FCT_ASSERT( nk != NULL );
- FCT_ASSERT( test != NULL );
- FCT_NLIST_FOREACH_BGN(fct_logger_i*, logger, &(nk->logger_list))
- {
- fct_logger__on_test_end(logger, test);
- }
- FCT_NLIST_FOREACH_END();
-}
-
-
-#define fctkern__log_start(_NK_) \
- {\
- FCT_NLIST_FOREACH_BGN(fct_logger_i*, logger, &((_NK_)->logger_list))\
- {\
- fct_logger__on_fctx_start(logger, (_NK_));\
- }\
- FCT_NLIST_FOREACH_END();\
- }
-
-
-#define fctkern__log_end(_NK_) \
- {\
- FCT_NLIST_FOREACH_BGN(fct_logger_i*, logger, &((_NK_)->logger_list))\
- {\
- fct_logger__on_fctx_end(logger, (_NK_));\
- }\
- FCT_NLIST_FOREACH_END();\
- }
-
-
-
-
-/*
------------------------------------------------------------
-LOGGER INTERFACE
-
-Defines an interface to a logging system. A logger
-must define the following functions in order to hook
-into the logging system.
-
-See the "Standard Logger" and "Minimal Logger" as examples
-of the implementation.
------------------------------------------------------------
-*/
-
-/* Common event argument. The values of the each event may or may not be
-defined depending on the event in question. */
-struct _fct_logger_evt_t
-{
- fctkern_t const *kern;
- fctchk_t const *chk;
- fct_test_t const *test;
- fct_ts_t const *ts;
- char const *msg;
- char const *cndtn;
- char const *name;
-};
-
-
-typedef struct _fct_logger_i_vtable_t
-{
- /* 1
- * Fired when an "fct_chk*" (check) function is completed. The event
- * will contain a reference to the "chk" object created.
- * */
- void (*on_chk)(fct_logger_i *logger, fct_logger_evt_t const *e);
-
- /* 2
- * Fired when a test starts and before any checks are made. The
- * event will have its "test" object set. */
- void (*on_test_start)(
- fct_logger_i *logger,
- fct_logger_evt_t const *e
- );
- /* 3 */
- void (*on_test_end)(
- fct_logger_i *logger,
- fct_logger_evt_t const *e
- );
- /* 4 */
- void (*on_test_suite_start)(
- fct_logger_i *logger,
- fct_logger_evt_t const *e
- );
- /* 5 */
- void (*on_test_suite_end)(
- fct_logger_i *logger,
- fct_logger_evt_t const *e
- );
- /* 6 */
- void (*on_fctx_start)(
- fct_logger_i *logger,
- fct_logger_evt_t const *e
- );
- /* 7 */
- void (*on_fctx_end)(
- fct_logger_i *logger,
- fct_logger_evt_t const *e
- );
- /* 8
- Called when the logger object must "clean up". */
- void (*on_delete)(
- fct_logger_i *logger,
- fct_logger_evt_t const *e
- );
- /* 9 */
- void (*on_warn)(
- fct_logger_i *logger,
- fct_logger_evt_t const *e
- );
- /* -- new in 1.2 -- */
- /* 10 */
- void (*on_test_suite_skip)(
- fct_logger_i *logger,
- fct_logger_evt_t const *e
- );
- /* 11 */
- void (*on_test_skip)(
- fct_logger_i *logger,
- fct_logger_evt_t const *e
- );
-} fct_logger_i_vtable_t;
-
-#define _fct_logger_head \
- fct_logger_i_vtable_t vtable; \
- fct_logger_evt_t evt
-
-struct _fct_logger_i
-{
- _fct_logger_head;
-};
-
-
-static void
-fct_logger__stub(fct_logger_i *l, fct_logger_evt_t const *e)
-{
- fct_unused(l);
- fct_unused(e);
-}
-
-
-static fct_logger_i_vtable_t fct_logger_default_vtable =
-{
- fct_logger__stub, /* 1. on_chk */
- fct_logger__stub, /* 2. on_test_start */
- fct_logger__stub, /* 3. on_test_end */
- fct_logger__stub, /* 4. on_test_suite_start */
- fct_logger__stub, /* 5. on_test_suite_end */
- fct_logger__stub, /* 6. on_fctx_start */
- fct_logger__stub, /* 7. on_fctx_end */
- fct_logger__stub, /* 8. on_delete */
- fct_logger__stub, /* 9. on_warn */
- fct_logger__stub, /* 10. on_test_suite_skip */
- fct_logger__stub, /* 11. on_test_skip */
-};
-
-
-/* Initializes the elements of a logger interface so they are at their
-standard values. */
-static void
-fct_logger__init(fct_logger_i *logger)
-{
- FCT_ASSERT( logger != NULL );
- memcpy(
- &(logger->vtable),
- &fct_logger_default_vtable,
- sizeof(fct_logger_i_vtable_t)
- );
- memset(&(logger->evt),0, sizeof(fct_logger_evt_t));
-}
-
-static void
-fct_logger__del(fct_logger_i *logger)
-{
- if ( logger )
- {
- logger->vtable.on_delete(logger, &(logger->evt));
- }
-}
-
-
-static void
-fct_logger__on_test_start(fct_logger_i *logger, fct_test_t const *test)
-{
- logger->evt.test = test;
- logger->vtable.on_test_start(logger, &(logger->evt));
-}
-
-
-static void
-fct_logger__on_test_end(fct_logger_i *logger, fct_test_t *test)
-{
- logger->evt.test = test;
- logger->vtable.on_test_end(logger, &(logger->evt));
-}
-
-
-static void
-fct_logger__on_test_suite_start(fct_logger_i *logger, fct_ts_t const *ts)
-{
- logger->evt.ts = ts;
- logger->vtable.on_test_suite_start(logger, &(logger->evt));
-}
-
-
-static void
-fct_logger__on_test_suite_end(fct_logger_i *logger, fct_ts_t const *ts)
-{
- logger->evt.ts = ts;
- logger->vtable.on_test_suite_end(logger, &(logger->evt));
-}
-
-
-static void
-fct_logger__on_test_suite_skip(
- fct_logger_i *logger,
- char const *condition,
- char const *name
-)
-{
- logger->evt.cndtn = condition;
- logger->evt.name = name;
- logger->vtable.on_test_suite_skip(logger, &(logger->evt));
-}
-
-
-static void
-fct_logger__on_test_skip(
- fct_logger_i *logger,
- char const *condition,
- char const *name
-)
-{
- logger->evt.cndtn = condition;
- logger->evt.name = name;
- logger->vtable.on_test_skip(logger, &(logger->evt));
-}
-
-
-static void
-fct_logger__on_chk(fct_logger_i *logger, fctchk_t const *chk)
-{
- logger->evt.chk = chk;
- logger->vtable.on_chk(logger, &(logger->evt));
-}
-
-/* When we start all our tests. */
-#define fct_logger__on_fctx_start(LOGGER, KERN) \
- (LOGGER)->evt.kern = (KERN);\
- (LOGGER)->vtable.on_fctx_start((LOGGER), &((LOGGER)->evt));
-
-
-/* When we have reached the end of ALL of our testing. */
-#define fct_logger__on_fctx_end(LOGGER, KERN) \
- (LOGGER)->evt.kern = (KERN);\
- (LOGGER)->vtable.on_fctx_end((LOGGER), &((LOGGER)->evt));
-
-
-static void
-fct_logger__on_warn(fct_logger_i *logger, char const *msg)
-{
- logger->evt.msg = msg;
- logger->vtable.on_warn(logger, &(logger->evt));
-}
-
-
-/* Commmon routine to record strings representing failures. The
-chk should be a failure before we call this, and the list is a list
-of char*'s that will eventually be free'd by the logger. */
-static void
-fct_logger_record_failure(fctchk_t const* chk, fct_nlist_t* fail_list)
-{
- /* For now we will truncate the string to some set amount, later
- we can work out a dynamic string object. */
- char *str = (char*)malloc(sizeof(char)*FCT_MAX_LOG_LINE);
- FCT_ASSERT( str != NULL );
- fct_snprintf(
- str,
- FCT_MAX_LOG_LINE,
- "%s(%d):\n %s",
- fctchk__file(chk),
- fctchk__lineno(chk),
- fctchk__msg(chk)
- );
- /* Append it to the listing ... */
- fct_nlist__append(fail_list, (void*)str);
-}
-
-
-/* Another common routine, to print the failures at the end of a run. */
-static void
-fct_logger_print_failures(fct_nlist_t const *fail_list)
-{
- puts(
- "\n----------------------------------------------------------------------------\n"
- );
- puts("FAILED TESTS\n\n");
- FCT_NLIST_FOREACH_BGN(char *, cndtn_str, fail_list)
- {
- printf("%s\n", cndtn_str);
- }
- FCT_NLIST_FOREACH_END();
-
- puts("\n");
-}
-
-
-
-
-/*
------------------------------------------------------------
-MINIMAL LOGGER
------------------------------------------------------------
-
-At the moment the MINIMAL LOGGER is currently disabled. Hope
-to bring it back online soon. The only reason it is
-disabled is that we don't currently have the ability to specify
-loggers.
-*/
-
-
-/* Minimal logger, reports the minimum amount of information needed
-to determine "something is happening". */
-struct _fct_minimal_logger_t
-{
- _fct_logger_head;
- /* A list of char*'s that needs to be cleaned up. */
- fct_nlist_t failed_cndtns_list;
-};
-
-
-static void
-fct_minimal_logger__on_chk(
- fct_logger_i *self_,
- fct_logger_evt_t const *e
-)
-{
- fct_minimal_logger_t *self = (fct_minimal_logger_t*)self_;
- if ( fctchk__is_pass(e->chk) )
- {
- fputs(".", stdout);
- }
- else
- {
- fputs("x", stdout);
- fct_logger_record_failure(e->chk, &(self->failed_cndtns_list));
-
- }
-}
-
-static void
-fct_minimal_logger__on_fctx_end(
- fct_logger_i *self_,
- fct_logger_evt_t const *e
-)
-{
- fct_minimal_logger_t *self = (fct_minimal_logger_t*)self_;
- fct_unused(e);
- if ( fct_nlist__size(&(self->failed_cndtns_list)) >0 )
- {
- fct_logger_print_failures(&(self->failed_cndtns_list));
- }
-}
-
-
-static void
-fct_minimal_logger__on_delete(
- fct_logger_i *self_,
- fct_logger_evt_t const *e
-)
-{
- fct_minimal_logger_t *self = (fct_minimal_logger_t*)self_;
- fct_unused(e);
- fct_nlist__final(&(self->failed_cndtns_list), free);
- free(self);
-
-}
-
-
-fct_logger_i*
-fct_minimal_logger_new(void)
-{
- fct_minimal_logger_t *self = (fct_minimal_logger_t*)\
- calloc(1,sizeof(fct_minimal_logger_t));
- if ( self == NULL )
- {
- return NULL;
- }
- fct_logger__init((fct_logger_i*)self);
- self->vtable.on_chk = fct_minimal_logger__on_chk;
- self->vtable.on_fctx_end = fct_minimal_logger__on_fctx_end;
- self->vtable.on_delete = fct_minimal_logger__on_delete;
- fct_nlist__init2(&(self->failed_cndtns_list), 0);
- return (fct_logger_i*)self;
-}
-
-
-/*
------------------------------------------------------------
-STANDARD LOGGER
------------------------------------------------------------
-*/
-
-struct _fct_standard_logger_t
-{
- _fct_logger_head;
-
- /* Start time. For now we use the low-accuracy time_t version. */
- fct_timer_t timer;
-
- /* A list of char*'s that needs to be cleaned up. */
- fct_nlist_t failed_cndtns_list;
-};
-
-
-#define FCT_STANDARD_LOGGER_MAX_LINE 68
-
-
-/* When a failure occurrs, we will record the details so we can display
-them when the log "finishes" up. */
-static void
-fct_standard_logger__on_chk(
- fct_logger_i *logger_,
- fct_logger_evt_t const *e
-)
-{
- fct_standard_logger_t *logger = (fct_standard_logger_t*)logger_;
- /* Only record failures. */
- if ( !fctchk__is_pass(e->chk) )
- {
- fct_logger_record_failure(e->chk, &(logger->failed_cndtns_list));
- }
-}
-
-
-static void
-fct_standard_logger__on_test_skip(
- fct_logger_i* logger_,
- fct_logger_evt_t const *e
-)
-{
- char const *condition = e->cndtn;
- char const *name = e->name;
- char msg[256] = {'\0'};
- fct_unused(logger_);
- fct_unused(condition);
- fct_snprintf(msg, sizeof(msg), "%s (%s)", name, condition);
- msg[sizeof(msg)-1] = '\0';
- fct_dotted_line_start(FCT_STANDARD_LOGGER_MAX_LINE, msg);
- fct_dotted_line_end("- SKIP -");
-}
-
-
-static void
-fct_standard_logger__on_test_start(
- fct_logger_i *logger_,
- fct_logger_evt_t const *e
-)
-{
- fct_unused(logger_);
- fct_dotted_line_start(
- FCT_STANDARD_LOGGER_MAX_LINE,
- fct_test__name(e->test)
- );
-}
-
-
-static void
-fct_standard_logger__on_test_end(
- fct_logger_i *logger_,
- fct_logger_evt_t const *e
-)
-{
- nbool_t is_pass;
- fct_unused(logger_);
- is_pass = fct_test__is_pass(e->test);
- fct_dotted_line_end((is_pass) ? "PASS" : "FAIL ***" );
-}
-
-
-static void
-fct_standard_logger__on_fctx_start(
- fct_logger_i *logger_,
- fct_logger_evt_t const *e
-)
-{
- fct_standard_logger_t *logger = (fct_standard_logger_t*)logger_;
- fct_unused(e);
- fct_timer__start(&(logger->timer));
-}
-
-
-static void
-fct_standard_logger__on_fctx_end(
- fct_logger_i *logger_,
- fct_logger_evt_t const *e
-)
-{
- fct_standard_logger_t *logger = (fct_standard_logger_t*)logger_;
- nbool_t is_success =1;
- double elasped_time =0;
- size_t num_tests =0;
- size_t num_passed =0;
-
- fct_timer__stop(&(logger->timer));
-
- is_success = fct_nlist__size(&(logger->failed_cndtns_list)) ==0;
-
- if ( !is_success )
- {
- fct_logger_print_failures(&(logger->failed_cndtns_list));
- }
- puts(
- "\n----------------------------------------------------------------------------\n"
- );
- num_tests = fctkern__tst_cnt(e->kern);
- num_passed = fctkern__tst_cnt_passed(e->kern);
- printf(
- "%s (%lu/%lu tests",
- (is_success) ? "PASSED" : "FAILED",
- (unsigned long) num_passed,
- (unsigned long) num_tests
- );
- elasped_time = fct_timer__duration(&(logger->timer));
- if ( elasped_time > 0.0000001 )
- {
- printf(" in %.6fs)\n", elasped_time);
- }
- else
- {
- /* Don't bother displaying the time to execute. */
- puts(")\n");
- }
-}
-
-
-static void
-fct_standard_logger__on_delete(
- fct_logger_i *logger_,
- fct_logger_evt_t const *e
-)
-{
- fct_standard_logger_t *logger = (fct_standard_logger_t*)logger_;
- fct_unused(e);
- fct_nlist__final(&(logger->failed_cndtns_list), free);
- free(logger);
- logger_ =NULL;
-}
-
-
-static void
-fct_standard_logger__on_warn(
- fct_logger_i* logger_,
- fct_logger_evt_t const *e
-)
-{
- fct_unused(logger_);
- (void)printf("WARNING: %s", e->msg);
-}
-
-
-fct_logger_i*
-fct_standard_logger_new(void)
-{
- fct_standard_logger_t *logger = (fct_standard_logger_t *)calloc(
- 1, sizeof(fct_standard_logger_t)
- );
- if ( logger == NULL )
- {
- return NULL;
- }
- fct_logger__init((fct_logger_i*)logger);
- logger->vtable.on_chk = fct_standard_logger__on_chk;
- logger->vtable.on_test_start = fct_standard_logger__on_test_start;
- logger->vtable.on_test_end = fct_standard_logger__on_test_end;
- logger->vtable.on_fctx_start = fct_standard_logger__on_fctx_start;
- logger->vtable.on_fctx_end = fct_standard_logger__on_fctx_end;
- logger->vtable.on_delete = fct_standard_logger__on_delete;
- logger->vtable.on_warn = fct_standard_logger__on_warn;
- logger->vtable.on_test_skip = fct_standard_logger__on_test_skip;
- fct_nlist__init2(&(logger->failed_cndtns_list), 0);
- fct_timer__init(&(logger->timer));
- return (fct_logger_i*)logger;
-}
-
-
-/*
------------------------------------------------------------
-JUNIT LOGGER
------------------------------------------------------------
-*/
-
-
-/* JUnit logger */
-struct _fct_junit_logger_t
-{
- _fct_logger_head;
-};
-
-
-static void
-fct_junit_logger__on_test_suite_start(
- fct_logger_i *l,
- fct_logger_evt_t const *e
-)
-{
- fct_unused(l);
- fct_unused(e);
- FCT_SWITCH_STDOUT_TO_BUFFER();
- FCT_SWITCH_STDERR_TO_BUFFER();
-}
-
-
-static void
-fct_junit_logger__on_test_suite_end(
- fct_logger_i *logger_,
- fct_logger_evt_t const *e
-)
-{
- fct_ts_t const *ts = e->ts; /* Test Suite */
- nbool_t is_pass;
- double elasped_time = 0;
- char std_buffer[1024];
- int read_length;
- int first_out_line;
-
- fct_unused(logger_);
-
- elasped_time = fct_ts__duration(ts);
-
- FCT_SWITCH_STDOUT_TO_STDOUT();
- FCT_SWITCH_STDERR_TO_STDERR();
-
- /* opening testsuite tag */
- printf("\t<testsuite errors=\"%lu\" failures=\"0\" tests=\"%lu\" "
- "name=\"%s\" time=\"%.4f\">\n",
- (unsigned long) fct_ts__tst_cnt(ts)
- - fct_ts__tst_cnt_passed(ts),
- (unsigned long) fct_ts__tst_cnt(ts),
- fct_ts__name(ts),
- elasped_time);
-
- FCT_NLIST_FOREACH_BGN(fct_test_t*, test, &(ts->test_list))
- {
- is_pass = fct_test__is_pass(test);
-
- /* opening testcase tag */
- if (is_pass)
- {
- printf("\t\t<testcase name=\"%s\" time=\"%.3f\"",
- fct_test__name(test),
- fct_test__duration(test)
- );
- }
- else
- {
- printf("\t\t<testcase name=\"%s\" time=\"%.3f\">\n",
- fct_test__name(test),
- fct_test__duration(test)
- );
- }
-
- FCT_NLIST_FOREACH_BGN(fctchk_t*, chk, &(test->failed_chks))
- {
- /* error tag */
- printf("\t\t\t<error message=\"%s\" "
- "type=\"fctx\">", chk->msg);
- printf("file:%s, line:%d", chk->file, chk->lineno);
- printf("</error>\n");
- }
- FCT_NLIST_FOREACH_END();
-
- /* closing testcase tag */
- if (is_pass)
- {
- printf(" />\n");
- }
- else
- {
- printf("\t\t</testcase>\n");
- }
- }
- FCT_NLIST_FOREACH_END();
-
- /* print the std streams */
- first_out_line = 1;
- printf("\t\t<system-out>\n\t\t\t<![CDATA[");
- while ( (read_length = _fct_read(fct_stdout_pipe[0], std_buffer, 1024)) > 0)
- {
- if (first_out_line)
- {
- printf("\n");
- first_out_line = 0;
- }
- printf("%.*s", read_length, std_buffer);
- }
- printf("]]>\n\t\t</system-out>\n");
-
- first_out_line = 1;
- printf("\t\t<system-err>\n\t\t\t<![CDATA[");
- while ((read_length = _fct_read(fct_stderr_pipe[0], std_buffer, 1024)) > 0)
- {
- if (first_out_line)
- {
- printf("\n");
- first_out_line = 0;
- }
- printf("%.*s", read_length, std_buffer);
- }
- printf("]]>\n\t\t</system-err>\n");
-
- /* closing testsuite tag */
- printf("\t</testsuite>\n");
-}
-
-static void
-fct_junit_logger__on_fct_start(
- fct_logger_i *logger_,
- fct_logger_evt_t const *e
-)
-{
- fct_unused(logger_);
- fct_unused(e);
- printf("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
- printf("<testsuites>\n");
-}
-
-static void
-fct_junit_logger__on_fctx_end(
- fct_logger_i *logger_,
- fct_logger_evt_t const *e
-)
-{
- fct_unused(logger_);
- fct_unused(e);
- printf("</testsuites>\n");
-}
-
-static void
-fct_junit_logger__on_delete(
- fct_logger_i *logger_,
- fct_logger_evt_t const *e
-)
-{
- fct_junit_logger_t *logger = (fct_junit_logger_t*)logger_;
- fct_unused(e);
- free(logger);
- logger_ =NULL;
-}
-
-
-fct_junit_logger_t *
-fct_junit_logger_new(void)
-{
- fct_junit_logger_t *logger =
- (fct_junit_logger_t *)calloc(1, sizeof(fct_junit_logger_t));
- if ( logger == NULL )
- {
- return NULL;
- }
- fct_logger__init((fct_logger_i*)logger);
- logger->vtable.on_test_suite_start = fct_junit_logger__on_test_suite_start;
- logger->vtable.on_test_suite_end = fct_junit_logger__on_test_suite_end;
- logger->vtable.on_fctx_start = fct_junit_logger__on_fct_start;
- logger->vtable.on_fctx_end = fct_junit_logger__on_fctx_end;
- logger->vtable.on_delete = fct_junit_logger__on_delete;
- return logger;
-}
-
-
-/*
-------------------------------------------------------------
-MACRO MAGIC
-------------------------------------------------------------
-This is where the show begins!
-*/
-
-/* This macro invokes a bunch of functions that need to be referenced in
-order to avoid a "unreferenced local function has been removed" warning.
-The logical acrobatics below try and make it appear to the compiler that
-they are needed, but at runtime, only the cheap, first call is made. */
-#define FCT_REFERENCE_FUNCS() \
- {\
- int check = 0 && fctstr_ieq(NULL, NULL);\
- if ( check ) {\
- _fct_cmt("not to be executed");\
- (void)_fct_chk_empty_str(NULL);\
- (void)_fct_chk_full_str(NULL);\
- (void)fct_test__start_timer(NULL);\
- (void)fct_test__stop_timer(NULL);\
- (void)fct_ts_new(NULL);\
- (void)fct_ts__test_begin(NULL);\
- (void)fct_ts__add_test(NULL, NULL);\
- (void)fct_ts__test_end(NULL);\
- (void)fct_ts__inc_total_test_num(NULL);\
- (void)fct_ts__make_abort_test(NULL);\
- (void)fct_ts__setup_abort(NULL);\
- (void)fct_ts__setup_end(NULL);\
- (void)fct_ts__teardown_end(NULL);\
- (void)fct_ts__cnt_end(NULL);\
- (void)fct_ts__is_test_cnt(NULL, 0);\
- (void)fct_xchk_fn(0, "");\
- (void)fct_xchk2_fn(NULL, 0, "");\
- (void)fctkern__cl_parse(NULL);\
- (void)fctkern__add_ts(NULL, NULL);\
- (void)fctkern__pass_filter(NULL, NULL);\
- (void)fctkern__log_suite_start(NULL, NULL);\
- (void)fctkern__log_suite_end(NULL, NULL);\
- (void)fctkern__log_test_skip(NULL, NULL, NULL);\
- (void)fctkern__log_test_start(NULL, NULL);\
- (void)fctkern__log_test_end(NULL, NULL);\
- (void)fctstr_endswith(NULL,NULL);\
- (void)fctstr_iendswith(NULL,NULL);\
- (void)fctstr_ieq(NULL,NULL);\
- (void)fctstr_incl(NULL, NULL);\
- (void)fctstr_iincl(NULL, NULL);\
- (void)fctstr_iendswith(NULL,NULL);\
- (void)fctstr_istartswith(NULL,NULL);\
- (void)fctstr_clone_lower(NULL);\
- (void)fctstr_startswith(NULL,NULL);\
- (void)fctkern__init(NULL, 0, NULL);\
- (void)fctkern__cl_is(NULL, "");\
- (void)fctkern__cl_val2(NULL, NULL, NULL);\
- fctkern__log_suite_skip(NULL, NULL, NULL);\
- (void)fct_clp__is_param(NULL,NULL);\
- _fct_cmt("should never construct an object");\
- (void)fct_test_new(NULL);\
- (void)fct_ts__chk_cnt(NULL);\
- }\
- }
-
-
-#define FCT_INIT(_ARGC_, _ARGV_) \
- fctkern_t fctkern__; \
- fctkern_t* fctkern_ptr__ = &fctkern__; \
- FCT_REFERENCE_FUNCS(); \
- if ( !fctkern__init(fctkern_ptr__, argc, (const char **)argv) ) {\
- (void)fprintf( \
- stderr, "FATAL ERROR: Unable to initialize FCTX Kernel."\
- ); \
- exit(EXIT_FAILURE); \
- } \
-
-
-#define FCT_FINAL() \
- fctkern_ptr__->ns.num_total_failed = fctkern__tst_cnt_failed( \
- (fctkern_ptr__) \
- ); \
- fctkern__log_end(fctkern_ptr__); \
- fctkern__end(fctkern_ptr__); \
- fctkern__final(fctkern_ptr__); \
- FCT_ASSERT( !((int)fctkern_ptr__->ns.num_total_failed < 0) \
- && "or we got truncated!"); \
- if ( fctkern_ptr__->ns.num_total_failed == \
- fctkern_ptr__->num_expected_failures) { \
- fctkern_ptr__->ns.num_total_failed = 0; \
- } \
-
-
-
-#define FCT_NUM_FAILED() \
- fctkern_ptr__->ns.num_total_failed \
-
-
-
-/* Typically used internally only, this mentions to FCTX that you EXPECT
-to _NUM_FAILS_. If you the expected matches the actual, a 0 value is returned
-from the program. */
-#define FCT_EXPECTED_FAILURES(_NUM_FAILS_) \
- ((fctkern_ptr__->num_expected_failures = (_NUM_FAILS_)))
-
-
-#define FCT_BGN_FN(_FNNAME_) \
- int _FNNAME_(int argc, char* argv[])\
- { \
- FCT_INIT(argc, argv)
-
-#define FCT_END_FN() FCT_END()
-
-/* This defines our start. The fctkern__ is a kernal object
-that lives throughout the lifetime of our program. The
-fctkern_ptr__ makes it easier to abstract out macros. */
-#define FCT_BGN() FCT_BGN_FN(main)
-
-
-/* Silence Intel complaints about unspecified operand order in user's code */
-#ifndef __INTEL_COMPILER
-# define FCT_END_WARNINGFIX_BGN
-# define FCT_END_WARNINGFIX_END
-#else
-# define FCT_END_WARNINGFIX_BGN _Pragma("warning(push,disable:981)");
-# define FCT_END_WARNINGFIX_END _Pragma("warning(pop)");
-#endif
-
-/* Ends the test suite by returning the number failed. The "chk_cnt" call is
-made in order allow strict compilers to pass when it encounters unreferenced
-functions. */
-#define FCT_END() \
- { \
- FCT_END_WARNINGFIX_BGN \
- FCT_FINAL(); \
- return FCT_NUM_FAILED();\
- FCT_END_WARNINGFIX_END \
- }\
-}
-
-#define fctlog_install(_CUST_LOGGER_LIST_) \
- fctkern_ptr__->lt_usr = (_CUST_LOGGER_LIST_)
-
-/* Re-parses the command line options with the addition of user defined
-options. */
-#define fctcl_install(_CLO_INIT_) \
- {\
- fctkern_ptr__->cl_user_opts = (_CLO_INIT_);\
- _fct_cmt("Delay parse in order to allow for user customization.");\
- if ( !fctkern__cl_is_parsed((fctkern_ptr__)) ) {\
- int status = fctkern__cl_parse((fctkern_ptr__));\
- _fct_cmt("Need to parse command line before we start logger.");\
- fctkern__log_start((fctkern_ptr__));\
- switch( status ) {\
- case -1:\
- case 0:\
- fctkern__final(fctkern_ptr__);\
- exit( (status == 0) ? (EXIT_FAILURE) : (EXIT_SUCCESS) );\
- break;\
- default:\
- fct_pass();\
- }\
- }\
- }
-
-
-#define fctcl_is(_OPT_STR_) (fctkern__cl_is(fctkern_ptr__, (_OPT_STR_)))
-
-#define fctcl_val(_OPT_STR_) (fctcl_val2((_OPT_STR_), NULL))
-
-#define fctcl_val2(_OPT_STR_, _DEF_STR_) \
- (fctkern__cl_val2(fctkern_ptr__, (_OPT_STR_), (_DEF_STR_)))
-
-
-/* We delay the first parse of the command line until we get the first
-test fixture. This allows the user to possibly add their own parse
-specification. */
-#define FCT_FIXTURE_SUITE_BGN(_NAME_) \
- {\
- fctkern_ptr__->ns.ts_curr = fct_ts_new( #_NAME_ );\
- _fct_cmt("Delay parse in order to allow for user customization.");\
- if ( !fctkern__cl_is_parsed((fctkern_ptr__)) ) {\
- int status = fctkern__cl_parse((fctkern_ptr__));\
- _fct_cmt("Need to parse command line before we start logger.");\
- fctkern__log_start((fctkern_ptr__));\
- switch( status ) {\
- case -1:\
- case 0:\
- fct_ts__del((fctkern_ptr__->ns.ts_curr));\
- fctkern__final(fctkern_ptr__);\
- exit( (status == 0) ? (EXIT_FAILURE) : (EXIT_SUCCESS) );\
- break;\
- default:\
- fct_pass();\
- }\
- }\
- if ( fctkern_ptr__->ns.ts_curr == NULL ) {\
- fctkern__log_warn((fctkern_ptr__), "out of memory");\
- }\
- else\
- {\
- fctkern__log_suite_start((fctkern_ptr__), fctkern_ptr__->ns.ts_curr);\
- for (;;)\
- {\
- fctkern_ptr__->ns.test_num = -1;\
- if ( fct_ts__is_ending_mode(fctkern_ptr__->ns.ts_curr) \
- || fct_ts__is_abort_mode(fctkern_ptr__->ns.ts_curr) )\
- {\
- _fct_cmt("flag the test suite as complete.");\
- fct_ts__end(fctkern_ptr__->ns.ts_curr);\
- break;\
- }
-
-
-
-/* Closes off a "Fixture" test suite. */
-#define FCT_FIXTURE_SUITE_END() \
- if ( fct_ts__is_cnt_mode(fctkern_ptr__->ns.ts_curr) )\
- {\
- fct_ts__cnt_end(fctkern_ptr__->ns.ts_curr);\
- }\
- }\
- fctkern__add_ts((fctkern_ptr__), fctkern_ptr__->ns.ts_curr);\
- fctkern__log_suite_end((fctkern_ptr__), fctkern_ptr__->ns.ts_curr);\
- fct_ts__end(fctkern_ptr__->ns.ts_curr);\
- fctkern_ptr__->ns.ts_curr = NULL;\
- }\
- }
-
-#define FCT_FIXTURE_SUITE_BGN_IF(_CONDITION_, _NAME_) \
- fctkern_ptr__->ns.ts_is_skip_suite = !(_CONDITION_);\
- fctkern_ptr__->ns.ts_skip_cndtn = #_CONDITION_;\
- if ( fctkern_ptr__->ns.ts_is_skip_suite ) {\
- fctkern__log_suite_skip((fctkern_ptr__), #_CONDITION_, #_NAME_);\
- }\
- FCT_FIXTURE_SUITE_BGN(_NAME_);
-
-#define FCT_FIXTURE_SUITE_END_IF() \
- FCT_FIXTURE_SUITE_END();\
- fctkern_ptr__->ns.ts_is_skip_suite =0;\
- fctkern_ptr__->ns.ts_skip_cndtn =NULL;\
-
-#define FCT_SETUP_BGN()\
- if ( fct_ts__is_setup_mode(fctkern_ptr__->ns.ts_curr) ) {
-
-#define FCT_SETUP_END() \
- fct_ts__setup_end(fctkern_ptr__->ns.ts_curr); }
-
-#define FCT_TEARDOWN_BGN() \
- if ( fct_ts__is_teardown_mode(fctkern_ptr__->ns.ts_curr) ) {\
-
-#define FCT_TEARDOWN_END() \
- fct_ts__teardown_end(fctkern_ptr__->ns.ts_curr); \
- continue; \
- }
-
-/* Lets you create a test suite, where maybe you don't want a fixture. We
-do it by 'stubbing' out the setup/teardown logic. */
-#define FCT_SUITE_BGN(Name) \
- FCT_FIXTURE_SUITE_BGN(Name) {\
- FCT_SETUP_BGN() {_fct_cmt("stubbed"); } FCT_SETUP_END()\
- FCT_TEARDOWN_BGN() {_fct_cmt("stubbed");} FCT_TEARDOWN_END()\
-
-#define FCT_SUITE_END() } FCT_FIXTURE_SUITE_END()
-
-#define FCT_SUITE_BGN_IF(_CONDITION_, _NAME_) \
- FCT_FIXTURE_SUITE_BGN_IF(_CONDITION_, (_NAME_)) {\
- FCT_SETUP_BGN() {_fct_cmt("stubbed"); } FCT_SETUP_END()\
- FCT_TEARDOWN_BGN() {_fct_cmt("stubbed");} FCT_TEARDOWN_END()\
-
-#define FCT_SUITE_END_IF() } FCT_FIXTURE_SUITE_END_IF()
-
-typedef enum
-{
- FCT_TEST_END_FLAG_Default = 0x0000,
- FCT_TEST_END_FLAG_ClearFail = 0x0001
-} FCT_TEST_END_FLAG;
-
-
-#define FCT_TEST_BGN_IF(_CONDITION_, _NAME_) { \
- fctkern_ptr__->ns.test_is_skip = !(_CONDITION_);\
- fctkern_ptr__->ns.test_skip_cndtn = #_CONDITION_;\
- FCT_TEST_BGN(_NAME_) {\
-
-#define FCT_TEST_END_IF() \
- } FCT_TEST_END();\
- fctkern_ptr__->ns.test_is_skip = 0;\
- fctkern_ptr__->ns.test_skip_cndtn = NULL;\
- }
-
-
-/* Depending on whether or not we are counting the tests, we will have to
-first determine if the test is the "current" count. Then we have to determine
-if we can pass the filter. Finally we will execute everything so that when a
-check fails, we can "break" out to the end of the test. And in between all
-that we do a memory check and fail a test if we can't build a fct_test
-object (should be rare). */
-#define FCT_TEST_BGN(_NAME_) \
- {\
- fctkern_ptr__->ns.curr_test_name = #_NAME_;\
- ++(fctkern_ptr__->ns.test_num);\
- if ( fct_ts__is_cnt_mode(fctkern_ptr__->ns.ts_curr) )\
- {\
- fct_ts__inc_total_test_num(fctkern_ptr__->ns.ts_curr);\
- }\
- else if ( fct_ts__is_test_mode(fctkern_ptr__->ns.ts_curr) \
- && fct_ts__is_test_cnt(fctkern_ptr__->ns.ts_curr, fctkern_ptr__->ns.test_num) )\
- {\
- fct_ts__test_begin(fctkern_ptr__->ns.ts_curr);\
- if ( fctkern__pass_filter(fctkern_ptr__, fctkern_ptr__->ns.curr_test_name ) )\
- {\
- fctkern_ptr__->ns.curr_test = fct_test_new( fctkern_ptr__->ns.curr_test_name );\
- if ( fctkern_ptr__->ns.curr_test == NULL ) {\
- fctkern__log_warn(fctkern_ptr__, "out of memory");\
- } else if ( fctkern_ptr__->ns.ts_is_skip_suite \
- || fctkern_ptr__->ns.test_is_skip ) {\
- fct_ts__test_begin(fctkern_ptr__->ns.ts_curr);\
- fctkern__log_test_skip(\
- fctkern_ptr__,\
- fctkern_ptr__->ns.curr_test_name,\
- (fctkern_ptr__->ns.test_is_skip) ?\
- (fctkern_ptr__->ns.test_skip_cndtn) :\
- (fctkern_ptr__->ns.ts_skip_cndtn)\
- );\
- fct_ts__test_end(fctkern_ptr__->ns.ts_curr);\
- continue;\
- } else {\
- fctkern__log_test_start(fctkern_ptr__, fctkern_ptr__->ns.curr_test);\
- fct_test__start_timer(fctkern_ptr__->ns.curr_test);\
- for (;;) \
- {
-
-
-
-
-#define FCT_TEST_END() \
- break;\
- }\
- fct_test__stop_timer(fctkern_ptr__->ns.curr_test);\
- }\
- fct_ts__add_test(fctkern_ptr__->ns.ts_curr, fctkern_ptr__->ns.curr_test);\
- fctkern__log_test_end(fctkern_ptr__, fctkern_ptr__->ns.curr_test);\
- }\
- fct_ts__test_end(fctkern_ptr__->ns.ts_curr);\
- continue;\
- }\
- }\
-
-
-
-/*
----------------------------------------------------------
-CHECKING MACROS
-----------------------------------------------------------
-
-The chk variants will continue on while the req variants will abort
-a test if a chk condition fails. The req variants are useful when you
-no longer want to keep checking conditions because a critical condition
-is not being met. */
-
-
-/* To support older compilers that do not have macro variable argument lists
-we have to use a function. The macro manages to store away the line/file
-location into a global before it runs this function, a trick I picked up from
-the error handling in the APR library. The unfortunate thing is that we can
-not carry forth the actual test through a "stringize" operation, but if you
-wanted to do that you should use fct_chk. */
-
-static int fct_xchk_lineno =0;
-static char const *fct_xchk_file = NULL;
-static fct_test_t *fct_xchk_test = NULL;
-static fctkern_t *fct_xchk_kern =NULL;
-
-
-static int
-_fct_xchk_fn_varg(
- char const *condition,
- int is_pass,
- char const *format,
- va_list args
-)
-{
- fctchk_t *chk =NULL;
- chk = fctchk_new(
- is_pass,
- condition,
- fct_xchk_file,
- fct_xchk_lineno,
- format,
- args
- );
- if ( chk == NULL )
- {
- fctkern__log_warn(fct_xchk_kern, "out of memory (aborting test)");
- goto finally;
- }
-
- fct_test__add(fct_xchk_test, chk);
- fctkern__log_chk(fct_xchk_kern, chk);
-finally:
- fct_xchk_lineno =0;
- fct_xchk_file =NULL;
- fct_xchk_test =NULL;
- fct_xchk_kern =NULL;
- return is_pass;
-}
-
-
-static int
-fct_xchk2_fn(const char *condition, int is_pass, char const *format, ...)
-{
- int r =0;
- va_list args;
- va_start(args, format);
- r = _fct_xchk_fn_varg(condition, is_pass, format, args);
- va_end(args);
- return r;
-}
-
-
-static int
-fct_xchk_fn(int is_pass, char const *format, ...)
-{
- int r=0;
- va_list args;
- va_start(args, format);
- r = _fct_xchk_fn_varg("<none-from-xchk>", is_pass, format, args);
- va_end(args);
- return r;
-}
-
-
-/* Call this with the following argument list:
-
- fct_xchk(test_condition, format_str, ...)
-
-the bulk of this macro presets some globals to allow us to support
-variable argument lists on older compilers. The idea came from the APR
-libraries error checking routines. */
-#define fct_xchk fct_xchk_kern = fctkern_ptr__,\
- fct_xchk_test = fctkern_ptr__->ns.curr_test,\
- fct_xchk_lineno =__LINE__,\
- fct_xchk_file=__FILE__,\
- fct_xchk_fn
-
-#define fct_xchk2 fct_xchk_kern = fctkern_ptr__,\
- fct_xchk_test = fctkern_ptr__->ns.curr_test,\
- fct_xchk_lineno =__LINE__,\
- fct_xchk_file=__FILE__,\
- fct_xchk2_fn
-
-
-/* This checks the condition and reports the condition as a string
-if it fails. */
-#define fct_chk(_CNDTN_) (fct_xchk((_CNDTN_) ? 1 : 0, #_CNDTN_))
-
-#define _fct_req(_CNDTN_) \
- if ( !(fct_xchk((_CNDTN_) ? 1 : 0, #_CNDTN_)) ) { break; }
-
-
-/* When in test mode, construct a mock test object for fct_xchk to operate
-with. If we fail a setup up, then we go directly to a teardown mode. */
-#define fct_req(_CNDTN_) \
- if ( fct_ts__is_test_mode(fctkern_ptr__->ns.ts_curr) ) { \
- _fct_req((_CNDTN_)); \
- } \
- else if ( fct_ts__is_setup_mode(fctkern_ptr__->ns.ts_curr) \
- || fct_ts__is_teardown_mode(fctkern_ptr__->ns.ts_curr) ) { \
- fctkern_ptr__->ns.curr_test = fct_ts__make_abort_test( \
- fctkern_ptr__->ns.ts_curr \
- ); \
- if ( !(fct_xchk((_CNDTN_) ? 1 : 0, #_CNDTN_)) ) { \
- fct_ts__setup_abort(fctkern_ptr__->ns.ts_curr); \
- fct_ts__add_test( \
- fctkern_ptr__->ns.ts_curr, fctkern_ptr__->ns.curr_test \
- ); \
- } \
- } else { \
- assert("invalid condition for fct_req!"); \
- _fct_req((_CNDTN_)); \
- }
-
-
-#define fct_chk_eq_dbl(V1, V2) \
- fct_xchk(\
- ((int)(fabs((V1)-(V2)) < DBL_EPSILON)),\
- "chk_eq_dbl: %f != %f",\
- (V1),\
- (V2)\
- )
-
-
-#define fct_chk_neq_dbl(V1, V2) \
- fct_xchk(\
- ((int)(fabs((V1)-(V2)) >= DBL_EPSILON)),\
- "chk_neq_dbl: %f == %f",\
- (V1),\
- (V2)\
- )
-
-
-#define fct_chk_eq_str(V1, V2) \
- fct_xchk(fctstr_eq((V1), (V2)),\
- "chk_eq_str: '%s' != '%s'",\
- (V1),\
- (V2)\
- )
-
-
-#define fct_chk_neq_str(V1, V2) \
- fct_xchk(!fctstr_eq((V1), (V2)),\
- "chk_neq_str: '%s' == '%s'",\
- (V1),\
- (V2)\
- )
-
-/* To quiet warnings with GCC, who think we are being silly and passing
-in NULL to strlen, we will filter the predicate through these little
-functions */
-static int
-_fct_chk_empty_str(char const *s)
-{
- if ( s == NULL )
- {
- return 1;
- }
- return strlen(s) ==0;
-}
-static int
-_fct_chk_full_str(char const *s)
-{
- if ( s == NULL )
- {
- return 0;
- }
- return strlen(s) >0;
-}
-
-
-#define fct_chk_empty_str(V) \
- fct_xchk(_fct_chk_empty_str((V)),\
- "string not empty: '%s'",\
- (V)\
- )
-
-#define fct_chk_full_str(V) \
- fct_xchk(_fct_chk_full_str((V)),\
- "string is full: '%s'",\
- (V)\
- )
-
-
-#define fct_chk_eq_istr(V1, V2) \
- fct_xchk(fctstr_ieq((V1), (V2)),\
- "chk_eq_str: '%s' != '%s'",\
- (V1),\
- (V2)\
- )
-
-
-#define fct_chk_neq_istr(V1, V2) \
- fct_xchk(!fctstr_ieq((V1), (V2)),\
- "chk_neq_str: '%s' == '%s'",\
- (V1),\
- (V2)\
- )
-
-
-#define fct_chk_endswith_str(STR, CHECK)\
- fct_xchk(fctstr_endswith((STR),(CHECK)),\
- "fct_chk_endswith_str: '%s' doesn't end with '%s'",\
- (STR),\
- (CHECK)\
- )
-
-
-#define fct_chk_iendswith_str(STR, CHECK)\
- fct_xchk(fctstr_iendswith((STR), (CHECK)),\
- "fch_chk_iendswith_str: '%s' doesn't end with '%s'.",\
- (STR),\
- (CHECK)\
- )
-
-#define fct_chk_excl_str(STR, CHECK_EXCLUDE) \
- fct_xchk(!fctstr_incl((STR), (CHECK_EXCLUDE)),\
- "fct_chk_excl_str: '%s' is included in '%s'",\
- (STR),\
- (CHECK_EXCLUDE)\
- )
-
-#define fct_chk_excl_istr(ISTR, ICHECK_EXCLUDE) \
- fct_xchk(!fctstr_iincl((ISTR), (ICHECK_EXCLUDE)),\
- "fct_chk_excl_istr (case insensitive): '%s' is "\
- "included in'%s'",\
- (ISTR),\
- (ICHECK_EXCLUDE)\
- )
-
-#define fct_chk_incl_str(STR, CHECK_INCLUDE) \
- fct_xchk(fctstr_incl((STR), (CHECK_INCLUDE)),\
- "fct_chk_incl_str: '%s' does not include '%s'",\
- (STR),\
- (CHECK_INCLUDE)\
- )
-
-
-#define fct_chk_incl_istr(ISTR, ICHECK_INCLUDE) \
- fct_xchk(fctstr_iincl((ISTR), (ICHECK_INCLUDE)),\
- "fct_chk_incl_istr (case insensitive): '%s' does "\
- "not include '%s'",\
- (ISTR),\
- (ICHECK_INCLUDE)\
- )
-
-
-#define fct_chk_startswith_str(STR, CHECK)\
- fct_xchk(fctstr_startswith((STR), (CHECK)),\
- "'%s' does not start with '%s'",\
- (STR),\
- (CHECK)\
- )
-
-
-#define fct_chk_startswith_istr(STR, CHECK)\
- fct_xchk(fctstr_istartswith((STR), (CHECK)),\
- "case insensitive check: '%s' does not start with '%s'",\
- (STR),\
- (CHECK)\
- )
-
-#define fct_chk_eq_int(V1, V2) \
- fct_xchk(\
- ((V1) == (V2)),\
- "chq_eq_int: %d != %d",\
- (V1),\
- (V2)\
- )
-
-
-#define fct_chk_neq_int(V1, V2) \
- fct_xchk(\
- ((V1) != (V2)),\
- "chq_neq_int: %d == %d",\
- (V1),\
- (V2)\
- )
-
-#define fct_chk_ex(EXCEPTION, CODE) \
- { \
- bool pass_chk_ex = false; \
- try { \
- CODE; \
- pass_chk_ex = false; \
- } catch ( EXCEPTION ) { \
- pass_chk_ex = true; \
- } catch ( ... ) { \
- pass_chk_ex = false; \
- } \
- fct_xchk( \
- pass_chk_ex, \
- "%s exception not generated", \
- #EXCEPTION \
- ); \
- } \
-
-/*
----------------------------------------------------------
-GUT CHECK MACROS
-----------------------------------------------------------
-
-The following macros are used to help check the "guts" of
-the FCT, and to confirm that it all works according to spec.
-*/
-
-/* Generates a message to STDERR and exits the application with a
-non-zero number. */
-#define _FCT_GUTCHK(_CNDTN_) \
- if ( !(_CNDTN_) ) {\
- fprintf(stderr, "gutchk fail: '" #_CNDTN_ "' was not true.\n");\
- exit(1);\
- }\
- else {\
- fprintf(stdout, "gutchk pass: '" #_CNDTN_ "'\n");\
- }
-
-/*
----------------------------------------------------------
-MULTI-FILE TEST SUITE MACROS
-----------------------------------------------------------
-
-I struggled trying to figure this out in a way that was
-as simple as possible. I wanted to be able to define
-the test suite in one object file, then refer it within
-the other one within the minimum amount of typing.
-
-Unfortunately without resorting to some supermacro
-work, I could only find a happy comprimise.
-
-See test_multi.c for an example.
-*/
-
-/* The following macros are used in your separate object
-file to define your test suite. */
-
-
-#define FCTMF_FIXTURE_SUITE_BGN(NAME) \
- void NAME (fctkern_t *fctkern_ptr__) {\
- FCT_REFERENCE_FUNCS();\
- FCT_FIXTURE_SUITE_BGN( NAME ) {
-
-#define FCTMF_FIXTURE_SUITE_END() \
- } FCT_FIXTURE_SUITE_END();\
- }
-
-#define FCTMF_SUITE_BGN(NAME) \
- void NAME (fctkern_t *fctkern_ptr__) {\
- FCT_REFERENCE_FUNCS();\
- FCT_SUITE_BGN( NAME ) {
-#define FCTMF_SUITE_END() \
- } FCT_SUITE_END(); \
- }
-
-
-/* Deprecated, no longer required. */
-#define FCTMF_SUITE_DEF(NAME)
-
-
-/* Executes a test suite defined by FCTMF_SUITE* */
-#define FCTMF_SUITE_CALL(NAME) {\
- void NAME (fctkern_t *);\
- NAME (fctkern_ptr__);\
- }
-
-
-/*
----------------------------------------------------------
-FCT QUICK TEST API
-----------------------------------------------------------
-The goal of these little macros is to try and get you
-up and running with a test as quick as possible.
-
-The basic idea is that there is one test per test suite.
-*/
-
-#define FCT_QTEST_BGN(NAME) \
- FCT_SUITE_BGN(NAME) {\
- FCT_TEST_BGN(NAME) {\
-
-#define FCT_QTEST_END() \
- } FCT_TEST_END();\
- } FCT_SUITE_END();
-
-
-#define FCT_QTEST_BGN_IF(_CONDITION_, _NAME_) \
- FCT_SUITE_BGN(_NAME_) {\
- FCT_TEST_BGN_IF(_CONDITION_, _NAME_) {\
-
-#define FCT_QTEST_END_IF() \
- } FCT_TEST_END_IF();\
- } FCT_SUITE_END();
-
-#endif /* !FCT_INCLUDED__IMB */
diff --git a/Externals/polarssl/tests/scripts/gen_ctr_drbg.pl b/Externals/polarssl/tests/scripts/gen_ctr_drbg.pl
deleted file mode 100644
index 66d9b3ab03..0000000000
--- a/Externals/polarssl/tests/scripts/gen_ctr_drbg.pl
+++ /dev/null
@@ -1,93 +0,0 @@
-#!/usr/bin/perl
-#
-# Based on NIST CTR_DRBG.rsp validation file
-# Only uses AES-256-CTR cases that use a Derivation function
-# and concats nonce and personalization for initialization.
-
-use strict;
-
-my $file = shift;
-
-open(TEST_DATA, "$file") or die "Opening test cases '$file': $!";
-
-sub get_suite_val($)
-{
- my $name = shift;
- my $val = "";
-
- my $line = <TEST_DATA>;
- ($val) = ($line =~ /\[$name\s\=\s(\w+)\]/);
-
- return $val;
-}
-
-sub get_val($)
-{
- my $name = shift;
- my $val = "";
- my $line;
-
- while($line = <TEST_DATA>)
- {
- next if($line !~ /=/);
- last;
- }
-
- ($val) = ($line =~ /^$name = (\w+)/);
-
- return $val;
-}
-
-my $cnt = 1;;
-while (my $line = <TEST_DATA>)
-{
- next if ($line !~ /^\[AES-256 use df/);
-
- my $PredictionResistanceStr = get_suite_val("PredictionResistance");
- my $PredictionResistance = 0;
- $PredictionResistance = 1 if ($PredictionResistanceStr eq 'True');
- my $EntropyInputLen = get_suite_val("EntropyInputLen");
- my $NonceLen = get_suite_val("NonceLen");
- my $PersonalizationStringLen = get_suite_val("PersonalizationStringLen");
- my $AdditionalInputLen = get_suite_val("AdditionalInputLen");
-
- for ($cnt = 0; $cnt < 15; $cnt++)
- {
- my $Count = get_val("COUNT");
- my $EntropyInput = get_val("EntropyInput");
- my $Nonce = get_val("Nonce");
- my $PersonalizationString = get_val("PersonalizationString");
- my $AdditionalInput1 = get_val("AdditionalInput");
- my $EntropyInputPR1 = get_val("EntropyInputPR") if ($PredictionResistance == 1);
- my $EntropyInputReseed = get_val("EntropyInputReseed") if ($PredictionResistance == 0);
- my $AdditionalInputReseed = get_val("AdditionalInputReseed") if ($PredictionResistance == 0);
- my $AdditionalInput2 = get_val("AdditionalInput");
- my $EntropyInputPR2 = get_val("EntropyInputPR") if ($PredictionResistance == 1);
- my $ReturnedBits = get_val("ReturnedBits");
-
- if ($PredictionResistance == 1)
- {
- print("CTR_DRBG NIST Validation (AES-256 use df,$PredictionResistanceStr,$EntropyInputLen,$NonceLen,$PersonalizationStringLen,$AdditionalInputLen) #$Count\n");
- print("ctr_drbg_validate_pr");
- print(":\"$Nonce$PersonalizationString\"");
- print(":\"$EntropyInput$EntropyInputPR1$EntropyInputPR2\"");
- print(":\"$AdditionalInput1\"");
- print(":\"$AdditionalInput2\"");
- print(":\"$ReturnedBits\"");
- print("\n\n");
- }
- else
- {
- print("CTR_DRBG NIST Validation (AES-256 use df,$PredictionResistanceStr,$EntropyInputLen,$NonceLen,$PersonalizationStringLen,$AdditionalInputLen) #$Count\n");
- print("ctr_drbg_validate_nopr");
- print(":\"$Nonce$PersonalizationString\"");
- print(":\"$EntropyInput$EntropyInputReseed\"");
- print(":\"$AdditionalInput1\"");
- print(":\"$AdditionalInputReseed\"");
- print(":\"$AdditionalInput2\"");
- print(":\"$ReturnedBits\"");
- print("\n\n");
- }
- }
-}
-close(TEST_DATA);
diff --git a/Externals/polarssl/tests/scripts/gen_gcm_decrypt.pl b/Externals/polarssl/tests/scripts/gen_gcm_decrypt.pl
deleted file mode 100644
index 2fb76c69fb..0000000000
--- a/Externals/polarssl/tests/scripts/gen_gcm_decrypt.pl
+++ /dev/null
@@ -1,94 +0,0 @@
-#!/usr/bin/perl
-#
-# Based on NIST gcmDecryptxxx.rsp validation files
-# Only first 3 of every set used for compile time saving
-
-use strict;
-
-my $file = shift;
-
-open(TEST_DATA, "$file") or die "Opening test cases '$file': $!";
-
-sub get_suite_val($)
-{
- my $name = shift;
- my $val = "";
-
- while(my $line = <TEST_DATA>)
- {
- next if ($line !~ /^\[/);
- ($val) = ($line =~ /\[$name\s\=\s(\w+)\]/);
- last;
- }
-
- return $val;
-}
-
-sub get_val($)
-{
- my $name = shift;
- my $val = "";
- my $line;
-
- while($line = <TEST_DATA>)
- {
- next if($line !~ /=/);
- last;
- }
-
- ($val) = ($line =~ /^$name = (\w+)/);
-
- return $val;
-}
-
-sub get_val_or_fail($)
-{
- my $name = shift;
- my $val = "FAIL";
- my $line;
-
- while($line = <TEST_DATA>)
- {
- next if($line !~ /=/ && $line !~ /FAIL/);
- last;
- }
-
- ($val) = ($line =~ /^$name = (\w+)/) if ($line =~ /=/);
-
- return $val;
-}
-
-my $cnt = 1;;
-while (my $line = <TEST_DATA>)
-{
- my $key_len = get_suite_val("Keylen");
- next if ($key_len !~ /\d+/);
- my $iv_len = get_suite_val("IVlen");
- my $pt_len = get_suite_val("PTlen");
- my $add_len = get_suite_val("AADlen");
- my $tag_len = get_suite_val("Taglen");
-
- for ($cnt = 0; $cnt < 3; $cnt++)
- {
- my $Count = get_val("Count");
- my $key = get_val("Key");
- my $iv = get_val("IV");
- my $ct = get_val("CT");
- my $add = get_val("AAD");
- my $tag = get_val("Tag");
- my $pt = get_val_or_fail("PT");
-
- print("GCM NIST Validation (AES-$key_len,$iv_len,$pt_len,$add_len,$tag_len) #$Count\n");
- print("gcm_decrypt_and_verify");
- print(":\"$key\"");
- print(":\"$ct\"");
- print(":\"$iv\"");
- print(":\"$add\"");
- print(":$tag_len");
- print(":\"$tag\"");
- print(":\"$pt\"");
- print(":0");
- print("\n\n");
- }
-}
-close(TEST_DATA);
diff --git a/Externals/polarssl/tests/scripts/gen_gcm_encrypt.pl b/Externals/polarssl/tests/scripts/gen_gcm_encrypt.pl
deleted file mode 100644
index de179a98a8..0000000000
--- a/Externals/polarssl/tests/scripts/gen_gcm_encrypt.pl
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/usr/bin/perl
-#
-# Based on NIST gcmEncryptIntIVxxx.rsp validation files
-# Only first 3 of every set used for compile time saving
-
-use strict;
-
-my $file = shift;
-
-open(TEST_DATA, "$file") or die "Opening test cases '$file': $!";
-
-sub get_suite_val($)
-{
- my $name = shift;
- my $val = "";
-
- while(my $line = <TEST_DATA>)
- {
- next if ($line !~ /^\[/);
- ($val) = ($line =~ /\[$name\s\=\s(\w+)\]/);
- last;
- }
-
- return $val;
-}
-
-sub get_val($)
-{
- my $name = shift;
- my $val = "";
- my $line;
-
- while($line = <TEST_DATA>)
- {
- next if($line !~ /=/);
- last;
- }
-
- ($val) = ($line =~ /^$name = (\w+)/);
-
- return $val;
-}
-
-my $cnt = 1;;
-while (my $line = <TEST_DATA>)
-{
- my $key_len = get_suite_val("Keylen");
- next if ($key_len !~ /\d+/);
- my $iv_len = get_suite_val("IVlen");
- my $pt_len = get_suite_val("PTlen");
- my $add_len = get_suite_val("AADlen");
- my $tag_len = get_suite_val("Taglen");
-
- for ($cnt = 0; $cnt < 3; $cnt++)
- {
- my $Count = get_val("Count");
- my $key = get_val("Key");
- my $pt = get_val("PT");
- my $add = get_val("AAD");
- my $iv = get_val("IV");
- my $ct = get_val("CT");
- my $tag = get_val("Tag");
-
- print("GCM NIST Validation (AES-$key_len,$iv_len,$pt_len,$add_len,$tag_len) #$Count\n");
- print("gcm_encrypt_and_tag");
- print(":\"$key\"");
- print(":\"$pt\"");
- print(":\"$iv\"");
- print(":\"$add\"");
- print(":\"$ct\"");
- print(":$tag_len");
- print(":\"$tag\"");
- print(":0");
- print("\n\n");
- }
-}
-close(TEST_DATA);
diff --git a/Externals/polarssl/tests/scripts/gen_pkcs1_v21_sign_verify.pl b/Externals/polarssl/tests/scripts/gen_pkcs1_v21_sign_verify.pl
deleted file mode 100644
index 0de3b7d6bd..0000000000
--- a/Externals/polarssl/tests/scripts/gen_pkcs1_v21_sign_verify.pl
+++ /dev/null
@@ -1,72 +0,0 @@
-#!/usr/bin/perl
-#
-
-use strict;
-
-my $file = shift;
-
-open(TEST_DATA, "$file") or die "Opening test cases '$file': $!";
-
-sub get_val($$)
-{
- my $str = shift;
- my $name = shift;
- my $val = "";
-
- while(my $line = <TEST_DATA>)
- {
- next if($line !~ /^# $str/);
- last;
- }
-
- while(my $line = <TEST_DATA>)
- {
- last if($line eq "\r\n");
- $val .= $line;
- }
-
- $val =~ s/[ \r\n]//g;
-
- return $val;
-}
-
-my $state = 0;
-my $val_n = "";
-my $val_e = "";
-my $val_p = "";
-my $val_q = "";
-my $mod = 0;
-my $cnt = 1;
-while (my $line = <TEST_DATA>)
-{
- next if ($line !~ /^# Example/);
-
- ( $mod ) = ($line =~ /A (\d+)/);
- $val_n = get_val("RSA modulus n", "N");
- $val_e = get_val("RSA public exponent e", "E");
- $val_p = get_val("Prime p", "P");
- $val_q = get_val("Prime q", "Q");
-
- for(my $i = 1; $i <= 6; $i++)
- {
- my $val_m = get_val("Message to be", "M");
- my $val_salt = get_val("Salt", "Salt");
- my $val_sig = get_val("Signature", "Sig");
-
- print("RSASSA-PSS Signature Example ${cnt}_${i}\n");
- print("pkcs1_rsassa_pss_sign:$mod:16:\"$val_p\":16:\"$val_q\":16:\"$val_n\":16:\"$val_e\":SIG_RSA_SHA1:POLARSSL_MD_SHA1");
- print(":\"$val_m\"");
- print(":\"$val_salt\"");
- print(":\"$val_sig\":0");
- print("\n\n");
-
- print("RSASSA-PSS Signature Example ${cnt}_${i} (verify)\n");
- print("pkcs1_rsassa_pss_verify:$mod:16:\"$val_n\":16:\"$val_e\":SIG_RSA_SHA1:POLARSSL_MD_SHA1");
- print(":\"$val_m\"");
- print(":\"$val_salt\"");
- print(":\"$val_sig\":0");
- print("\n\n");
- }
- $cnt++;
-}
-close(TEST_DATA);
diff --git a/Externals/polarssl/tests/scripts/generate_code.pl b/Externals/polarssl/tests/scripts/generate_code.pl
deleted file mode 100644
index 75d741da80..0000000000
--- a/Externals/polarssl/tests/scripts/generate_code.pl
+++ /dev/null
@@ -1,151 +0,0 @@
-#!/usr/bin/perl
-#
-
-use strict;
-
-my $suite_dir = shift or die "Missing suite directory";
-my $suite_name = shift or die "Missing suite name";
-my $data_name = shift or die "Missing data name";
-my $test_file = $data_name.".c";
-my $test_helper_file = $suite_dir."/helpers.function";
-my $test_case_file = $suite_dir."/".$suite_name.".function";
-my $test_data_file = $suite_dir."/".$data_name.".data";
-
-open(TEST_DATA, "$test_data_file") or die "Opening test cases '$test_data_file': $!";
-
-my $line_separator = $/;
-undef $/;
-
-open(TEST_HELPERS, "$test_helper_file") or die "Opening test helpers '$test_helper_file': $!";
-my $test_helpers = <TEST_HELPERS>;
-close(TEST_HELPERS);
-
-open(TEST_CASES, "$test_case_file") or die "Opening test cases '$test_case_file': $!";
-my $test_cases = <TEST_CASES>;
-close(TEST_CASES);
-my ( $suite_header ) = $test_cases =~ /BEGIN_HEADER\n(.*?)\nEND_HEADER/s;
-my ( $suite_defines ) = $test_cases =~ /BEGIN_DEPENDENCIES\n(.*?)\nEND_DEPENDENCIES/s;
-
-my $requirements;
-if ($suite_defines =~ /^depends_on:/)
-{
- ( $requirements ) = $suite_defines =~ /^depends_on:(.*)$/;
-}
-
-my @var_req_arr = split(/:/, $requirements);
-my $suite_pre_code;
-my $suite_post_code;
-
-while (@var_req_arr)
-{
- my $req = shift @var_req_arr;
-
- $suite_pre_code .= "#ifdef $req\n";
- $suite_post_code .= "#endif /* $req */\n";
-}
-
-$/ = $line_separator;
-
-open(TEST_FILE, ">$test_file") or die "Opening destination file '$test_file': $!";
-print TEST_FILE << "END";
-#include "fct.h"
-#include <polarssl/config.h>
-
-$suite_header
-
-$test_helpers
-
-FCT_BGN()
-{
-$suite_pre_code
-
- FCT_SUITE_BGN($suite_name)
- {
-END
-
-while (my $line = <TEST_DATA>)
-{
- my $description = $line;
- $line = <TEST_DATA>;
-
- my $test_name = $description;
- $test_name =~ tr/A-Z \-/a-z__/;
- $test_name =~ tr/a-z0-9_//cd;
-
- # Carve the defines required for this test case
- my $requirements;
- if ($line =~ /^depends_on:/)
- {
- my $depends_on_line = $line;
- $line = <TEST_DATA>;
-
- ( $requirements ) = $depends_on_line =~ /^depends_on:(.*)$/;
- }
-
- my @var_req_arr = split(/:/, $requirements);
- my $pre_code;
- my $post_code;
-
- while (@var_req_arr)
- {
- my $req = shift @var_req_arr;
-
- $pre_code .= "#ifdef $req\n";
- $post_code .= "#endif /* $req */\n";
- }
-
- my $command_line = $line;
- $line = <TEST_DATA>;
-
- # Carve the case name and variable values
- #
- my ( $case, $var_value ) = $command_line =~ /^([\w_]+):(.*)$/;
-
- # Escape the escaped colons (Not really escaped now)
- #
- $var_value =~ s/\\:/{colon_sign}/g;
-
- # Carve the case and variable definition
- #
- my ( $var_def, $case_code ) = $test_cases =~ /BEGIN_CASE\n$case:([^\n]*)\n(.*?)\nEND_CASE/s;
-
- my @var_def_arr = split(/:/, $var_def);
- my @var_value_arr = split(/:/, $var_value);
-
- while (@var_def_arr)
- {
- my $def = shift @var_def_arr;
- my $val = shift @var_value_arr;
-
- $case_code =~ s/\{$def\}/$val/g;
- }
- $case_code = "int ${test_name}_code_present = 0;\nTEST_ASSERT( ${test_name}_code_present == 1 );" if ($case_code =~ /^\s*$/);
-
- $case_code =~ s/{colon_sign}/:/g;
- $case_code =~ s/TEST_ASSERT/fct_chk/g;
- $case_code =~ s/TEST_EQUALS/fct_chk/g;
-
- $case_code =~ s/^/ /gm;
-
-
- print TEST_FILE << "END";
-$pre_code
- FCT_TEST_BGN($test_name)
-$case_code
- FCT_TEST_END();
-$post_code
-END
-}
-
-print TEST_FILE << "END";
- }
- FCT_SUITE_END();
-
-$suite_post_code
-}
-FCT_END();
-
-END
-
-close(TEST_DATA);
-close(TEST_FILE);
diff --git a/Externals/polarssl/tests/suites/helpers.function b/Externals/polarssl/tests/suites/helpers.function
deleted file mode 100644
index 0858cb1d35..0000000000
--- a/Externals/polarssl/tests/suites/helpers.function
+++ /dev/null
@@ -1,218 +0,0 @@
-#ifdef _MSC_VER
-#include <basetsd.h>
-typedef UINT32 uint32_t;
-#else
-#include <inttypes.h>
-#endif
-
-/*
- * 32-bit integer manipulation macros (big endian)
- */
-#ifndef GET_UINT32_BE
-#define GET_UINT32_BE(n,b,i) \
-{ \
- (n) = ( (uint32_t) (b)[(i) ] << 24 ) \
- | ( (uint32_t) (b)[(i) + 1] << 16 ) \
- | ( (uint32_t) (b)[(i) + 2] << 8 ) \
- | ( (uint32_t) (b)[(i) + 3] ); \
-}
-#endif
-
-#ifndef PUT_UINT32_BE
-#define PUT_UINT32_BE(n,b,i) \
-{ \
- (b)[(i) ] = (unsigned char) ( (n) >> 24 ); \
- (b)[(i) + 1] = (unsigned char) ( (n) >> 16 ); \
- (b)[(i) + 2] = (unsigned char) ( (n) >> 8 ); \
- (b)[(i) + 3] = (unsigned char) ( (n) ); \
-}
-#endif
-
-int unhexify(unsigned char *obuf, const char *ibuf)
-{
- unsigned char c, c2;
- int len = strlen(ibuf) / 2;
- assert(!(strlen(ibuf) %1)); // must be even number of bytes
-
- while (*ibuf != 0)
- {
- c = *ibuf++;
- if( c >= '0' && c <= '9' )
- c -= '0';
- else if( c >= 'a' && c <= 'f' )
- c -= 'a' - 10;
- else if( c >= 'A' && c <= 'F' )
- c -= 'A' - 10;
- else
- assert( 0 );
-
- c2 = *ibuf++;
- if( c2 >= '0' && c2 <= '9' )
- c2 -= '0';
- else if( c2 >= 'a' && c2 <= 'f' )
- c2 -= 'a' - 10;
- else if( c2 >= 'A' && c2 <= 'F' )
- c2 -= 'A' - 10;
- else
- assert( 0 );
-
- *obuf++ = ( c << 4 ) | c2;
- }
-
- return len;
-}
-
-void hexify(unsigned char *obuf, const unsigned char *ibuf, int len)
-{
- unsigned char l, h;
-
- while (len != 0)
- {
- h = (*ibuf) / 16;
- l = (*ibuf) % 16;
-
- if( h < 10 )
- *obuf++ = '0' + h;
- else
- *obuf++ = 'a' + h - 10;
-
- if( l < 10 )
- *obuf++ = '0' + l;
- else
- *obuf++ = 'a' + l - 10;
-
- ++ibuf;
- len--;
- }
-}
-
-/**
- * This function just returns data from rand().
- * Although predictable and often similar on multiple
- * runs, this does not result in identical random on
- * each run. So do not use this if the results of a
- * test depend on the random data that is generated.
- *
- * rng_state shall be NULL.
- */
-static int rnd_std_rand( void *rng_state, unsigned char *output, size_t len )
-{
- size_t i;
-
- if( rng_state != NULL )
- rng_state = NULL;
-
- for( i = 0; i < len; ++i )
- output[i] = rand();
-
- return( 0 );
-}
-
-/**
- * This function only returns zeros
- *
- * rng_state shall be NULL.
- */
-static int rnd_zero_rand( void *rng_state, unsigned char *output, size_t len )
-{
- if( rng_state != NULL )
- rng_state = NULL;
-
- memset( output, 0, len );
-
- return( 0 );
-}
-
-typedef struct
-{
- unsigned char *buf;
- size_t length;
-} rnd_buf_info;
-
-/**
- * This function returns random based on a buffer it receives.
- *
- * rng_state shall be a pointer to a rnd_buf_info structure.
- *
- * The number of bytes released from the buffer on each call to
- * the random function is specified by per_call. (Can be between
- * 1 and 4)
- *
- * After the buffer is empty it will return rand();
- */
-static int rnd_buffer_rand( void *rng_state, unsigned char *output, size_t len )
-{
- rnd_buf_info *info = (rnd_buf_info *) rng_state;
- size_t use_len;
-
- if( rng_state == NULL )
- return( rnd_std_rand( NULL, output, len ) );
-
- use_len = len;
- if( len > info->length )
- use_len = info->length;
-
- if( use_len )
- {
- memcpy( output, info->buf, use_len );
- info->buf += use_len;
- info->length -= use_len;
- }
-
- if( len - use_len > 0 )
- return( rnd_std_rand( NULL, output + use_len, len - use_len ) );
-
- return( 0 );
-}
-
-/**
- * Info structure for the pseudo random function
- *
- * Key should be set at the start to a test-unique value.
- * Do not forget endianness!
- * State( v0, v1 ) should be set to zero.
- */
-typedef struct
-{
- uint32_t key[16];
- uint32_t v0, v1;
-} rnd_pseudo_info;
-
-/**
- * This function returns random based on a pseudo random function.
- * This means the results should be identical on all systems.
- * Pseudo random is based on the XTEA encryption algorithm to
- * generate pseudorandom.
- *
- * rng_state shall be a pointer to a rnd_pseudo_info structure.
- */
-static int rnd_pseudo_rand( void *rng_state, unsigned char *output, size_t len )
-{
- rnd_pseudo_info *info = (rnd_pseudo_info *) rng_state;
- uint32_t i, *k, sum, delta=0x9E3779B9;
- unsigned char result[4];
-
- if( rng_state == NULL )
- return( rnd_std_rand( NULL, output, len ) );
-
- k = info->key;
-
- while( len > 0 )
- {
- size_t use_len = ( len > 4 ) ? 4 : len;
- sum = 0;
-
- for( i = 0; i < 32; i++ )
- {
- info->v0 += (((info->v1 << 4) ^ (info->v1 >> 5)) + info->v1) ^ (sum + k[sum & 3]);
- sum += delta;
- info->v1 += (((info->v0 << 4) ^ (info->v0 >> 5)) + info->v0) ^ (sum + k[(sum>>11) & 3]);
- }
-
- PUT_UINT32_BE( info->v0, result, 0 );
- memcpy( output, result, use_len );
- len -= use_len;
- }
-
- return( 0 );
-}
diff --git a/Source/Core/Common/CMakeLists.txt b/Source/Core/Common/CMakeLists.txt
index 361337e421..4891f3c090 100644
--- a/Source/Core/Common/CMakeLists.txt
+++ b/Source/Core/Common/CMakeLists.txt
@@ -28,9 +28,7 @@ set(SRCS Src/BreakPoints.cpp
Src/Crypto/aes_cbc.cpp
Src/Crypto/aes_core.cpp
Src/Crypto/bn.cpp
- Src/Crypto/ec.cpp
- Src/Crypto/md5.cpp
- Src/Crypto/sha1.cpp)
+ Src/Crypto/ec.cpp)
if(_M_ARM) #ARM
set(SRCS ${SRCS}
diff --git a/Source/Core/Common/Src/Crypto/md5.cpp b/Source/Core/Common/Src/Crypto/md5.cpp
deleted file mode 100644
index 7b8dc149f4..0000000000
--- a/Source/Core/Common/Src/Crypto/md5.cpp
+++ /dev/null
@@ -1,573 +0,0 @@
-/*
- * RFC 1321 compliant MD5 implementation
- *
- * Copyright (C) 2006-2009, Paul Bakker <polarssl_maintainer at polarssl.org>
- * All rights reserved.
- *
- * Joined copyright on original XySSL code with: Christophe Devine
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-/*
- * The MD5 algorithm was designed by Ron Rivest in 1991.
- *
- * http://www.ietf.org/rfc/rfc1321.txt
- */
-
-//#include "polarssl/config.h"
-
-#if defined(POLARSSL_MD5_C)
-
-#include "polarssl/md5.h"
-#else
-#include "md5.h"
-
-#include <string.h>
-#include <stdio.h>
-
-#include "../FileUtil.h"
-
-/*
- * 32-bit integer manipulation macros (little endian)
- */
-#ifndef GET_ULONG_LE
-#define GET_ULONG_LE(n,b,i) \
-{ \
- (n) = ( (unsigned long) (b)[(i) ] ) \
- | ( (unsigned long) (b)[(i) + 1] << 8 ) \
- | ( (unsigned long) (b)[(i) + 2] << 16 ) \
- | ( (unsigned long) (b)[(i) + 3] << 24 ); \
-}
-#endif
-
-#ifndef PUT_ULONG_LE
-#define PUT_ULONG_LE(n,b,i) \
-{ \
- (b)[(i) ] = (unsigned char) ( (n) ); \
- (b)[(i) + 1] = (unsigned char) ( (n) >> 8 ); \
- (b)[(i) + 2] = (unsigned char) ( (n) >> 16 ); \
- (b)[(i) + 3] = (unsigned char) ( (n) >> 24 ); \
-}
-#endif
-
-/*
- * MD5 context setup
- */
-void md5_starts( md5_context *ctx )
-{
- ctx->total[0] = 0;
- ctx->total[1] = 0;
-
- ctx->state[0] = 0x67452301;
- ctx->state[1] = 0xEFCDAB89;
- ctx->state[2] = 0x98BADCFE;
- ctx->state[3] = 0x10325476;
-}
-
-static void md5_process( md5_context *ctx, unsigned char data[64] )
-{
- unsigned long X[16], A, B, C, D;
-
- GET_ULONG_LE( X[ 0], data, 0 );
- GET_ULONG_LE( X[ 1], data, 4 );
- GET_ULONG_LE( X[ 2], data, 8 );
- GET_ULONG_LE( X[ 3], data, 12 );
- GET_ULONG_LE( X[ 4], data, 16 );
- GET_ULONG_LE( X[ 5], data, 20 );
- GET_ULONG_LE( X[ 6], data, 24 );
- GET_ULONG_LE( X[ 7], data, 28 );
- GET_ULONG_LE( X[ 8], data, 32 );
- GET_ULONG_LE( X[ 9], data, 36 );
- GET_ULONG_LE( X[10], data, 40 );
- GET_ULONG_LE( X[11], data, 44 );
- GET_ULONG_LE( X[12], data, 48 );
- GET_ULONG_LE( X[13], data, 52 );
- GET_ULONG_LE( X[14], data, 56 );
- GET_ULONG_LE( X[15], data, 60 );
-
-#define S(x,n) ((x << n) | ((x & 0xFFFFFFFF) >> (32 - n)))
-
-#define P(a,b,c,d,k,s,t) \
-{ \
- a += F(b,c,d) + X[k] + t; a = S(a,s) + b; \
-}
-
- A = ctx->state[0];
- B = ctx->state[1];
- C = ctx->state[2];
- D = ctx->state[3];
-
-#define F(x,y,z) (z ^ (x & (y ^ z)))
-
- P( A, B, C, D, 0, 7, 0xD76AA478 );
- P( D, A, B, C, 1, 12, 0xE8C7B756 );
- P( C, D, A, B, 2, 17, 0x242070DB );
- P( B, C, D, A, 3, 22, 0xC1BDCEEE );
- P( A, B, C, D, 4, 7, 0xF57C0FAF );
- P( D, A, B, C, 5, 12, 0x4787C62A );
- P( C, D, A, B, 6, 17, 0xA8304613 );
- P( B, C, D, A, 7, 22, 0xFD469501 );
- P( A, B, C, D, 8, 7, 0x698098D8 );
- P( D, A, B, C, 9, 12, 0x8B44F7AF );
- P( C, D, A, B, 10, 17, 0xFFFF5BB1 );
- P( B, C, D, A, 11, 22, 0x895CD7BE );
- P( A, B, C, D, 12, 7, 0x6B901122 );
- P( D, A, B, C, 13, 12, 0xFD987193 );
- P( C, D, A, B, 14, 17, 0xA679438E );
- P( B, C, D, A, 15, 22, 0x49B40821 );
-
-#undef F
-
-#define F(x,y,z) (y ^ (z & (x ^ y)))
-
- P( A, B, C, D, 1, 5, 0xF61E2562 );
- P( D, A, B, C, 6, 9, 0xC040B340 );
- P( C, D, A, B, 11, 14, 0x265E5A51 );
- P( B, C, D, A, 0, 20, 0xE9B6C7AA );
- P( A, B, C, D, 5, 5, 0xD62F105D );
- P( D, A, B, C, 10, 9, 0x02441453 );
- P( C, D, A, B, 15, 14, 0xD8A1E681 );
- P( B, C, D, A, 4, 20, 0xE7D3FBC8 );
- P( A, B, C, D, 9, 5, 0x21E1CDE6 );
- P( D, A, B, C, 14, 9, 0xC33707D6 );
- P( C, D, A, B, 3, 14, 0xF4D50D87 );
- P( B, C, D, A, 8, 20, 0x455A14ED );
- P( A, B, C, D, 13, 5, 0xA9E3E905 );
- P( D, A, B, C, 2, 9, 0xFCEFA3F8 );
- P( C, D, A, B, 7, 14, 0x676F02D9 );
- P( B, C, D, A, 12, 20, 0x8D2A4C8A );
-
-#undef F
-
-#define F(x,y,z) (x ^ y ^ z)
-
- P( A, B, C, D, 5, 4, 0xFFFA3942 );
- P( D, A, B, C, 8, 11, 0x8771F681 );
- P( C, D, A, B, 11, 16, 0x6D9D6122 );
- P( B, C, D, A, 14, 23, 0xFDE5380C );
- P( A, B, C, D, 1, 4, 0xA4BEEA44 );
- P( D, A, B, C, 4, 11, 0x4BDECFA9 );
- P( C, D, A, B, 7, 16, 0xF6BB4B60 );
- P( B, C, D, A, 10, 23, 0xBEBFBC70 );
- P( A, B, C, D, 13, 4, 0x289B7EC6 );
- P( D, A, B, C, 0, 11, 0xEAA127FA );
- P( C, D, A, B, 3, 16, 0xD4EF3085 );
- P( B, C, D, A, 6, 23, 0x04881D05 );
- P( A, B, C, D, 9, 4, 0xD9D4D039 );
- P( D, A, B, C, 12, 11, 0xE6DB99E5 );
- P( C, D, A, B, 15, 16, 0x1FA27CF8 );
- P( B, C, D, A, 2, 23, 0xC4AC5665 );
-
-#undef F
-
-#define F(x,y,z) (y ^ (x | ~z))
-
- P( A, B, C, D, 0, 6, 0xF4292244 );
- P( D, A, B, C, 7, 10, 0x432AFF97 );
- P( C, D, A, B, 14, 15, 0xAB9423A7 );
- P( B, C, D, A, 5, 21, 0xFC93A039 );
- P( A, B, C, D, 12, 6, 0x655B59C3 );
- P( D, A, B, C, 3, 10, 0x8F0CCC92 );
- P( C, D, A, B, 10, 15, 0xFFEFF47D );
- P( B, C, D, A, 1, 21, 0x85845DD1 );
- P( A, B, C, D, 8, 6, 0x6FA87E4F );
- P( D, A, B, C, 15, 10, 0xFE2CE6E0 );
- P( C, D, A, B, 6, 15, 0xA3014314 );
- P( B, C, D, A, 13, 21, 0x4E0811A1 );
- P( A, B, C, D, 4, 6, 0xF7537E82 );
- P( D, A, B, C, 11, 10, 0xBD3AF235 );
- P( C, D, A, B, 2, 15, 0x2AD7D2BB );
- P( B, C, D, A, 9, 21, 0xEB86D391 );
-
-#undef F
-
- ctx->state[0] += A;
- ctx->state[1] += B;
- ctx->state[2] += C;
- ctx->state[3] += D;
-}
-
-/*
- * MD5 process buffer
- */
-void md5_update( md5_context *ctx, unsigned char *input, int ilen )
-{
- int fill;
- unsigned long left;
-
- if( ilen <= 0 )
- return;
-
- left = ctx->total[0] & 0x3F;
- fill = 64 - left;
-
- ctx->total[0] += ilen;
- ctx->total[0] &= 0xFFFFFFFF;
-
- if( ctx->total[0] < (unsigned long) ilen )
- ctx->total[1]++;
-
- if( left && ilen >= fill )
- {
- memcpy( (void *) (ctx->buffer + left),
- (void *) input, fill );
- md5_process( ctx, ctx->buffer );
- input += fill;
- ilen -= fill;
- left = 0;
- }
-
- while( ilen >= 64 )
- {
- md5_process( ctx, input );
- input += 64;
- ilen -= 64;
- }
-
- if( ilen > 0 )
- {
- memcpy( (void *) (ctx->buffer + left),
- (void *) input, ilen );
- }
-}
-
-static const unsigned char md5_padding[64] =
-{
- 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-/*
- * MD5 final digest
- */
-void md5_finish( md5_context *ctx, unsigned char output[16] )
-{
- unsigned long last, padn;
- unsigned long high, low;
- unsigned char msglen[8];
-
- high = ( ctx->total[0] >> 29 )
- | ( ctx->total[1] << 3 );
- low = ( ctx->total[0] << 3 );
-
- PUT_ULONG_LE( low, msglen, 0 );
- PUT_ULONG_LE( high, msglen, 4 );
-
- last = ctx->total[0] & 0x3F;
- padn = ( last < 56 ) ? ( 56 - last ) : ( 120 - last );
-
- md5_update( ctx, (unsigned char *) md5_padding, padn );
- md5_update( ctx, msglen, 8 );
-
- PUT_ULONG_LE( ctx->state[0], output, 0 );
- PUT_ULONG_LE( ctx->state[1], output, 4 );
- PUT_ULONG_LE( ctx->state[2], output, 8 );
- PUT_ULONG_LE( ctx->state[3], output, 12 );
-}
-
-/*
- * output = MD5( input buffer )
- */
-void md5( unsigned char *input, int ilen, unsigned char output[16] )
-{
- md5_context ctx;
-
- md5_starts( &ctx );
- md5_update( &ctx, input, ilen );
- md5_finish( &ctx, output );
-
- memset( &ctx, 0, sizeof( md5_context ) );
-}
-
-/*
- * output = MD5( file contents )
- */
-int md5_file( char *path, unsigned char output[16] )
-{
- FILE *f;
- size_t n;
- md5_context ctx;
- unsigned char buf[1024];
-
- File::IOFile file(path, "rb");
- f = file.GetHandle();
-
- if (f == NULL)
- return( 1 );
-
- md5_starts( &ctx );
-
- while( ( n = fread( buf, 1, sizeof( buf ), f ) ) > 0 )
- md5_update( &ctx, buf, (int) n );
-
- md5_finish( &ctx, output );
-
- memset( &ctx, 0, sizeof( md5_context ) );
-
- if( ferror( f ) != 0 )
- {
- return( 2 );
- }
-
- return( 0 );
-}
-
-/*
- * MD5 HMAC context setup
- */
-void md5_hmac_starts( md5_context *ctx, unsigned char *key, int keylen )
-{
- int i;
- unsigned char sum[16];
-
- if( keylen > 64 )
- {
- md5( key, keylen, sum );
- keylen = 16;
- key = sum;
- }
-
- memset( ctx->ipad, 0x36, 64 );
- memset( ctx->opad, 0x5C, 64 );
-
- for( i = 0; i < keylen; i++ )
- {
- ctx->ipad[i] = (unsigned char)( ctx->ipad[i] ^ key[i] );
- ctx->opad[i] = (unsigned char)( ctx->opad[i] ^ key[i] );
- }
-
- md5_starts( ctx );
- md5_update( ctx, ctx->ipad, 64 );
-
- memset( sum, 0, sizeof( sum ) );
-}
-
-/*
- * MD5 HMAC process buffer
- */
-void md5_hmac_update( md5_context *ctx, unsigned char *input, int ilen )
-{
- md5_update( ctx, input, ilen );
-}
-
-/*
- * MD5 HMAC final digest
- */
-void md5_hmac_finish( md5_context *ctx, unsigned char output[16] )
-{
- unsigned char tmpbuf[16];
-
- md5_finish( ctx, tmpbuf );
- md5_starts( ctx );
- md5_update( ctx, ctx->opad, 64 );
- md5_update( ctx, tmpbuf, 16 );
- md5_finish( ctx, output );
-
- memset( tmpbuf, 0, sizeof( tmpbuf ) );
-}
-
-/*
- * output = HMAC-MD5( hmac key, input buffer )
- */
-void md5_hmac( unsigned char *key, int keylen, unsigned char *input, int ilen,
- unsigned char output[16] )
-{
- md5_context ctx;
-
- md5_hmac_starts( &ctx, key, keylen );
- md5_hmac_update( &ctx, input, ilen );
- md5_hmac_finish( &ctx, output );
-
- memset( &ctx, 0, sizeof( md5_context ) );
-}
-
-#if defined(POLARSSL_SELF_TEST)
-/*
- * RFC 1321 test vectors
- */
-static unsigned char md5_test_buf[7][81] =
-{
- { "" },
- { "a" },
- { "abc" },
- { "message digest" },
- { "abcdefghijklmnopqrstuvwxyz" },
- { "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" },
- { "12345678901234567890123456789012345678901234567890123456789012" \
- "345678901234567890" }
-};
-
-static const int md5_test_buflen[7] =
-{
- 0, 1, 3, 14, 26, 62, 80
-};
-
-static const unsigned char md5_test_sum[7][16] =
-{
- { 0xD4, 0x1D, 0x8C, 0xD9, 0x8F, 0x00, 0xB2, 0x04,
- 0xE9, 0x80, 0x09, 0x98, 0xEC, 0xF8, 0x42, 0x7E },
- { 0x0C, 0xC1, 0x75, 0xB9, 0xC0, 0xF1, 0xB6, 0xA8,
- 0x31, 0xC3, 0x99, 0xE2, 0x69, 0x77, 0x26, 0x61 },
- { 0x90, 0x01, 0x50, 0x98, 0x3C, 0xD2, 0x4F, 0xB0,
- 0xD6, 0x96, 0x3F, 0x7D, 0x28, 0xE1, 0x7F, 0x72 },
- { 0xF9, 0x6B, 0x69, 0x7D, 0x7C, 0xB7, 0x93, 0x8D,
- 0x52, 0x5A, 0x2F, 0x31, 0xAA, 0xF1, 0x61, 0xD0 },
- { 0xC3, 0xFC, 0xD3, 0xD7, 0x61, 0x92, 0xE4, 0x00,
- 0x7D, 0xFB, 0x49, 0x6C, 0xCA, 0x67, 0xE1, 0x3B },
- { 0xD1, 0x74, 0xAB, 0x98, 0xD2, 0x77, 0xD9, 0xF5,
- 0xA5, 0x61, 0x1C, 0x2C, 0x9F, 0x41, 0x9D, 0x9F },
- { 0x57, 0xED, 0xF4, 0xA2, 0x2B, 0xE3, 0xC9, 0x55,
- 0xAC, 0x49, 0xDA, 0x2E, 0x21, 0x07, 0xB6, 0x7A }
-};
-
-/*
- * RFC 2202 test vectors
- */
-static unsigned char md5_hmac_test_key[7][26] =
-{
- { "\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B" },
- { "Jefe" },
- { "\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA" },
- { "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10"
- "\x11\x12\x13\x14\x15\x16\x17\x18\x19" },
- { "\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C" },
- { "" }, /* 0xAA 80 times */
- { "" }
-};
-
-static const int md5_hmac_test_keylen[7] =
-{
- 16, 4, 16, 25, 16, 80, 80
-};
-
-static unsigned char md5_hmac_test_buf[7][74] =
-{
- { "Hi There" },
- { "what do ya want for nothing?" },
- { "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD"
- "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD"
- "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD"
- "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD"
- "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD" },
- { "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD"
- "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD"
- "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD"
- "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD"
- "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD" },
- { "Test With Truncation" },
- { "Test Using Larger Than Block-Size Key - Hash Key First" },
- { "Test Using Larger Than Block-Size Key and Larger"
- " Than One Block-Size Data" }
-};
-
-static const int md5_hmac_test_buflen[7] =
-{
- 8, 28, 50, 50, 20, 54, 73
-};
-
-static const unsigned char md5_hmac_test_sum[7][16] =
-{
- { 0x92, 0x94, 0x72, 0x7A, 0x36, 0x38, 0xBB, 0x1C,
- 0x13, 0xF4, 0x8E, 0xF8, 0x15, 0x8B, 0xFC, 0x9D },
- { 0x75, 0x0C, 0x78, 0x3E, 0x6A, 0xB0, 0xB5, 0x03,
- 0xEA, 0xA8, 0x6E, 0x31, 0x0A, 0x5D, 0xB7, 0x38 },
- { 0x56, 0xBE, 0x34, 0x52, 0x1D, 0x14, 0x4C, 0x88,
- 0xDB, 0xB8, 0xC7, 0x33, 0xF0, 0xE8, 0xB3, 0xF6 },
- { 0x69, 0x7E, 0xAF, 0x0A, 0xCA, 0x3A, 0x3A, 0xEA,
- 0x3A, 0x75, 0x16, 0x47, 0x46, 0xFF, 0xAA, 0x79 },
- { 0x56, 0x46, 0x1E, 0xF2, 0x34, 0x2E, 0xDC, 0x00,
- 0xF9, 0xBA, 0xB9, 0x95 },
- { 0x6B, 0x1A, 0xB7, 0xFE, 0x4B, 0xD7, 0xBF, 0x8F,
- 0x0B, 0x62, 0xE6, 0xCE, 0x61, 0xB9, 0xD0, 0xCD },
- { 0x6F, 0x63, 0x0F, 0xAD, 0x67, 0xCD, 0xA0, 0xEE,
- 0x1F, 0xB1, 0xF5, 0x62, 0xDB, 0x3A, 0xA5, 0x3E }
-};
-
-/*
- * Checkup routine
- */
-int md5_self_test( int verbose )
-{
- int i, buflen;
- unsigned char buf[1024];
- unsigned char md5sum[16];
- md5_context ctx;
-
- for( i = 0; i < 7; i++ )
- {
- if( verbose != 0 )
- printf( " MD5 test #%d: ", i + 1 );
-
- md5( md5_test_buf[i], md5_test_buflen[i], md5sum );
-
- if( memcmp( md5sum, md5_test_sum[i], 16 ) != 0 )
- {
- if( verbose != 0 )
- printf( "failed\n" );
-
- return( 1 );
- }
-
- if( verbose != 0 )
- printf( "passed\n" );
- }
-
- if( verbose != 0 )
- printf( "\n" );
-
- for( i = 0; i < 7; i++ )
- {
- if( verbose != 0 )
- printf( " HMAC-MD5 test #%d: ", i + 1 );
-
- if( i == 5 || i == 6 )
- {
- memset( buf, '\xAA', buflen = 80 );
- md5_hmac_starts( &ctx, buf, buflen );
- }
- else
- md5_hmac_starts( &ctx, md5_hmac_test_key[i],
- md5_hmac_test_keylen[i] );
-
- md5_hmac_update( &ctx, md5_hmac_test_buf[i],
- md5_hmac_test_buflen[i] );
-
- md5_hmac_finish( &ctx, md5sum );
-
- buflen = ( i == 4 ) ? 12 : 16;
-
- if( memcmp( md5sum, md5_hmac_test_sum[i], buflen ) != 0 )
- {
- if( verbose != 0 )
- printf( "failed\n" );
-
- return( 1 );
- }
-
- if( verbose != 0 )
- printf( "passed\n" );
- }
-
- if( verbose != 0 )
- printf( "\n" );
-
- return( 0 );
-}
-
-#endif
-
-#endif
diff --git a/Source/Core/Common/Src/Crypto/md5.h b/Source/Core/Common/Src/Crypto/md5.h
deleted file mode 100644
index a69024d116..0000000000
--- a/Source/Core/Common/Src/Crypto/md5.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/**
- * \file md5.h
- *
- * Copyright (C) 2006-2009, Paul Bakker <polarssl_maintainer at polarssl.org>
- * All rights reserved.
- *
- * Joined copyright on original XySSL code with: Christophe Devine
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-#ifndef POLARSSL_MD5_H
-#define POLARSSL_MD5_H
-
-/**
- * \brief MD5 context structure
- */
-typedef struct
-{
- unsigned long total[2]; /*!< number of bytes processed */
- unsigned long state[4]; /*!< intermediate digest state */
- unsigned char buffer[64]; /*!< data block being processed */
-
- unsigned char ipad[64]; /*!< HMAC: inner padding */
- unsigned char opad[64]; /*!< HMAC: outer padding */
-}
-md5_context;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \brief MD5 context setup
- *
- * \param ctx context to be initialized
- */
-void md5_starts( md5_context *ctx );
-
-/**
- * \brief MD5 process buffer
- *
- * \param ctx MD5 context
- * \param input buffer holding the data
- * \param ilen length of the input data
- */
-void md5_update( md5_context *ctx, unsigned char *input, int ilen );
-
-/**
- * \brief MD5 final digest
- *
- * \param ctx MD5 context
- * \param output MD5 checksum result
- */
-void md5_finish( md5_context *ctx, unsigned char output[16] );
-
-/**
- * \brief Output = MD5( input buffer )
- *
- * \param input buffer holding the data
- * \param ilen length of the input data
- * \param output MD5 checksum result
- */
-void md5( unsigned char *input, int ilen, unsigned char output[16] );
-
-/**
- * \brief Output = MD5( file contents )
- *
- * \param path input file name
- * \param output MD5 checksum result
- *
- * \return 0 if successful, 1 if fopen failed,
- * or 2 if fread failed
- */
-int md5_file( char *path, unsigned char output[16] );
-
-/**
- * \brief MD5 HMAC context setup
- *
- * \param ctx HMAC context to be initialized
- * \param key HMAC secret key
- * \param keylen length of the HMAC key
- */
-void md5_hmac_starts( md5_context *ctx, unsigned char *key, int keylen );
-
-/**
- * \brief MD5 HMAC process buffer
- *
- * \param ctx HMAC context
- * \param input buffer holding the data
- * \param ilen length of the input data
- */
-void md5_hmac_update( md5_context *ctx, unsigned char *input, int ilen );
-
-/**
- * \brief MD5 HMAC final digest
- *
- * \param ctx HMAC context
- * \param output MD5 HMAC checksum result
- */
-void md5_hmac_finish( md5_context *ctx, unsigned char output[16] );
-
-/**
- * \brief Output = HMAC-MD5( hmac key, input buffer )
- *
- * \param key HMAC secret key
- * \param keylen length of the HMAC key
- * \param input buffer holding the data
- * \param ilen length of the input data
- * \param output HMAC-MD5 result
- */
-void md5_hmac( unsigned char *key, int keylen,
- unsigned char *input, int ilen,
- unsigned char output[16] );
-
-/**
- * \brief Checkup routine
- *
- * \return 0 if successful, or 1 if the test failed
- */
-int md5_self_test( int verbose );
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* md5.h */
diff --git a/Source/Core/Common/Src/Crypto/sha1.cpp b/Source/Core/Common/Src/Crypto/sha1.cpp
deleted file mode 100644
index 45b88b2b6e..0000000000
--- a/Source/Core/Common/Src/Crypto/sha1.cpp
+++ /dev/null
@@ -1,614 +0,0 @@
-/*
- * FIPS-180-1 compliant SHA-1 implementation
- *
- * Copyright (C) 2006-2009, Paul Bakker <polarssl_maintainer at polarssl.org>
- * All rights reserved.
- *
- * Joined copyright on original XySSL code with: Christophe Devine
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-/*
- * The SHA-1 standard was published by NIST in 1993.
- *
- * http://www.itl.nist.gov/fipspubs/fip180-1.htm
- */
-/*
-#include "polarssl/config.h"
-
-#if defined(POLARSSL_SHA1_C)
-
-#include "polarssl/sha1.h"
-*/
-#include "sha1.h"
-#include <string.h>
-#include <stdio.h>
-
-#include "../FileUtil.h"
-
-/*
- * 32-bit integer manipulation macros (big endian)
- */
-#ifndef GET_ULONG_BE
-#define GET_ULONG_BE(n,b,i) \
-{ \
- (n) = ( (unsigned long) (b)[(i) ] << 24 ) \
- | ( (unsigned long) (b)[(i) + 1] << 16 ) \
- | ( (unsigned long) (b)[(i) + 2] << 8 ) \
- | ( (unsigned long) (b)[(i) + 3] ); \
-}
-#endif
-
-#ifndef PUT_ULONG_BE
-#define PUT_ULONG_BE(n,b,i) \
-{ \
- (b)[(i) ] = (unsigned char) ( (n) >> 24 ); \
- (b)[(i) + 1] = (unsigned char) ( (n) >> 16 ); \
- (b)[(i) + 2] = (unsigned char) ( (n) >> 8 ); \
- (b)[(i) + 3] = (unsigned char) ( (n) ); \
-}
-#endif
-
-/*
- * SHA-1 context setup
- */
-void sha1_starts( sha1_context *ctx )
-{
- ctx->total[0] = 0;
- ctx->total[1] = 0;
-
- ctx->state[0] = 0x67452301;
- ctx->state[1] = 0xEFCDAB89;
- ctx->state[2] = 0x98BADCFE;
- ctx->state[3] = 0x10325476;
- ctx->state[4] = 0xC3D2E1F0;
-}
-
-static void sha1_process( sha1_context *ctx, unsigned char data[64] )
-{
- unsigned long temp, W[16], A, B, C, D, E;
-
- GET_ULONG_BE( W[ 0], data, 0 );
- GET_ULONG_BE( W[ 1], data, 4 );
- GET_ULONG_BE( W[ 2], data, 8 );
- GET_ULONG_BE( W[ 3], data, 12 );
- GET_ULONG_BE( W[ 4], data, 16 );
- GET_ULONG_BE( W[ 5], data, 20 );
- GET_ULONG_BE( W[ 6], data, 24 );
- GET_ULONG_BE( W[ 7], data, 28 );
- GET_ULONG_BE( W[ 8], data, 32 );
- GET_ULONG_BE( W[ 9], data, 36 );
- GET_ULONG_BE( W[10], data, 40 );
- GET_ULONG_BE( W[11], data, 44 );
- GET_ULONG_BE( W[12], data, 48 );
- GET_ULONG_BE( W[13], data, 52 );
- GET_ULONG_BE( W[14], data, 56 );
- GET_ULONG_BE( W[15], data, 60 );
-
-#define S(x,n) ((x << n) | ((x & 0xFFFFFFFF) >> (32 - n)))
-
-#define R(t) \
-( \
- temp = W[(t - 3) & 0x0F] ^ W[(t - 8) & 0x0F] ^ \
- W[(t - 14) & 0x0F] ^ W[ t & 0x0F], \
- ( W[t & 0x0F] = S(temp,1) ) \
-)
-
-#define P(a,b,c,d,e,x) \
-{ \
- e += S(a,5) + F(b,c,d) + K + x; b = S(b,30); \
-}
-
- A = ctx->state[0];
- B = ctx->state[1];
- C = ctx->state[2];
- D = ctx->state[3];
- E = ctx->state[4];
-
-#define F(x,y,z) (z ^ (x & (y ^ z)))
-#define K 0x5A827999
-
- P( A, B, C, D, E, W[0] );
- P( E, A, B, C, D, W[1] );
- P( D, E, A, B, C, W[2] );
- P( C, D, E, A, B, W[3] );
- P( B, C, D, E, A, W[4] );
- P( A, B, C, D, E, W[5] );
- P( E, A, B, C, D, W[6] );
- P( D, E, A, B, C, W[7] );
- P( C, D, E, A, B, W[8] );
- P( B, C, D, E, A, W[9] );
- P( A, B, C, D, E, W[10] );
- P( E, A, B, C, D, W[11] );
- P( D, E, A, B, C, W[12] );
- P( C, D, E, A, B, W[13] );
- P( B, C, D, E, A, W[14] );
- P( A, B, C, D, E, W[15] );
- P( E, A, B, C, D, R(16) );
- P( D, E, A, B, C, R(17) );
- P( C, D, E, A, B, R(18) );
- P( B, C, D, E, A, R(19) );
-
-#undef K
-#undef F
-
-#define F(x,y,z) (x ^ y ^ z)
-#define K 0x6ED9EBA1
-
- P( A, B, C, D, E, R(20) );
- P( E, A, B, C, D, R(21) );
- P( D, E, A, B, C, R(22) );
- P( C, D, E, A, B, R(23) );
- P( B, C, D, E, A, R(24) );
- P( A, B, C, D, E, R(25) );
- P( E, A, B, C, D, R(26) );
- P( D, E, A, B, C, R(27) );
- P( C, D, E, A, B, R(28) );
- P( B, C, D, E, A, R(29) );
- P( A, B, C, D, E, R(30) );
- P( E, A, B, C, D, R(31) );
- P( D, E, A, B, C, R(32) );
- P( C, D, E, A, B, R(33) );
- P( B, C, D, E, A, R(34) );
- P( A, B, C, D, E, R(35) );
- P( E, A, B, C, D, R(36) );
- P( D, E, A, B, C, R(37) );
- P( C, D, E, A, B, R(38) );
- P( B, C, D, E, A, R(39) );
-
-#undef K
-#undef F
-
-#define F(x,y,z) ((x & y) | (z & (x | y)))
-#define K 0x8F1BBCDC
-
- P( A, B, C, D, E, R(40) );
- P( E, A, B, C, D, R(41) );
- P( D, E, A, B, C, R(42) );
- P( C, D, E, A, B, R(43) );
- P( B, C, D, E, A, R(44) );
- P( A, B, C, D, E, R(45) );
- P( E, A, B, C, D, R(46) );
- P( D, E, A, B, C, R(47) );
- P( C, D, E, A, B, R(48) );
- P( B, C, D, E, A, R(49) );
- P( A, B, C, D, E, R(50) );
- P( E, A, B, C, D, R(51) );
- P( D, E, A, B, C, R(52) );
- P( C, D, E, A, B, R(53) );
- P( B, C, D, E, A, R(54) );
- P( A, B, C, D, E, R(55) );
- P( E, A, B, C, D, R(56) );
- P( D, E, A, B, C, R(57) );
- P( C, D, E, A, B, R(58) );
- P( B, C, D, E, A, R(59) );
-
-#undef K
-#undef F
-
-#define F(x,y,z) (x ^ y ^ z)
-#define K 0xCA62C1D6
-
- P( A, B, C, D, E, R(60) );
- P( E, A, B, C, D, R(61) );
- P( D, E, A, B, C, R(62) );
- P( C, D, E, A, B, R(63) );
- P( B, C, D, E, A, R(64) );
- P( A, B, C, D, E, R(65) );
- P( E, A, B, C, D, R(66) );
- P( D, E, A, B, C, R(67) );
- P( C, D, E, A, B, R(68) );
- P( B, C, D, E, A, R(69) );
- P( A, B, C, D, E, R(70) );
- P( E, A, B, C, D, R(71) );
- P( D, E, A, B, C, R(72) );
- P( C, D, E, A, B, R(73) );
- P( B, C, D, E, A, R(74) );
- P( A, B, C, D, E, R(75) );
- P( E, A, B, C, D, R(76) );
- P( D, E, A, B, C, R(77) );
- P( C, D, E, A, B, R(78) );
- P( B, C, D, E, A, R(79) );
-
-#undef K
-#undef F
-
- ctx->state[0] += A;
- ctx->state[1] += B;
- ctx->state[2] += C;
- ctx->state[3] += D;
- ctx->state[4] += E;
-}
-
-/*
- * SHA-1 process buffer
- */
-void sha1_update( sha1_context *ctx, unsigned char *input, int ilen )
-{
- int fill;
- unsigned long left;
-
- if( ilen <= 0 )
- return;
-
- left = ctx->total[0] & 0x3F;
- fill = 64 - left;
-
- ctx->total[0] += ilen;
- ctx->total[0] &= 0xFFFFFFFF;
-
- if( ctx->total[0] < (unsigned long) ilen )
- ctx->total[1]++;
-
- if( left && ilen >= fill )
- {
- memcpy( (void *) (ctx->buffer + left),
- (void *) input, fill );
- sha1_process( ctx, ctx->buffer );
- input += fill;
- ilen -= fill;
- left = 0;
- }
-
- while( ilen >= 64 )
- {
- sha1_process( ctx, input );
- input += 64;
- ilen -= 64;
- }
-
- if( ilen > 0 )
- {
- memcpy( (void *) (ctx->buffer + left),
- (void *) input, ilen );
- }
-}
-
-static const unsigned char sha1_padding[64] =
-{
- 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-};
-
-/*
- * SHA-1 final digest
- */
-void sha1_finish( sha1_context *ctx, unsigned char output[20] )
-{
- unsigned long last, padn;
- unsigned long high, low;
- unsigned char msglen[8];
-
- high = ( ctx->total[0] >> 29 )
- | ( ctx->total[1] << 3 );
- low = ( ctx->total[0] << 3 );
-
- PUT_ULONG_BE( high, msglen, 0 );
- PUT_ULONG_BE( low, msglen, 4 );
-
- last = ctx->total[0] & 0x3F;
- padn = ( last < 56 ) ? ( 56 - last ) : ( 120 - last );
-
- sha1_update( ctx, (unsigned char *) sha1_padding, padn );
- sha1_update( ctx, msglen, 8 );
-
- PUT_ULONG_BE( ctx->state[0], output, 0 );
- PUT_ULONG_BE( ctx->state[1], output, 4 );
- PUT_ULONG_BE( ctx->state[2], output, 8 );
- PUT_ULONG_BE( ctx->state[3], output, 12 );
- PUT_ULONG_BE( ctx->state[4], output, 16 );
-}
-
-/*
- * output = SHA-1( input buffer )
- */
-void sha1( unsigned char *input, int ilen, unsigned char output[20] )
-{
- sha1_context ctx;
-
- sha1_starts( &ctx );
- sha1_update( &ctx, input, ilen );
- sha1_finish( &ctx, output );
-
- memset( &ctx, 0, sizeof( sha1_context ) );
-}
-
-/*
- * output = SHA-1( file contents )
- */
-int sha1_file( char *path, unsigned char output[20] )
-{
- FILE *f;
- size_t n;
- sha1_context ctx;
- unsigned char buf[1024];
-
- File::IOFile file(path, "rb");
- f = file.GetHandle();
-
- if (f == NULL)
- return( 1 );
-
- sha1_starts( &ctx );
-
- while( ( n = fread( buf, 1, sizeof( buf ), f ) ) > 0 )
- sha1_update( &ctx, buf, (int) n );
-
- sha1_finish( &ctx, output );
-
- memset( &ctx, 0, sizeof( sha1_context ) );
-
- if( ferror( f ) != 0 )
- {
- return( 2 );
- }
-
- return( 0 );
-}
-
-/*
- * SHA-1 HMAC context setup
- */
-void sha1_hmac_starts( sha1_context *ctx, unsigned char *key, int keylen )
-{
- int i;
- unsigned char sum[20];
-
- if( keylen > 64 )
- {
- sha1( key, keylen, sum );
- keylen = 20;
- key = sum;
- }
-
- memset( ctx->ipad, 0x36, 64 );
- memset( ctx->opad, 0x5C, 64 );
-
- for( i = 0; i < keylen; i++ )
- {
- ctx->ipad[i] = (unsigned char)( ctx->ipad[i] ^ key[i] );
- ctx->opad[i] = (unsigned char)( ctx->opad[i] ^ key[i] );
- }
-
- sha1_starts( ctx );
- sha1_update( ctx, ctx->ipad, 64 );
-
- memset( sum, 0, sizeof( sum ) );
-}
-
-/*
- * SHA-1 HMAC process buffer
- */
-void sha1_hmac_update( sha1_context *ctx, unsigned char *input, int ilen )
-{
- sha1_update( ctx, input, ilen );
-}
-
-/*
- * SHA-1 HMAC final digest
- */
-void sha1_hmac_finish( sha1_context *ctx, unsigned char output[20] )
-{
- unsigned char tmpbuf[20];
-
- sha1_finish( ctx, tmpbuf );
- sha1_starts( ctx );
- sha1_update( ctx, ctx->opad, 64 );
- sha1_update( ctx, tmpbuf, 20 );
- sha1_finish( ctx, output );
-
- memset( tmpbuf, 0, sizeof( tmpbuf ) );
-}
-
-/*
- * output = HMAC-SHA-1( hmac key, input buffer )
- */
-void sha1_hmac( unsigned char *key, int keylen,
- unsigned char *input, int ilen,
- unsigned char output[20] )
-{
- sha1_context ctx;
-
- sha1_hmac_starts( &ctx, key, keylen );
- sha1_hmac_update( &ctx, input, ilen );
- sha1_hmac_finish( &ctx, output );
-
- memset( &ctx, 0, sizeof( sha1_context ) );
-}
-
-#if defined(POLARSSL_SELF_TEST)
-/*
- * FIPS-180-1 test vectors
- */
-static unsigned char sha1_test_buf[3][57] =
-{
- { "abc" },
- { "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" },
- { "" }
-};
-
-static const int sha1_test_buflen[3] =
-{
- 3, 56, 1000
-};
-
-static const unsigned char sha1_test_sum[3][20] =
-{
- { 0xA9, 0x99, 0x3E, 0x36, 0x47, 0x06, 0x81, 0x6A, 0xBA, 0x3E,
- 0x25, 0x71, 0x78, 0x50, 0xC2, 0x6C, 0x9C, 0xD0, 0xD8, 0x9D },
- { 0x84, 0x98, 0x3E, 0x44, 0x1C, 0x3B, 0xD2, 0x6E, 0xBA, 0xAE,
- 0x4A, 0xA1, 0xF9, 0x51, 0x29, 0xE5, 0xE5, 0x46, 0x70, 0xF1 },
- { 0x34, 0xAA, 0x97, 0x3C, 0xD4, 0xC4, 0xDA, 0xA4, 0xF6, 0x1E,
- 0xEB, 0x2B, 0xDB, 0xAD, 0x27, 0x31, 0x65, 0x34, 0x01, 0x6F }
-};
-
-/*
- * RFC 2202 test vectors
- */
-static unsigned char sha1_hmac_test_key[7][26] =
-{
- { "\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B\x0B"
- "\x0B\x0B\x0B\x0B" },
- { "Jefe" },
- { "\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA\xAA"
- "\xAA\xAA\xAA\xAA" },
- { "\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B\x0C\x0D\x0E\x0F\x10"
- "\x11\x12\x13\x14\x15\x16\x17\x18\x19" },
- { "\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C\x0C"
- "\x0C\x0C\x0C\x0C" },
- { "" }, /* 0xAA 80 times */
- { "" }
-};
-
-static const int sha1_hmac_test_keylen[7] =
-{
- 20, 4, 20, 25, 20, 80, 80
-};
-
-static unsigned char sha1_hmac_test_buf[7][74] =
-{
- { "Hi There" },
- { "what do ya want for nothing?" },
- { "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD"
- "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD"
- "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD"
- "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD"
- "\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD\xDD" },
- { "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD"
- "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD"
- "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD"
- "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD"
- "\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD\xCD" },
- { "Test With Truncation" },
- { "Test Using Larger Than Block-Size Key - Hash Key First" },
- { "Test Using Larger Than Block-Size Key and Larger"
- " Than One Block-Size Data" }
-};
-
-static const int sha1_hmac_test_buflen[7] =
-{
- 8, 28, 50, 50, 20, 54, 73
-};
-
-static const unsigned char sha1_hmac_test_sum[7][20] =
-{
- { 0xB6, 0x17, 0x31, 0x86, 0x55, 0x05, 0x72, 0x64, 0xE2, 0x8B,
- 0xC0, 0xB6, 0xFB, 0x37, 0x8C, 0x8E, 0xF1, 0x46, 0xBE, 0x00 },
- { 0xEF, 0xFC, 0xDF, 0x6A, 0xE5, 0xEB, 0x2F, 0xA2, 0xD2, 0x74,
- 0x16, 0xD5, 0xF1, 0x84, 0xDF, 0x9C, 0x25, 0x9A, 0x7C, 0x79 },
- { 0x12, 0x5D, 0x73, 0x42, 0xB9, 0xAC, 0x11, 0xCD, 0x91, 0xA3,
- 0x9A, 0xF4, 0x8A, 0xA1, 0x7B, 0x4F, 0x63, 0xF1, 0x75, 0xD3 },
- { 0x4C, 0x90, 0x07, 0xF4, 0x02, 0x62, 0x50, 0xC6, 0xBC, 0x84,
- 0x14, 0xF9, 0xBF, 0x50, 0xC8, 0x6C, 0x2D, 0x72, 0x35, 0xDA },
- { 0x4C, 0x1A, 0x03, 0x42, 0x4B, 0x55, 0xE0, 0x7F, 0xE7, 0xF2,
- 0x7B, 0xE1 },
- { 0xAA, 0x4A, 0xE5, 0xE1, 0x52, 0x72, 0xD0, 0x0E, 0x95, 0x70,
- 0x56, 0x37, 0xCE, 0x8A, 0x3B, 0x55, 0xED, 0x40, 0x21, 0x12 },
- { 0xE8, 0xE9, 0x9D, 0x0F, 0x45, 0x23, 0x7D, 0x78, 0x6D, 0x6B,
- 0xBA, 0xA7, 0x96, 0x5C, 0x78, 0x08, 0xBB, 0xFF, 0x1A, 0x91 }
-};
-
-/*
- * Checkup routine
- */
-int sha1_self_test( int verbose )
-{
- int i, j, buflen;
- unsigned char buf[1024];
- unsigned char sha1sum[20];
- sha1_context ctx;
-
- /*
- * SHA-1
- */
- for( i = 0; i < 3; i++ )
- {
- if( verbose != 0 )
- printf( " SHA-1 test #%d: ", i + 1 );
-
- sha1_starts( &ctx );
-
- if( i == 2 )
- {
- memset( buf, 'a', buflen = 1000 );
-
- for( j = 0; j < 1000; j++ )
- sha1_update( &ctx, buf, buflen );
- }
- else
- sha1_update( &ctx, sha1_test_buf[i],
- sha1_test_buflen[i] );
-
- sha1_finish( &ctx, sha1sum );
-
- if( memcmp( sha1sum, sha1_test_sum[i], 20 ) != 0 )
- {
- if( verbose != 0 )
- printf( "failed\n" );
-
- return( 1 );
- }
-
- if( verbose != 0 )
- printf( "passed\n" );
- }
-
- if( verbose != 0 )
- printf( "\n" );
-
- for( i = 0; i < 7; i++ )
- {
- if( verbose != 0 )
- printf( " HMAC-SHA-1 test #%d: ", i + 1 );
-
- if( i == 5 || i == 6 )
- {
- memset( buf, '\xAA', buflen = 80 );
- sha1_hmac_starts( &ctx, buf, buflen );
- }
- else
- sha1_hmac_starts( &ctx, sha1_hmac_test_key[i],
- sha1_hmac_test_keylen[i] );
-
- sha1_hmac_update( &ctx, sha1_hmac_test_buf[i],
- sha1_hmac_test_buflen[i] );
-
- sha1_hmac_finish( &ctx, sha1sum );
-
- buflen = ( i == 4 ) ? 12 : 20;
-
- if( memcmp( sha1sum, sha1_hmac_test_sum[i], buflen ) != 0 )
- {
- if( verbose != 0 )
- printf( "failed\n" );
-
- return( 1 );
- }
-
- if( verbose != 0 )
- printf( "passed\n" );
- }
-
- if( verbose != 0 )
- printf( "\n" );
-
- return( 0 );
-}
-
-#endif
-
-//#endif
diff --git a/Source/Core/Common/Src/Crypto/sha1.h b/Source/Core/Common/Src/Crypto/sha1.h
deleted file mode 100644
index 01e522d5db..0000000000
--- a/Source/Core/Common/Src/Crypto/sha1.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/**
- * \file sha1.h
- *
- * Copyright (C) 2006-2009, Paul Bakker <polarssl_maintainer at polarssl.org>
- * All rights reserved.
- *
- * Joined copyright on original XySSL code with: Christophe Devine
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-#ifndef POLARSSL_SHA1_H
-#define POLARSSL_SHA1_H
-
-/**
- * \brief SHA-1 context structure
- */
-typedef struct
-{
- unsigned long total[2]; /*!< number of bytes processed */
- unsigned long state[5]; /*!< intermediate digest state */
- unsigned char buffer[64]; /*!< data block being processed */
-
- unsigned char ipad[64]; /*!< HMAC: inner padding */
- unsigned char opad[64]; /*!< HMAC: outer padding */
-}
-sha1_context;
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * \brief SHA-1 context setup
- *
- * \param ctx context to be initialized
- */
-void sha1_starts( sha1_context *ctx );
-
-/**
- * \brief SHA-1 process buffer
- *
- * \param ctx SHA-1 context
- * \param input buffer holding the data
- * \param ilen length of the input data
- */
-void sha1_update( sha1_context *ctx, unsigned char *input, int ilen );
-
-/**
- * \brief SHA-1 final digest
- *
- * \param ctx SHA-1 context
- * \param output SHA-1 checksum result
- */
-void sha1_finish( sha1_context *ctx, unsigned char output[20] );
-
-/**
- * \brief Output = SHA-1( input buffer )
- *
- * \param input buffer holding the data
- * \param ilen length of the input data
- * \param output SHA-1 checksum result
- */
-void sha1( unsigned char *input, int ilen, unsigned char output[20] );
-
-/**
- * \brief Output = SHA-1( file contents )
- *
- * \param path input file name
- * \param output SHA-1 checksum result
- *
- * \return 0 if successful, 1 if fopen failed,
- * or 2 if fread failed
- */
-int sha1_file( char *path, unsigned char output[20] );
-
-/**
- * \brief SHA-1 HMAC context setup
- *
- * \param ctx HMAC context to be initialized
- * \param key HMAC secret key
- * \param keylen length of the HMAC key
- */
-void sha1_hmac_starts( sha1_context *ctx, unsigned char *key, int keylen );
-
-/**
- * \brief SHA-1 HMAC process buffer
- *
- * \param ctx HMAC context
- * \param input buffer holding the data
- * \param ilen length of the input data
- */
-void sha1_hmac_update( sha1_context *ctx, unsigned char *input, int ilen );
-
-/**
- * \brief SHA-1 HMAC final digest
- *
- * \param ctx HMAC context
- * \param output SHA-1 HMAC checksum result
- */
-void sha1_hmac_finish( sha1_context *ctx, unsigned char output[20] );
-
-/**
- * \brief Output = HMAC-SHA-1( hmac key, input buffer )
- *
- * \param key HMAC secret key
- * \param keylen length of the HMAC key
- * \param input buffer holding the data
- * \param ilen length of the input data
- * \param output HMAC-SHA-1 result
- */
-void sha1_hmac( unsigned char *key, int keylen,
- unsigned char *input, int ilen,
- unsigned char output[20] );
-
-/**
- * \brief Checkup routine
- *
- * \return 0 if successful, or 1 if the test failed
- */
-int sha1_self_test( int verbose );
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* sha1.h */
diff --git a/Source/Core/Common/Src/Crypto/tools.h b/Source/Core/Common/Src/Crypto/tools.h
index ef4f8efc80..ef2c54f51d 100644
--- a/Source/Core/Common/Src/Crypto/tools.h
+++ b/Source/Core/Common/Src/Crypto/tools.h
@@ -4,7 +4,7 @@
#ifndef _TOOLS_H
#define _TOOLS_H
-#include "sha1.h"
+#include "polarssl/sha1.h"
// bignum
int bn_compare(u8 *a, u8 *b, u32 n);
diff --git a/Source/Core/Core/CMakeLists.txt b/Source/Core/Core/CMakeLists.txt
index d0472dbe89..a78de6ff32 100644
--- a/Source/Core/Core/CMakeLists.txt
+++ b/Source/Core/Core/CMakeLists.txt
@@ -217,28 +217,19 @@ if(_M_ARM)
Src/PowerPC/JitArm32/JitArm_LoadStoreFloating.cpp)
endif()
-set(LIBS bdisasm inputcommon videosoftware sfml-network ${OPENSSL_LIBRARIES})
+set(LIBS bdisasm inputcommon videosoftware sfml-network)
if(NOT USE_GLES)
set(LIBS ${LIBS} videoogl)
endif()
-
if(LIBUSB_FOUND)
# Using shared LibUSB
set(LIBS ${LIBS} ${LIBUSB_LIBRARIES})
set(SRCS ${SRCS} Src/IPC_HLE/WII_IPC_HLE_Device_hid.cpp)
endif(LIBUSB_FOUND)
-set(GNUTLS_MIN_VERSION "3.1.9")
-set(GNUTLS_FIND_REQUIRED 1)
-find_package(GnuTLS)
-set(LIBS ${LIBS} ${GNUTLS_LIBRARIES})
-
-
-if(NOT GNUTLS_FOUND)
- message(FATAL_ERROR "GnuTLS not found")
-endif(NOT GNUTLS_FOUND)
+set(LIBS ${LIBS} polarssl)
if(WIN32)
set(SRCS ${SRCS} Src/HW/BBA-TAP/TAP_Win32.cpp Src/stdafx.cpp
diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp
index a0ded34fc4..f5bd082099 100644
--- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp
+++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp
@@ -115,7 +115,8 @@ _verify_certificate_callback (void *data, x509_cert *crt, int depth, int *flags)
{
char buf[1024];
((void) data);
- std::string verify_info = StringFromFormat("Verify requested for (Depth %d):\n");
+ std::string verify_info = StringFromFormat(
+ "Verify requested for (Depth %d):\n", depth);
x509parse_cert_info( buf, sizeof( buf ) - 1, "", crt );
verify_info += buf;
@@ -144,7 +145,7 @@ _verify_certificate_callback (void *data, x509_cert *crt, int depth, int *flags)
if ( ( *flags ) == 0 )
verify_info += " This certificate has no flags\n";
- WARN_LOG(WII_IPC_SSL, verify_info.c_str() );
+ WARN_LOG(WII_IPC_SSL, "%s", verify_info.c_str() );
return( 0 );
}
@@ -485,8 +486,10 @@ _SSL_NEW_ERROR:
if (SSLID_VALID(sslID))
{
int ret = ssl_write( &_SSL[sslID].ctx, Memory::GetPointer(_BufferOut2), BufferOutSize2);
-
+
+#ifdef DEBUG_SSL
File::IOFile("ssl_write.bin", "ab").WriteBytes(Memory::GetPointer(_BufferOut2), BufferOutSize2);
+#endif
if (ret >= 0)
{
// Return bytes written or SSL_ERR_ZERO if none
@@ -530,11 +533,12 @@ _SSL_NEW_ERROR:
if (SSLID_VALID(sslID))
{
ret = ssl_read( &_SSL[sslID].ctx, Memory::GetPointer(_BufferIn2), BufferInSize2);
+#ifdef DEBUG_SSL
if (ret > 0)
{
File::IOFile("ssl_read.bin", "ab").WriteBytes(Memory::GetPointer(_BufferIn2), ret);
}
-
+#endif
if (ret >= 0)
{
// Return bytes read or SSL_ERR_ZERO if none
diff --git a/Source/Core/Core/Src/Movie.cpp b/Source/Core/Core/Src/Movie.cpp
index c57ce8d4cc..2310943b51 100644
--- a/Source/Core/Core/Src/Movie.cpp
+++ b/Source/Core/Core/Src/Movie.cpp
@@ -22,7 +22,7 @@
#include "HW/EXI_Channel.h"
#include "HW/DVDInterface.h"
#include "../../Common/Src/NandPaths.h"
-#include "Crypto/md5.h"
+#include "polarssl/md5.h"
#include "scmrev.h"
// The chunk to allocate movie data in multiples of.
diff --git a/Source/Core/Core/Src/ec_wii.cpp b/Source/Core/Core/Src/ec_wii.cpp
index 52deb0faa9..0bf42f1284 100644
--- a/Source/Core/Core/Src/ec_wii.cpp
+++ b/Source/Core/Core/Src/ec_wii.cpp
@@ -6,7 +6,7 @@
#include <string.h>
#include "Common.h"
#include "Crypto/aes.h"
-#include "Crypto/sha1.h"
+#include "polarssl/sha1.h"
#include "Crypto/tools.h"
#include "FileUtil.h"
#include "ec_wii.h"
diff --git a/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp b/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp
index 84b5b24f6b..433f3388d2 100644
--- a/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp
+++ b/Source/Core/DiscIO/Src/VolumeWiiCrypted.cpp
@@ -5,7 +5,7 @@
#include "VolumeWiiCrypted.h"
#include "VolumeGC.h"
#include "StringUtil.h"
-#include "Crypto/sha1.h"
+#include "polarssl/sha1.h"
namespace DiscIO
{
diff --git a/Source/Core/DolphinWX/Src/MemoryCards/WiiSaveCrypted.h b/Source/Core/DolphinWX/Src/MemoryCards/WiiSaveCrypted.h
index c27ee58a19..b0ffc58529 100644
--- a/Source/Core/DolphinWX/Src/MemoryCards/WiiSaveCrypted.h
+++ b/Source/Core/DolphinWX/Src/MemoryCards/WiiSaveCrypted.h
@@ -8,7 +8,7 @@
#include "StringUtil.h"
#include "Crypto/aes.h"
#include "Crypto/tools.h"
-#include "Crypto/md5.h"
+#include "polarssl/md5.h"
// --- this is used for encrypted Wii save files