Blame SOURCES/0043-Update-openssl-to-0.9.8za.patch

e97c83
From 76f8050ff6003e6048fdc4430d8b503aff934255 Mon Sep 17 00:00:00 2001
e97c83
From: Gary Ching-Pang Lin <glin@suse.com>
e97c83
Date: Wed, 9 Jul 2014 15:02:50 +0800
e97c83
Subject: [PATCH 43/74] Update openssl to 0.9.8za
e97c83
e97c83
Also update to Tiano Cryptlib r15638
e97c83
---
e97c83
 Cryptlib/Cryptlib.diff                           |   4 +-
e97c83
 Cryptlib/Include/openssl/bn.h                    |  11 +
e97c83
 Cryptlib/Include/openssl/crypto.h                |  37 +-
e97c83
 Cryptlib/Include/openssl/ec.h                    |  10 +-
e97c83
 Cryptlib/Include/openssl/engine.h                |   8 +-
e97c83
 Cryptlib/Include/openssl/opensslv.h              |   6 +-
e97c83
 Cryptlib/Include/openssl/ssl.h                   |  13 +-
e97c83
 Cryptlib/Include/openssl/ssl3.h                  |  10 +
e97c83
 Cryptlib/Include/openssl/symhacks.h              |  10 +-
e97c83
 Cryptlib/Include/openssl/tls1.h                  |  14 +
e97c83
 Cryptlib/Makefile                                |   6 +-
e97c83
 Cryptlib/OpenSSL/crypto/asn1/a_int.c             |   2 +-
e97c83
 Cryptlib/OpenSSL/crypto/asn1/a_strex.c           |   1 +
e97c83
 Cryptlib/OpenSSL/crypto/asn1/a_strnid.c          |   2 +-
e97c83
 Cryptlib/OpenSSL/crypto/asn1/a_verify.c          |   6 +
e97c83
 Cryptlib/OpenSSL/crypto/asn1/t_pkey.c            |   5 -
e97c83
 Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c          |   5 +-
e97c83
 Cryptlib/OpenSSL/crypto/bn/bn_lib.c              |  52 ++
e97c83
 Cryptlib/OpenSSL/crypto/bn/bn_mont.c             |  46 +-
e97c83
 Cryptlib/OpenSSL/crypto/bn/bn_word.c             |  25 +-
e97c83
 Cryptlib/OpenSSL/crypto/cryptlib.c               |  16 +
e97c83
 Cryptlib/OpenSSL/crypto/ec/ec2_mult.c            |  26 +-
e97c83
 Cryptlib/OpenSSL/crypto/ec/ec_key.c              |  13 +-
e97c83
 Cryptlib/OpenSSL/crypto/ec/ec_lib.c              |  10 +-
e97c83
 Cryptlib/OpenSSL/crypto/ecdh/ech_lib.c           |  11 +-
e97c83
 Cryptlib/OpenSSL/crypto/ecdsa/ecs_lib.c          |  11 +-
e97c83
 Cryptlib/OpenSSL/crypto/engine/eng_all.c         |   6 +-
e97c83
 Cryptlib/OpenSSL/crypto/err/err_all.c            |   2 +
e97c83
 Cryptlib/OpenSSL/crypto/evp/bio_b64.c            |   3 +-
e97c83
 Cryptlib/OpenSSL/crypto/evp/encode.c             |   1 +
e97c83
 Cryptlib/OpenSSL/crypto/o_init.c                 |  14 +
e97c83
 Cryptlib/OpenSSL/crypto/ocsp/ocsp_vfy.c          |  10 +-
e97c83
 Cryptlib/OpenSSL/crypto/pkcs12/p12_crt.c         |   8 +
e97c83
 Cryptlib/OpenSSL/crypto/pkcs12/p12_kiss.c        |   2 +-
e97c83
 Cryptlib/OpenSSL/crypto/pkcs7/pk7_smime.c        |   4 +-
e97c83
 Cryptlib/OpenSSL/crypto/rsa/rsa_oaep.c           |   2 +-
e97c83
 Cryptlib/OpenSSL/crypto/x509/x509_vfy.c          |   6 +-
e97c83
 Cryptlib/OpenSSL/update.sh                       | 998 ++++++++++++-----------
e97c83
 Cryptlib/Pk/CryptPkcs7Sign.c                     | 207 +++++
e97c83
 Cryptlib/Pk/CryptPkcs7SignNull.c                 |  59 ++
e97c83
 Cryptlib/Pk/{CryptPkcs7.c => CryptPkcs7Verify.c} | 306 +++----
e97c83
 Cryptlib/Pk/CryptPkcs7VerifyNull.c               | 100 +++
e97c83
 Cryptlib/Pk/CryptRsaExtNull.c                    | 125 +++
e97c83
 Cryptlib/Rand/CryptRand.c                        |  11 +-
e97c83
 Cryptlib/update.sh                               |   9 +-
e97c83
 45 files changed, 1425 insertions(+), 808 deletions(-)
e97c83
 create mode 100644 Cryptlib/Pk/CryptPkcs7Sign.c
e97c83
 create mode 100644 Cryptlib/Pk/CryptPkcs7SignNull.c
e97c83
 rename Cryptlib/Pk/{CryptPkcs7.c => CryptPkcs7Verify.c} (74%)
e97c83
 create mode 100644 Cryptlib/Pk/CryptPkcs7VerifyNull.c
e97c83
 create mode 100644 Cryptlib/Pk/CryptRsaExtNull.c
e97c83
e97c83
diff --git a/Cryptlib/Cryptlib.diff b/Cryptlib/Cryptlib.diff
e97c83
index 9663d90..a2f49d6 100644
e97c83
--- a/Cryptlib/Cryptlib.diff
e97c83
+++ b/Cryptlib/Cryptlib.diff
e97c83
@@ -6,8 +6,8 @@ index 68bc25a..1abe78e 100644
e97c83
    // BUG: hardcode OldSize == size! We have no any knowledge about
e97c83
    // memory size of original pointer ptr.
e97c83
    //
e97c83
--  return ReallocatePool ((UINTN)size, (UINTN)size, ptr);
e97c83
-+	return ReallocatePool (ptr, (UINTN)size, (UINTN)size);
e97c83
+-  return ReallocatePool ((UINTN) size, (UINTN) size, ptr);
e97c83
++  return ReallocatePool (ptr, (UINTN) size, (UINTN) size);
e97c83
  }
e97c83
  
e97c83
  /* De-allocates or frees a memory block */
e97c83
diff --git a/Cryptlib/Include/openssl/bn.h b/Cryptlib/Include/openssl/bn.h
e97c83
index f1719a5..688a4e7 100644
e97c83
--- a/Cryptlib/Include/openssl/bn.h
e97c83
+++ b/Cryptlib/Include/openssl/bn.h
e97c83
@@ -511,6 +511,8 @@ BIGNUM *BN_mod_inverse(BIGNUM *ret,
e97c83
 BIGNUM *BN_mod_sqrt(BIGNUM *ret,
e97c83
 	const BIGNUM *a, const BIGNUM *n,BN_CTX *ctx);
e97c83
 
e97c83
+void	BN_consttime_swap(BN_ULONG swap, BIGNUM *a, BIGNUM *b, int nwords);
e97c83
+
e97c83
 /* Deprecated versions */
e97c83
 #ifndef OPENSSL_NO_DEPRECATED
e97c83
 BIGNUM *BN_generate_prime(BIGNUM *ret,int bits,int safe,
e97c83
@@ -740,11 +742,20 @@ int RAND_pseudo_bytes(unsigned char *buf,int num);
e97c83
 
e97c83
 #define bn_fix_top(a)		bn_check_top(a)
e97c83
 
e97c83
+#define bn_check_size(bn, bits) bn_wcheck_size(bn, ((bits+BN_BITS2-1))/BN_BITS2)
e97c83
+#define bn_wcheck_size(bn, words) \
e97c83
+	do { \
e97c83
+		const BIGNUM *_bnum2 = (bn); \
e97c83
+		assert(words <= (_bnum2)->dmax && words >= (_bnum2)->top); \
e97c83
+	} while(0)
e97c83
+
e97c83
 #else /* !BN_DEBUG */
e97c83
 
e97c83
 #define bn_pollute(a)
e97c83
 #define bn_check_top(a)
e97c83
 #define bn_fix_top(a)		bn_correct_top(a)
e97c83
+#define bn_check_size(bn, bits)
e97c83
+#define bn_wcheck_size(bn, words)
e97c83
 
e97c83
 #endif
e97c83
 
e97c83
diff --git a/Cryptlib/Include/openssl/crypto.h b/Cryptlib/Include/openssl/crypto.h
e97c83
index fc1374f..ac0c949 100644
e97c83
--- a/Cryptlib/Include/openssl/crypto.h
e97c83
+++ b/Cryptlib/Include/openssl/crypto.h
e97c83
@@ -235,15 +235,15 @@ typedef struct openssl_item_st
e97c83
 #ifndef OPENSSL_NO_LOCKING
e97c83
 #ifndef CRYPTO_w_lock
e97c83
 #define CRYPTO_w_lock(type)	\
e97c83
-	CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__)
e97c83
+	CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,NULL,0)
e97c83
 #define CRYPTO_w_unlock(type)	\
e97c83
-	CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,__FILE__,__LINE__)
e97c83
+	CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,NULL,0)
e97c83
 #define CRYPTO_r_lock(type)	\
e97c83
-	CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,__FILE__,__LINE__)
e97c83
+	CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,NULL,0)
e97c83
 #define CRYPTO_r_unlock(type)	\
e97c83
-	CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__)
e97c83
+	CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,NULL,0)
e97c83
 #define CRYPTO_add(addr,amount,type)	\
e97c83
-	CRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__)
e97c83
+	CRYPTO_add_lock(addr,amount,type,NULL,0)
e97c83
 #endif
e97c83
 #else
e97c83
 #define CRYPTO_w_lock(a)
e97c83
@@ -361,19 +361,19 @@ int CRYPTO_is_mem_check_on(void);
e97c83
 #define MemCheck_off()	CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_DISABLE)
e97c83
 #define is_MemCheck_on() CRYPTO_is_mem_check_on()
e97c83
 
e97c83
-#define OPENSSL_malloc(num)	CRYPTO_malloc((int)num,__FILE__,__LINE__)
e97c83
-#define OPENSSL_strdup(str)	CRYPTO_strdup((str),__FILE__,__LINE__)
e97c83
+#define OPENSSL_malloc(num)	CRYPTO_malloc((int)num,NULL,0)
e97c83
+#define OPENSSL_strdup(str)	CRYPTO_strdup((str),NULL,0)
e97c83
 #define OPENSSL_realloc(addr,num) \
e97c83
-	CRYPTO_realloc((char *)addr,(int)num,__FILE__,__LINE__)
e97c83
+	CRYPTO_realloc((char *)addr,(int)num,NULL,0)
e97c83
 #define OPENSSL_realloc_clean(addr,old_num,num) \
e97c83
-	CRYPTO_realloc_clean(addr,old_num,num,__FILE__,__LINE__)
e97c83
+	CRYPTO_realloc_clean(addr,old_num,num,NULL,0)
e97c83
 #define OPENSSL_remalloc(addr,num) \
e97c83
-	CRYPTO_remalloc((char **)addr,(int)num,__FILE__,__LINE__)
e97c83
+	CRYPTO_remalloc((char **)addr,(int)num,NULL,0)
e97c83
 #define OPENSSL_freeFunc	CRYPTO_free
e97c83
 #define OPENSSL_free(addr)	CRYPTO_free(addr)
e97c83
 
e97c83
 #define OPENSSL_malloc_locked(num) \
e97c83
-	CRYPTO_malloc_locked((int)num,__FILE__,__LINE__)
e97c83
+	CRYPTO_malloc_locked((int)num,NULL,0)
e97c83
 #define OPENSSL_free_locked(addr) CRYPTO_free_locked(addr)
e97c83
 
e97c83
 
e97c83
@@ -487,7 +487,7 @@ void CRYPTO_set_mem_debug_options(long bits);
e97c83
 long CRYPTO_get_mem_debug_options(void);
e97c83
 
e97c83
 #define CRYPTO_push_info(info) \
e97c83
-        CRYPTO_push_info_(info, __FILE__, __LINE__);
e97c83
+        CRYPTO_push_info_(info, NULL, 0);
e97c83
 int CRYPTO_push_info_(const char *info, const char *file, int line);
e97c83
 int CRYPTO_pop_info(void);
e97c83
 int CRYPTO_remove_all_info(void);
e97c83
@@ -528,17 +528,17 @@ void CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb);
e97c83
 
e97c83
 /* die if we have to */
e97c83
 void OpenSSLDie(const char *file,int line,const char *assertion);
e97c83
-#define OPENSSL_assert(e)       (void)((e) ? 0 : (OpenSSLDie(__FILE__, __LINE__, #e),1))
e97c83
+#define OPENSSL_assert(e)       (void)((e) ? 0 : (OpenSSLDie(NULL, 0, #e),1))
e97c83
 
e97c83
 unsigned long *OPENSSL_ia32cap_loc(void);
e97c83
 #define OPENSSL_ia32cap (*(OPENSSL_ia32cap_loc()))
e97c83
 int OPENSSL_isservice(void);
e97c83
 
e97c83
 #ifdef OPENSSL_FIPS
e97c83
-#define FIPS_ERROR_IGNORED(alg) OpenSSLDie(__FILE__, __LINE__, \
e97c83
+#define FIPS_ERROR_IGNORED(alg) OpenSSLDie(NULL, 0, \
e97c83
 		alg " previous FIPS forbidden algorithm error ignored");
e97c83
 
e97c83
-#define FIPS_BAD_ABORT(alg) OpenSSLDie(__FILE__, __LINE__, \
e97c83
+#define FIPS_BAD_ABORT(alg) OpenSSLDie(NULL, 0, \
e97c83
 		#alg " Algorithm forbidden in FIPS mode");
e97c83
 
e97c83
 #ifdef OPENSSL_FIPS_STRICT
e97c83
@@ -591,6 +591,13 @@ int OPENSSL_isservice(void);
e97c83
 #define OPENSSL_HAVE_INIT	1
e97c83
 void OPENSSL_init(void);
e97c83
 
e97c83
+/* CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal. It
e97c83
+ * takes an amount of time dependent on |len|, but independent of the contents
e97c83
+ * of |a| and |b|. Unlike memcmp, it cannot be used to put elements into a
e97c83
+ * defined order as the return value when a != b is undefined, other than to be
e97c83
+ * non-zero. */
e97c83
+int CRYPTO_memcmp(const void *a, const void *b, size_t len);
e97c83
+
e97c83
 /* BEGIN ERROR CODES */
e97c83
 /* The following lines are auto generated by the script mkerr.pl. Any changes
e97c83
  * made after this point may be overwritten when the script is next run.
e97c83
diff --git a/Cryptlib/Include/openssl/ec.h b/Cryptlib/Include/openssl/ec.h
e97c83
index 8bc2a23..367307f 100644
e97c83
--- a/Cryptlib/Include/openssl/ec.h
e97c83
+++ b/Cryptlib/Include/openssl/ec.h
e97c83
@@ -321,7 +321,15 @@ void EC_KEY_set_conv_form(EC_KEY *, point_conversion_form_t);
e97c83
 /* functions to set/get method specific data  */
e97c83
 void *EC_KEY_get_key_method_data(EC_KEY *, 
e97c83
 	void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *));
e97c83
-void EC_KEY_insert_key_method_data(EC_KEY *, void *data,
e97c83
+/** Sets the key method data of an EC_KEY object, if none has yet been set.
e97c83
+ *  \param  key              EC_KEY object
e97c83
+ *  \param  data             opaque data to install.
e97c83
+ *  \param  dup_func         a function that duplicates |data|.
e97c83
+ *  \param  free_func        a function that frees |data|.
e97c83
+ *  \param  clear_free_func  a function that wipes and frees |data|.
e97c83
+ *  \return the previously set data pointer, or NULL if |data| was inserted.
e97c83
+ */
e97c83
+void *EC_KEY_insert_key_method_data(EC_KEY *key, void *data,
e97c83
 	void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *));
e97c83
 /* wrapper functions for the underlying EC_GROUP object */
e97c83
 void EC_KEY_set_asn1_flag(EC_KEY *, int);
e97c83
diff --git a/Cryptlib/Include/openssl/engine.h b/Cryptlib/Include/openssl/engine.h
e97c83
index d4bc1ef..b4e0444 100644
e97c83
--- a/Cryptlib/Include/openssl/engine.h
e97c83
+++ b/Cryptlib/Include/openssl/engine.h
e97c83
@@ -335,15 +335,15 @@ void ENGINE_load_gmp(void);
e97c83
 void ENGINE_load_nuron(void);
e97c83
 void ENGINE_load_sureware(void);
e97c83
 void ENGINE_load_ubsec(void);
e97c83
-#endif
e97c83
-void ENGINE_load_cryptodev(void);
e97c83
-void ENGINE_load_padlock(void);
e97c83
-void ENGINE_load_builtin_engines(void);
e97c83
 #ifdef OPENSSL_SYS_WIN32
e97c83
 #ifndef OPENSSL_NO_CAPIENG
e97c83
 void ENGINE_load_capi(void);
e97c83
 #endif
e97c83
 #endif
e97c83
+#endif
e97c83
+void ENGINE_load_cryptodev(void);
e97c83
+void ENGINE_load_padlock(void);
e97c83
+void ENGINE_load_builtin_engines(void);
e97c83
 
e97c83
 /* Get and set global flags (ENGINE_TABLE_FLAG_***) for the implementation
e97c83
  * "registry" handling. */
e97c83
diff --git a/Cryptlib/Include/openssl/opensslv.h b/Cryptlib/Include/openssl/opensslv.h
e97c83
index 4a5a5ae..e5ab5c4 100644
e97c83
--- a/Cryptlib/Include/openssl/opensslv.h
e97c83
+++ b/Cryptlib/Include/openssl/opensslv.h
e97c83
@@ -25,11 +25,11 @@
e97c83
  * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
e97c83
  *  major minor fix final patch/beta)
e97c83
  */
e97c83
-#define OPENSSL_VERSION_NUMBER	0x0090817fL
e97c83
+#define OPENSSL_VERSION_NUMBER	0x009081afL
e97c83
 #ifdef OPENSSL_FIPS
e97c83
-#define OPENSSL_VERSION_TEXT	"OpenSSL 0.9.8w-fips 23 Apr 2012"
e97c83
+#define OPENSSL_VERSION_TEXT	"OpenSSL 0.9.8za-fips 5 Jun 2014"
e97c83
 #else
e97c83
-#define OPENSSL_VERSION_TEXT	"OpenSSL 0.9.8w 23 Apr 2012"
e97c83
+#define OPENSSL_VERSION_TEXT	"OpenSSL 0.9.8za 5 Jun 2014"
e97c83
 #endif
e97c83
 #define OPENSSL_VERSION_PTEXT	" part of " OPENSSL_VERSION_TEXT
e97c83
 
e97c83
diff --git a/Cryptlib/Include/openssl/ssl.h b/Cryptlib/Include/openssl/ssl.h
e97c83
index eb50e14..5f2a04e 100644
e97c83
--- a/Cryptlib/Include/openssl/ssl.h
e97c83
+++ b/Cryptlib/Include/openssl/ssl.h
e97c83
@@ -490,11 +490,14 @@ typedef struct ssl_session_st
e97c83
 #define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG		0x00000008L
e97c83
 #define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG		0x00000010L
e97c83
 #define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER		0x00000020L
e97c83
-#define SSL_OP_MSIE_SSLV2_RSA_PADDING			0x00000040L /* no effect since 0.9.7h and 0.9.8b */
e97c83
+#define SSL_OP_SAFARI_ECDHE_ECDSA_BUG			0x00000040L
e97c83
 #define SSL_OP_SSLEAY_080_CLIENT_DH_BUG			0x00000080L
e97c83
 #define SSL_OP_TLS_D5_BUG				0x00000100L
e97c83
 #define SSL_OP_TLS_BLOCK_PADDING_BUG			0x00000200L
e97c83
 
e97c83
+/* Hasn't done anything since OpenSSL 0.9.7h, retained for compatibility */
e97c83
+#define SSL_OP_MSIE_SSLV2_RSA_PADDING			0x0
e97c83
+
e97c83
 /* Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added
e97c83
  * in OpenSSL 0.9.6d.  Usually (depending on the application protocol)
e97c83
  * the workaround is not needed.  Unfortunately some broken SSL/TLS
e97c83
@@ -1204,6 +1207,8 @@ size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count);
e97c83
 #define SSL_AD_CERTIFICATE_UNOBTAINABLE TLS1_AD_CERTIFICATE_UNOBTAINABLE
e97c83
 #define SSL_AD_UNRECOGNIZED_NAME	TLS1_AD_UNRECOGNIZED_NAME
e97c83
 #define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE
e97c83
+#define SSL_AD_BAD_CERTIFICATE_HASH_VALUE TLS1_AD_BAD_CERTIFICATE_HASH_VALUE
e97c83
+#define SSL_AD_UNKNOWN_PSK_IDENTITY	TLS1_AD_UNKNOWN_PSK_IDENTITY /* fatal */
e97c83
 
e97c83
 #define SSL_ERROR_NONE			0
e97c83
 #define SSL_ERROR_SSL			1
e97c83
@@ -1820,6 +1825,7 @@ void ERR_load_SSL_strings(void);
e97c83
 #define SSL_F_SSL_GET_NEW_SESSION			 181
e97c83
 #define SSL_F_SSL_GET_PREV_SESSION			 217
e97c83
 #define SSL_F_SSL_GET_SERVER_SEND_CERT			 182
e97c83
+#define SSL_F_SSL_GET_SERVER_SEND_PKEY			 317
e97c83
 #define SSL_F_SSL_GET_SIGN_PKEY				 183
e97c83
 #define SSL_F_SSL_INIT_WBIO_BUFFER			 184
e97c83
 #define SSL_F_SSL_LOAD_CLIENT_CA_FILE			 185
e97c83
@@ -2073,6 +2079,11 @@ void ERR_load_SSL_strings(void);
e97c83
 #define SSL_R_TLSV1_ALERT_RECORD_OVERFLOW		 1022
e97c83
 #define SSL_R_TLSV1_ALERT_UNKNOWN_CA			 1048
e97c83
 #define SSL_R_TLSV1_ALERT_USER_CANCELLED		 1090
e97c83
+#define SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE		 1114
e97c83
+#define SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE	 1113
e97c83
+#define SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE		 1111
e97c83
+#define SSL_R_TLSV1_UNRECOGNIZED_NAME			 1112
e97c83
+#define SSL_R_TLSV1_UNSUPPORTED_EXTENSION		 1110
e97c83
 #define SSL_R_TLS_CLIENT_CERT_REQ_WITH_ANON_CIPHER	 232
e97c83
 #define SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST		 227
e97c83
 #define SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST 233
e97c83
diff --git a/Cryptlib/Include/openssl/ssl3.h b/Cryptlib/Include/openssl/ssl3.h
e97c83
index b9a85ef..de5e559 100644
e97c83
--- a/Cryptlib/Include/openssl/ssl3.h
e97c83
+++ b/Cryptlib/Include/openssl/ssl3.h
e97c83
@@ -333,6 +333,7 @@ typedef struct ssl3_buffer_st
e97c83
 #define SSL3_FLAGS_DELAY_CLIENT_FINISHED	0x0002
e97c83
 #define SSL3_FLAGS_POP_BUFFER			0x0004
e97c83
 #define TLS1_FLAGS_TLS_PADDING_BUG		0x0008
e97c83
+#define SSL3_FLAGS_CCS_OK			0x0080
e97c83
  
e97c83
 /* SSL3_FLAGS_SGC_RESTART_DONE is set when we
e97c83
  * restart a handshake because of MS SGC and so prevents us
e97c83
@@ -460,6 +461,15 @@ typedef struct ssl3_state_st
e97c83
         unsigned char previous_server_finished[EVP_MAX_MD_SIZE];
e97c83
         unsigned char previous_server_finished_len;
e97c83
         int send_connection_binding; /* TODOEKR */
e97c83
+
e97c83
+#ifndef OPENSSL_NO_TLSEXT
e97c83
+#ifndef OPENSSL_NO_EC
e97c83
+	/* This is set to true if we believe that this is a version of Safari
e97c83
+	 * running on OS X 10.6 or newer. We wish to know this because Safari
e97c83
+	 * on 10.8 .. 10.8.3 has broken ECDHE-ECDSA support. */
e97c83
+	char is_probably_safari;
e97c83
+#endif /* !OPENSSL_NO_EC */
e97c83
+#endif /* !OPENSSL_NO_TLSEXT */
e97c83
 	} SSL3_STATE;
e97c83
 
e97c83
 
e97c83
diff --git a/Cryptlib/Include/openssl/symhacks.h b/Cryptlib/Include/openssl/symhacks.h
e97c83
index 0114093..c540771 100644
e97c83
--- a/Cryptlib/Include/openssl/symhacks.h
e97c83
+++ b/Cryptlib/Include/openssl/symhacks.h
e97c83
@@ -252,15 +252,15 @@
e97c83
 #define EC_POINT_set_compressed_coordinates_GF2m \
e97c83
                                                 EC_POINT_set_compr_coords_GF2m
e97c83
 #undef ec_GF2m_simple_group_clear_finish
e97c83
-#define ec_GF2m_simple_group_clear_finish        ec_GF2m_simple_grp_clr_finish
e97c83
+#define ec_GF2m_simple_group_clear_finish       ec_GF2m_simple_grp_clr_finish
e97c83
 #undef ec_GF2m_simple_group_check_discriminant
e97c83
 #define ec_GF2m_simple_group_check_discriminant	ec_GF2m_simple_grp_chk_discrim
e97c83
 #undef ec_GF2m_simple_point_clear_finish
e97c83
-#define ec_GF2m_simple_point_clear_finish        ec_GF2m_simple_pt_clr_finish
e97c83
+#define ec_GF2m_simple_point_clear_finish       ec_GF2m_simple_pt_clr_finish
e97c83
 #undef ec_GF2m_simple_point_set_to_infinity
e97c83
-#define ec_GF2m_simple_point_set_to_infinity     ec_GF2m_simple_pt_set_to_inf
e97c83
+#define ec_GF2m_simple_point_set_to_infinity    ec_GF2m_simple_pt_set_to_inf
e97c83
 #undef ec_GF2m_simple_points_make_affine
e97c83
-#define ec_GF2m_simple_points_make_affine        ec_GF2m_simple_pts_make_affine
e97c83
+#define ec_GF2m_simple_points_make_affine       ec_GF2m_simple_pts_make_affine
e97c83
 #undef ec_GF2m_simple_point_set_affine_coordinates
e97c83
 #define ec_GF2m_simple_point_set_affine_coordinates \
e97c83
                                                 ec_GF2m_smp_pt_set_af_coords
e97c83
@@ -288,8 +288,6 @@
e97c83
 #define ec_GFp_simple_point_set_to_infinity     ec_GFp_simple_pt_set_to_inf
e97c83
 #undef ec_GFp_simple_points_make_affine
e97c83
 #define ec_GFp_simple_points_make_affine        ec_GFp_simple_pts_make_affine
e97c83
-#undef ec_GFp_simple_group_get_curve_GFp
e97c83
-#define ec_GFp_simple_group_get_curve_GFp       ec_GFp_simple_grp_get_curve_GFp
e97c83
 #undef ec_GFp_simple_set_Jprojective_coordinates_GFp
e97c83
 #define ec_GFp_simple_set_Jprojective_coordinates_GFp \
e97c83
                                                 ec_GFp_smp_set_Jproj_coords_GFp
e97c83
diff --git a/Cryptlib/Include/openssl/tls1.h b/Cryptlib/Include/openssl/tls1.h
e97c83
index afe4807..47f25af 100644
e97c83
--- a/Cryptlib/Include/openssl/tls1.h
e97c83
+++ b/Cryptlib/Include/openssl/tls1.h
e97c83
@@ -80,10 +80,24 @@ extern "C" {
e97c83
 
e97c83
 #define TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES	0
e97c83
 
e97c83
+#define TLS1_2_VERSION			0x0303
e97c83
+#define TLS1_2_VERSION_MAJOR		0x03
e97c83
+#define TLS1_2_VERSION_MINOR		0x03
e97c83
+
e97c83
+#define TLS1_1_VERSION			0x0302
e97c83
+#define TLS1_1_VERSION_MAJOR		0x03
e97c83
+#define TLS1_1_VERSION_MINOR		0x02
e97c83
+
e97c83
 #define TLS1_VERSION			0x0301
e97c83
 #define TLS1_VERSION_MAJOR		0x03
e97c83
 #define TLS1_VERSION_MINOR		0x01
e97c83
 
e97c83
+#define TLS1_get_version(s) \
e97c83
+		((s->version >> 8) == TLS1_VERSION_MAJOR ? s->version : 0)
e97c83
+
e97c83
+#define TLS1_get_client_version(s) \
e97c83
+		((s->client_version >> 8) == TLS1_VERSION_MAJOR ? s->client_version : 0)
e97c83
+
e97c83
 #define TLS1_AD_DECRYPTION_FAILED	21
e97c83
 #define TLS1_AD_RECORD_OVERFLOW		22
e97c83
 #define TLS1_AD_UNKNOWN_CA		48	/* fatal */
e97c83
diff --git a/Cryptlib/Makefile b/Cryptlib/Makefile
e97c83
index d24e59e..678baac 100644
e97c83
--- a/Cryptlib/Makefile
e97c83
+++ b/Cryptlib/Makefile
e97c83
@@ -30,7 +30,11 @@ OBJS		=   Hash/CryptMd4.o \
e97c83
 		    Rand/CryptRand.o \
e97c83
 		    Pk/CryptRsaBasic.o \
e97c83
 		    Pk/CryptRsaExt.o \
e97c83
-		    Pk/CryptPkcs7.o \
e97c83
+		    Pk/CryptRsaExtNull.o \
e97c83
+		    Pk/CryptPkcs7Sign.o \
e97c83
+		    Pk/CryptPkcs7SignNull.o \
e97c83
+		    Pk/CryptPkcs7Verify.o \
e97c83
+		    Pk/CryptPkcs7VerifyNull.o \
e97c83
 		    Pk/CryptDh.o \
e97c83
 		    Pk/CryptX509.o \
e97c83
 		    Pk/CryptAuthenticode.o \
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_int.c b/Cryptlib/OpenSSL/crypto/asn1/a_int.c
e97c83
index f551bdb..ee26c31 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/asn1/a_int.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/asn1/a_int.c
e97c83
@@ -116,7 +116,7 @@ int i2c_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **pp)
e97c83
 	int pad=0,ret,i,neg;
e97c83
 	unsigned char *p,*n,pb=0;
e97c83
 
e97c83
-	if ((a == NULL) || (a->data == NULL)) return(0);
e97c83
+	if (a == NULL) return(0);
e97c83
 	neg=a->type & V_ASN1_NEG;
e97c83
 	if (a->length == 0)
e97c83
 		ret=1;
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_strex.c b/Cryptlib/OpenSSL/crypto/asn1/a_strex.c
e97c83
index 264ebf2..ead37ac 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/asn1/a_strex.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/asn1/a_strex.c
e97c83
@@ -567,6 +567,7 @@ int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in)
e97c83
 	if(mbflag == -1) return -1;
e97c83
 	mbflag |= MBSTRING_FLAG;
e97c83
 	stmp.data = NULL;
e97c83
+	stmp.length = 0;
e97c83
 	ret = ASN1_mbstring_copy(&str, in->data, in->length, mbflag, B_ASN1_UTF8STRING);
e97c83
 	if(ret < 0) return ret;
e97c83
 	*out = stmp.data;
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_strnid.c b/Cryptlib/OpenSSL/crypto/asn1/a_strnid.c
e97c83
index b68ae43..9b7d688 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/asn1/a_strnid.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/asn1/a_strnid.c
e97c83
@@ -75,7 +75,7 @@ static int table_cmp(const void *a, const void *b);
e97c83
  * certain software (e.g. Netscape) has problems with them.
e97c83
  */
e97c83
 
e97c83
-static unsigned long global_mask = 0xFFFFFFFFL;
e97c83
+static unsigned long global_mask = B_ASN1_UTF8STRING;
e97c83
 
e97c83
 void ASN1_STRING_set_default_mask(unsigned long mask)
e97c83
 {
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/asn1/a_verify.c b/Cryptlib/OpenSSL/crypto/asn1/a_verify.c
e97c83
index da3efaa..7ded69b 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/asn1/a_verify.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/asn1/a_verify.c
e97c83
@@ -138,6 +138,12 @@ int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a, ASN1_BIT_STRING *signat
e97c83
 	unsigned char *buf_in=NULL;
e97c83
 	int ret= -1,i,inl;
e97c83
 
e97c83
+	if (!pkey)
e97c83
+		{
e97c83
+		ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_PASSED_NULL_PARAMETER);
e97c83
+		return -1;
e97c83
+		}
e97c83
+
e97c83
 	EVP_MD_CTX_init(&ctx;;
e97c83
 	i=OBJ_obj2nid(a->algorithm);
e97c83
 	type=EVP_get_digestbyname(OBJ_nid2sn(i));
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/asn1/t_pkey.c b/Cryptlib/OpenSSL/crypto/asn1/t_pkey.c
e97c83
index afb95d6..bc23f56 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/asn1/t_pkey.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/asn1/t_pkey.c
e97c83
@@ -208,11 +208,6 @@ int DSA_print(BIO *bp, const DSA *x, int off)
e97c83
 
e97c83
 	if (x->p)
e97c83
 		buf_len = (size_t)BN_num_bytes(x->p);
e97c83
-	else
e97c83
-		{
e97c83
-		DSAerr(DSA_F_DSA_PRINT,DSA_R_MISSING_PARAMETERS);
e97c83
-		goto err;
e97c83
-		}
e97c83
 	if (x->q)
e97c83
 		if (buf_len < (i = (size_t)BN_num_bytes(x->q)))
e97c83
 			buf_len = i;
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c b/Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c
e97c83
index 94d9f7e..bc8a7bf 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c
e97c83
@@ -371,12 +371,15 @@ EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key)
e97c83
 	CRYPTO_w_lock(CRYPTO_LOCK_EVP_PKEY);
e97c83
 	if (key->pkey)
e97c83
 		{
e97c83
+		CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY);
e97c83
 		EVP_PKEY_free(ret);
e97c83
 		ret = key->pkey;
e97c83
 		}
e97c83
 	else
e97c83
+		{
e97c83
 		key->pkey = ret;
e97c83
-	CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY);
e97c83
+		CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY);
e97c83
+		}
e97c83
 	CRYPTO_add(&ret->references, 1, CRYPTO_LOCK_EVP_PKEY);
e97c83
 	return(ret);
e97c83
 err:
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_lib.c b/Cryptlib/OpenSSL/crypto/bn/bn_lib.c
e97c83
index 32a8fba..b66f507 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/bn/bn_lib.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/bn/bn_lib.c
e97c83
@@ -824,3 +824,55 @@ int bn_cmp_part_words(const BN_ULONG *a, const BN_ULONG *b,
e97c83
 		}
e97c83
 	return bn_cmp_words(a,b,cl);
e97c83
 	}
e97c83
+
e97c83
+/* 
e97c83
+ * Constant-time conditional swap of a and b.  
e97c83
+ * a and b are swapped if condition is not 0.  The code assumes that at most one bit of condition is set.
e97c83
+ * nwords is the number of words to swap.  The code assumes that at least nwords are allocated in both a and b,
e97c83
+ * and that no more than nwords are used by either a or b.
e97c83
+ * a and b cannot be the same number
e97c83
+ */
e97c83
+void BN_consttime_swap(BN_ULONG condition, BIGNUM *a, BIGNUM *b, int nwords)
e97c83
+	{
e97c83
+	BN_ULONG t;
e97c83
+	int i;
e97c83
+
e97c83
+	bn_wcheck_size(a, nwords);
e97c83
+	bn_wcheck_size(b, nwords);
e97c83
+
e97c83
+	assert(a != b);
e97c83
+	assert((condition & (condition - 1)) == 0);
e97c83
+	assert(sizeof(BN_ULONG) >= sizeof(int));
e97c83
+
e97c83
+	condition = ((condition - 1) >> (BN_BITS2 - 1)) - 1;
e97c83
+
e97c83
+	t = (a->top^b->top) & condition;
e97c83
+	a->top ^= t;
e97c83
+	b->top ^= t;
e97c83
+
e97c83
+#define BN_CONSTTIME_SWAP(ind) \
e97c83
+	do { \
e97c83
+		t = (a->d[ind] ^ b->d[ind]) & condition; \
e97c83
+		a->d[ind] ^= t; \
e97c83
+		b->d[ind] ^= t; \
e97c83
+	} while (0)
e97c83
+
e97c83
+
e97c83
+	switch (nwords) {
e97c83
+	default:
e97c83
+		for (i = 10; i < nwords; i++) 
e97c83
+			BN_CONSTTIME_SWAP(i);
e97c83
+		/* Fallthrough */
e97c83
+	case 10: BN_CONSTTIME_SWAP(9); /* Fallthrough */
e97c83
+	case 9: BN_CONSTTIME_SWAP(8); /* Fallthrough */
e97c83
+	case 8: BN_CONSTTIME_SWAP(7); /* Fallthrough */
e97c83
+	case 7: BN_CONSTTIME_SWAP(6); /* Fallthrough */
e97c83
+	case 6: BN_CONSTTIME_SWAP(5); /* Fallthrough */
e97c83
+	case 5: BN_CONSTTIME_SWAP(4); /* Fallthrough */
e97c83
+	case 4: BN_CONSTTIME_SWAP(3); /* Fallthrough */
e97c83
+	case 3: BN_CONSTTIME_SWAP(2); /* Fallthrough */
e97c83
+	case 2: BN_CONSTTIME_SWAP(1); /* Fallthrough */
e97c83
+	case 1: BN_CONSTTIME_SWAP(0);
e97c83
+	}
e97c83
+#undef BN_CONSTTIME_SWAP
e97c83
+}
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_mont.c b/Cryptlib/OpenSSL/crypto/bn/bn_mont.c
e97c83
index 4799b15..27cafb1 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/bn/bn_mont.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/bn/bn_mont.c
e97c83
@@ -701,32 +701,38 @@ BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to, BN_MONT_CTX *from)
e97c83
 BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont, int lock,
e97c83
 					const BIGNUM *mod, BN_CTX *ctx)
e97c83
 	{
e97c83
-	int got_write_lock = 0;
e97c83
 	BN_MONT_CTX *ret;
e97c83
 
e97c83
 	CRYPTO_r_lock(lock);
e97c83
-	if (!*pmont)
e97c83
+	ret = *pmont;
e97c83
+	CRYPTO_r_unlock(lock);
e97c83
+	if (ret)
e97c83
+		return ret;
e97c83
+
e97c83
+	/* We don't want to serialise globally while doing our lazy-init math in
e97c83
+	 * BN_MONT_CTX_set. That punishes threads that are doing independent
e97c83
+	 * things. Instead, punish the case where more than one thread tries to
e97c83
+	 * lazy-init the same 'pmont', by having each do the lazy-init math work
e97c83
+	 * independently and only use the one from the thread that wins the race
e97c83
+	 * (the losers throw away the work they've done). */
e97c83
+	ret = BN_MONT_CTX_new();
e97c83
+	if (!ret)
e97c83
+		return NULL;
e97c83
+	if (!BN_MONT_CTX_set(ret, mod, ctx))
e97c83
 		{
e97c83
-		CRYPTO_r_unlock(lock);
e97c83
-		CRYPTO_w_lock(lock);
e97c83
-		got_write_lock = 1;
e97c83
+		BN_MONT_CTX_free(ret);
e97c83
+		return NULL;
e97c83
+		}
e97c83
 
e97c83
-		if (!*pmont)
e97c83
-			{
e97c83
-			ret = BN_MONT_CTX_new();
e97c83
-			if (ret && !BN_MONT_CTX_set(ret, mod, ctx))
e97c83
-				BN_MONT_CTX_free(ret);
e97c83
-			else
e97c83
-				*pmont = ret;
e97c83
-			}
e97c83
+	/* The locked compare-and-set, after the local work is done. */
e97c83
+	CRYPTO_w_lock(lock);
e97c83
+	if (*pmont)
e97c83
+		{
e97c83
+		BN_MONT_CTX_free(ret);
e97c83
+		ret = *pmont;
e97c83
 		}
e97c83
-	
e97c83
-	ret = *pmont;
e97c83
-	
e97c83
-	if (got_write_lock)
e97c83
-		CRYPTO_w_unlock(lock);
e97c83
 	else
e97c83
-		CRYPTO_r_unlock(lock);
e97c83
-		
e97c83
+		*pmont = ret;
e97c83
+	CRYPTO_w_unlock(lock);
e97c83
 	return ret;
e97c83
 	}
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/bn/bn_word.c b/Cryptlib/OpenSSL/crypto/bn/bn_word.c
e97c83
index ee7b87c..de83a15 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/bn/bn_word.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/bn/bn_word.c
e97c83
@@ -144,26 +144,17 @@ int BN_add_word(BIGNUM *a, BN_ULONG w)
e97c83
 			a->neg=!(a->neg);
e97c83
 		return(i);
e97c83
 		}
e97c83
-	/* Only expand (and risk failing) if it's possibly necessary */
e97c83
-	if (((BN_ULONG)(a->d[a->top - 1] + 1) == 0) &&
e97c83
-			(bn_wexpand(a,a->top+1) == NULL))
e97c83
-		return(0);
e97c83
-	i=0;
e97c83
-	for (;;)
e97c83
+	for (i=0;w!=0 && i<a->top;i++)
e97c83
 		{
e97c83
-		if (i >= a->top)
e97c83
-			l=w;
e97c83
-		else
e97c83
-			l=(a->d[i]+w)&BN_MASK2;
e97c83
-		a->d[i]=l;
e97c83
-		if (w > l)
e97c83
-			w=1;
e97c83
-		else
e97c83
-			break;
e97c83
-		i++;
e97c83
+		a->d[i] = l = (a->d[i]+w)&BN_MASK2;
e97c83
+		w = (w>l)?1:0;
e97c83
 		}
e97c83
-	if (i >= a->top)
e97c83
+	if (w && i==a->top)
e97c83
+		{
e97c83
+		if (bn_wexpand(a,a->top+1) == NULL) return 0;
e97c83
 		a->top++;
e97c83
+		a->d[i]=w;
e97c83
+		}
e97c83
 	bn_check_top(a);
e97c83
 	return(1);
e97c83
 	}
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/cryptlib.c b/Cryptlib/OpenSSL/crypto/cryptlib.c
e97c83
index dd74ea8..dec3286 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/cryptlib.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/cryptlib.c
e97c83
@@ -542,3 +542,19 @@ void OpenSSLDie(const char *file,int line,const char *assertion)
e97c83
 	}
e97c83
 
e97c83
 void *OPENSSL_stderr(void)	{ return stderr; }
e97c83
+
e97c83
+#ifndef OPENSSL_FIPS
e97c83
+
e97c83
+int CRYPTO_memcmp(const void *in_a, const void *in_b, size_t len)
e97c83
+	{
e97c83
+	size_t i;
e97c83
+	const unsigned char *a = in_a;
e97c83
+	const unsigned char *b = in_b;
e97c83
+	unsigned char x = 0;
e97c83
+
e97c83
+	for (i = 0; i < len; i++)
e97c83
+		x |= a[i] ^ b[i];
e97c83
+
e97c83
+	return x;
e97c83
+	}
e97c83
+#endif
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/ec/ec2_mult.c b/Cryptlib/OpenSSL/crypto/ec/ec2_mult.c
e97c83
index 7dca5e4..6b570a3 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/ec/ec2_mult.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/ec/ec2_mult.c
e97c83
@@ -208,9 +208,12 @@ static int gf2m_Mxy(const EC_GROUP *group, const BIGNUM *x, const BIGNUM *y, BIG
e97c83
 
e97c83
 /* Computes scalar*point and stores the result in r.
e97c83
  * point can not equal r.
e97c83
- * Uses algorithm 2P of
e97c83
+ * Uses a modified algorithm 2P of
e97c83
  *     Lopex, J. and Dahab, R.  "Fast multiplication on elliptic curves over 
e97c83
  *     GF(2^m) without precomputation".
e97c83
+ *
e97c83
+ * To protect against side-channel attack the function uses constant time
e97c83
+ * swap avoiding conditional branches.
e97c83
  */
e97c83
 static int ec_GF2m_montgomery_point_multiply(const EC_GROUP *group, EC_POINT *r, const BIGNUM *scalar,
e97c83
 	const EC_POINT *point, BN_CTX *ctx)
e97c83
@@ -244,6 +247,11 @@ static int ec_GF2m_montgomery_point_multiply(const EC_GROUP *group, EC_POINT *r,
e97c83
 	x2 = &r->X;
e97c83
 	z2 = &r->Y;
e97c83
 
e97c83
+	bn_wexpand(x1, group->field.top);
e97c83
+	bn_wexpand(z1, group->field.top);
e97c83
+	bn_wexpand(x2, group->field.top);
e97c83
+	bn_wexpand(z2, group->field.top);
e97c83
+
e97c83
 	if (!BN_GF2m_mod_arr(x1, &point->X, group->poly)) goto err; /* x1 = x */
e97c83
 	if (!BN_one(z1)) goto err; /* z1 = 1 */
e97c83
 	if (!group->meth->field_sqr(group, z2, x1, ctx)) goto err; /* z2 = x1^2 = x^2 */
e97c83
@@ -266,16 +274,12 @@ static int ec_GF2m_montgomery_point_multiply(const EC_GROUP *group, EC_POINT *r,
e97c83
 		{
e97c83
 		for (; j >= 0; j--)
e97c83
 			{
e97c83
-			if (scalar->d[i] & mask)
e97c83
-				{
e97c83
-				if (!gf2m_Madd(group, &point->X, x1, z1, x2, z2, ctx)) goto err;
e97c83
-				if (!gf2m_Mdouble(group, x2, z2, ctx)) goto err;
e97c83
-				}
e97c83
-			else
e97c83
-				{
e97c83
-				if (!gf2m_Madd(group, &point->X, x2, z2, x1, z1, ctx)) goto err;
e97c83
-				if (!gf2m_Mdouble(group, x1, z1, ctx)) goto err;
e97c83
-				}
e97c83
+			BN_consttime_swap(scalar->d[i] & mask, x1, x2, group->field.top);
e97c83
+			BN_consttime_swap(scalar->d[i] & mask, z1, z2, group->field.top);
e97c83
+			if (!gf2m_Madd(group, &point->X, x2, z2, x1, z1, ctx)) goto err;
e97c83
+			if (!gf2m_Mdouble(group, x1, z1, ctx)) goto err;
e97c83
+			BN_consttime_swap(scalar->d[i] & mask, x1, x2, group->field.top);
e97c83
+			BN_consttime_swap(scalar->d[i] & mask, z1, z2, group->field.top);
e97c83
 			mask >>= 1;
e97c83
 			}
e97c83
 		j = BN_BITS2 - 1;
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/ec/ec_key.c b/Cryptlib/OpenSSL/crypto/ec/ec_key.c
e97c83
index 522802c..6c933d2 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/ec/ec_key.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/ec/ec_key.c
e97c83
@@ -435,18 +435,27 @@ void EC_KEY_set_conv_form(EC_KEY *key, point_conversion_form_t cform)
e97c83
 void *EC_KEY_get_key_method_data(EC_KEY *key,
e97c83
 	void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *))
e97c83
 	{
e97c83
-	return EC_EX_DATA_get_data(key->method_data, dup_func, free_func, clear_free_func);
e97c83
+	void *ret;
e97c83
+
e97c83
+	CRYPTO_r_lock(CRYPTO_LOCK_EC);
e97c83
+	ret = EC_EX_DATA_get_data(key->method_data, dup_func, free_func, clear_free_func);
e97c83
+	CRYPTO_r_unlock(CRYPTO_LOCK_EC);
e97c83
+
e97c83
+	return ret;
e97c83
 	}
e97c83
 
e97c83
-void EC_KEY_insert_key_method_data(EC_KEY *key, void *data,
e97c83
+void *EC_KEY_insert_key_method_data(EC_KEY *key, void *data,
e97c83
 	void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *))
e97c83
 	{
e97c83
 	EC_EXTRA_DATA *ex_data;
e97c83
+
e97c83
 	CRYPTO_w_lock(CRYPTO_LOCK_EC);
e97c83
 	ex_data = EC_EX_DATA_get_data(key->method_data, dup_func, free_func, clear_free_func);
e97c83
 	if (ex_data == NULL)
e97c83
 		EC_EX_DATA_set_data(&key->method_data, data, dup_func, free_func, clear_free_func);
e97c83
 	CRYPTO_w_unlock(CRYPTO_LOCK_EC);
e97c83
+
e97c83
+	return ex_data;
e97c83
 	}
e97c83
 
e97c83
 void EC_KEY_set_asn1_flag(EC_KEY *key, int flag)
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/ec/ec_lib.c b/Cryptlib/OpenSSL/crypto/ec/ec_lib.c
e97c83
index 5af8437..bbf2799 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/ec/ec_lib.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/ec/ec_lib.c
e97c83
@@ -480,10 +480,10 @@ int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx)
e97c83
 	if (EC_METHOD_get_field_type(EC_GROUP_method_of(a)) !=
e97c83
 	    EC_METHOD_get_field_type(EC_GROUP_method_of(b)))
e97c83
 		return 1;
e97c83
-	/* compare the curve name (if present) */
e97c83
+	/* compare the curve name (if present in both) */
e97c83
 	if (EC_GROUP_get_curve_name(a) && EC_GROUP_get_curve_name(b) &&
e97c83
-	    EC_GROUP_get_curve_name(a) == EC_GROUP_get_curve_name(b))
e97c83
-		return 0;
e97c83
+	    EC_GROUP_get_curve_name(a) != EC_GROUP_get_curve_name(b))
e97c83
+		return 1;
e97c83
 
e97c83
 	if (!ctx)
e97c83
 		ctx_new = ctx = BN_CTX_new();
e97c83
@@ -1061,12 +1061,12 @@ int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, BN
e97c83
 	if (group->meth->point_cmp == 0)
e97c83
 		{
e97c83
 		ECerr(EC_F_EC_POINT_CMP, ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
e97c83
-		return 0;
e97c83
+		return -1;
e97c83
 		}
e97c83
 	if ((group->meth != a->meth) || (a->meth != b->meth))
e97c83
 		{
e97c83
 		ECerr(EC_F_EC_POINT_CMP, EC_R_INCOMPATIBLE_OBJECTS);
e97c83
-		return 0;
e97c83
+		return -1;
e97c83
 		}
e97c83
 	return group->meth->point_cmp(group, a, b, ctx);
e97c83
 	}
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/ecdh/ech_lib.c b/Cryptlib/OpenSSL/crypto/ecdh/ech_lib.c
e97c83
index bf22234..f9ba5fb 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/ecdh/ech_lib.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/ecdh/ech_lib.c
e97c83
@@ -205,8 +205,15 @@ ECDH_DATA *ecdh_check(EC_KEY *key)
e97c83
 		ecdh_data = (ECDH_DATA *)ecdh_data_new();
e97c83
 		if (ecdh_data == NULL)
e97c83
 			return NULL;
e97c83
-		EC_KEY_insert_key_method_data(key, (void *)ecdh_data,
e97c83
-			ecdh_data_dup, ecdh_data_free, ecdh_data_free);
e97c83
+		data = EC_KEY_insert_key_method_data(key, (void *)ecdh_data,
e97c83
+			   ecdh_data_dup, ecdh_data_free, ecdh_data_free);
e97c83
+		if (data != NULL)
e97c83
+			{
e97c83
+			/* Another thread raced us to install the key_method
e97c83
+			 * data and won. */
e97c83
+			ecdh_data_free(ecdh_data);
e97c83
+			ecdh_data = (ECDH_DATA *)data;
e97c83
+			}
e97c83
 	}
e97c83
 	else
e97c83
 		ecdh_data = (ECDH_DATA *)data;
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/ecdsa/ecs_lib.c b/Cryptlib/OpenSSL/crypto/ecdsa/ecs_lib.c
e97c83
index 2ebae3a..81082c9 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/ecdsa/ecs_lib.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/ecdsa/ecs_lib.c
e97c83
@@ -188,8 +188,15 @@ ECDSA_DATA *ecdsa_check(EC_KEY *key)
e97c83
 		ecdsa_data = (ECDSA_DATA *)ecdsa_data_new();
e97c83
 		if (ecdsa_data == NULL)
e97c83
 			return NULL;
e97c83
-		EC_KEY_insert_key_method_data(key, (void *)ecdsa_data,
e97c83
-			ecdsa_data_dup, ecdsa_data_free, ecdsa_data_free);
e97c83
+		data = EC_KEY_insert_key_method_data(key, (void *)ecdsa_data,
e97c83
+			   ecdsa_data_dup, ecdsa_data_free, ecdsa_data_free);
e97c83
+		if (data != NULL)
e97c83
+			{
e97c83
+			/* Another thread raced us to install the key_method
e97c83
+			 * data and won. */
e97c83
+			ecdsa_data_free(ecdsa_data);
e97c83
+			ecdsa_data = (ECDSA_DATA *)data;
e97c83
+			}
e97c83
 	}
e97c83
 	else
e97c83
 		ecdsa_data = (ECDSA_DATA *)data;
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/engine/eng_all.c b/Cryptlib/OpenSSL/crypto/engine/eng_all.c
e97c83
index f29c167..8a1b9c7 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/engine/eng_all.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/engine/eng_all.c
e97c83
@@ -102,14 +102,14 @@ void ENGINE_load_builtin_engines(void)
e97c83
 #if !defined(OPENSSL_NO_GMP) && !defined(OPENSSL_NO_HW_GMP)
e97c83
 	ENGINE_load_gmp();
e97c83
 #endif
e97c83
+#if defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_NO_CAPIENG)
e97c83
+	ENGINE_load_capi();
e97c83
+#endif
e97c83
 #endif
e97c83
 #ifndef OPENSSL_NO_HW
e97c83
 #if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(HAVE_CRYPTODEV)
e97c83
 	ENGINE_load_cryptodev();
e97c83
 #endif
e97c83
-#if defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_NO_CAPIENG)
e97c83
-	ENGINE_load_capi();
e97c83
-#endif
e97c83
 #endif
e97c83
 	}
e97c83
 
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/err/err_all.c b/Cryptlib/OpenSSL/crypto/err/err_all.c
e97c83
index 39796f7..0429389 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/err/err_all.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/err/err_all.c
e97c83
@@ -104,7 +104,9 @@
e97c83
 #ifndef OPENSSL_NO_JPAKE
e97c83
 #include <openssl/jpake.h>
e97c83
 #endif
e97c83
+#ifndef OPENSSL_NO_COMP
e97c83
 #include <openssl/comp.h>
e97c83
+#endif
e97c83
 
e97c83
 void ERR_load_crypto_strings(void)
e97c83
 	{
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/evp/bio_b64.c b/Cryptlib/OpenSSL/crypto/evp/bio_b64.c
e97c83
index 72a2a67..16863fe 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/evp/bio_b64.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/evp/bio_b64.c
e97c83
@@ -226,6 +226,7 @@ static int b64_read(BIO *b, char *out, int outl)
e97c83
 		else if (ctx->start)
e97c83
 			{
e97c83
 			q=p=(unsigned char *)ctx->tmp;
e97c83
+			num = 0;
e97c83
 			for (j=0; j
e97c83
 				{
e97c83
 				if (*(q++) != '\n') continue;
e97c83
@@ -264,7 +265,7 @@ static int b64_read(BIO *b, char *out, int outl)
e97c83
 				}
e97c83
 
e97c83
 			/* we fell off the end without starting */
e97c83
-			if (j == i)
e97c83
+			if ((j == i) && (num == 0))
e97c83
 				{
e97c83
 				/* Is this is one long chunk?, if so, keep on
e97c83
 				 * reading until a new line. */
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/evp/encode.c b/Cryptlib/OpenSSL/crypto/evp/encode.c
e97c83
index e8a5218..69f7cca 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/evp/encode.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/evp/encode.c
e97c83
@@ -324,6 +324,7 @@ int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx, unsigned char *out, int *outl,
e97c83
 				v=EVP_DecodeBlock(out,d,n);
e97c83
 				n=0;
e97c83
 				if (v < 0) { rv=0; goto end; }
e97c83
+				if (eof > v) { rv=-1; goto end; }
e97c83
 				ret+=(v-eof);
e97c83
 				}
e97c83
 			else
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/o_init.c b/Cryptlib/OpenSSL/crypto/o_init.c
e97c83
index d767a90..c89fda5 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/o_init.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/o_init.c
e97c83
@@ -93,4 +93,18 @@ void OPENSSL_init(void)
e97c83
 #endif
e97c83
 	}
e97c83
 		
e97c83
+#ifdef OPENSSL_FIPS
e97c83
+
e97c83
+int CRYPTO_memcmp(const void *in_a, const void *in_b, size_t len)
e97c83
+	{
e97c83
+	size_t i;
e97c83
+	const unsigned char *a = in_a;
e97c83
+	const unsigned char *b = in_b;
e97c83
+	unsigned char x = 0;
e97c83
 
e97c83
+	for (i = 0; i < len; i++)
e97c83
+		x |= a[i] ^ b[i];
e97c83
+
e97c83
+	return x;
e97c83
+	}
e97c83
+#endif
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/ocsp/ocsp_vfy.c b/Cryptlib/OpenSSL/crypto/ocsp/ocsp_vfy.c
e97c83
index 4a0c387..f24080f 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/ocsp/ocsp_vfy.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/ocsp/ocsp_vfy.c
e97c83
@@ -91,9 +91,12 @@ int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs,
e97c83
 		{
e97c83
 		EVP_PKEY *skey;
e97c83
 		skey = X509_get_pubkey(signer);
e97c83
-		ret = OCSP_BASICRESP_verify(bs, skey, 0);
e97c83
-		EVP_PKEY_free(skey);
e97c83
-		if(ret <= 0)
e97c83
+		if (skey)
e97c83
+			{
e97c83
+			ret = OCSP_BASICRESP_verify(bs, skey, 0);
e97c83
+			EVP_PKEY_free(skey);
e97c83
+			}
e97c83
+		if(!skey || ret <= 0)
e97c83
 			{
e97c83
 			OCSPerr(OCSP_F_OCSP_BASIC_VERIFY, OCSP_R_SIGNATURE_FAILURE);
e97c83
 			goto end;
e97c83
@@ -108,6 +111,7 @@ int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs,
e97c83
 			init_res = X509_STORE_CTX_init(&ctx, st, signer, bs->certs);
e97c83
 		if(!init_res)
e97c83
 			{
e97c83
+			ret = -1;
e97c83
 			OCSPerr(OCSP_F_OCSP_BASIC_VERIFY,ERR_R_X509_LIB);
e97c83
 			goto end;
e97c83
 			}
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/p12_crt.c b/Cryptlib/OpenSSL/crypto/pkcs12/p12_crt.c
e97c83
index 9522342..3ef3be1 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/pkcs12/p12_crt.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/pkcs12/p12_crt.c
e97c83
@@ -100,7 +100,11 @@ PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert,
e97c83
 			nid_cert = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
e97c83
 		else
e97c83
 #endif
e97c83
+#ifdef OPENSSL_NO_RC2
e97c83
+		nid_cert = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
e97c83
+#else
e97c83
 		nid_cert = NID_pbe_WithSHA1And40BitRC2_CBC;
e97c83
+#endif
e97c83
 		}
e97c83
 	if (!nid_key)
e97c83
 		nid_key = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
e97c83
@@ -290,7 +294,11 @@ int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags,
e97c83
 		free_safes = 0;
e97c83
 
e97c83
 	if (nid_safe == 0)
e97c83
+#ifdef OPENSSL_NO_RC2
e97c83
+		nid_safe = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
e97c83
+#else
e97c83
 		nid_safe = NID_pbe_WithSHA1And40BitRC2_CBC;
e97c83
+#endif
e97c83
 
e97c83
 	if (nid_safe == -1)
e97c83
 		p7 = PKCS12_pack_p7data(bags);
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/pkcs12/p12_kiss.c b/Cryptlib/OpenSSL/crypto/pkcs12/p12_kiss.c
e97c83
index 5c4c6ec..bdbbbec 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/pkcs12/p12_kiss.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/pkcs12/p12_kiss.c
e97c83
@@ -261,7 +261,7 @@ static int parse_bag(PKCS12_SAFEBAG *bag, const char *pass, int passlen,
e97c83
 			int len, r;
e97c83
 			unsigned char *data;
e97c83
 			len = ASN1_STRING_to_UTF8(&data, fname);
e97c83
-			if(len > 0) {
e97c83
+			if(len >= 0) {
e97c83
 				r = X509_alias_set1(x509, data, len);
e97c83
 				OPENSSL_free(data);
e97c83
 				if (!r)
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/pkcs7/pk7_smime.c b/Cryptlib/OpenSSL/crypto/pkcs7/pk7_smime.c
e97c83
index b0ff89a..49b450d 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/pkcs7/pk7_smime.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/pkcs7/pk7_smime.c
e97c83
@@ -290,8 +290,8 @@ int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store,
e97c83
 
e97c83
 	bufsiz = 4096;
e97c83
 	buf = OPENSSL_malloc (bufsiz);
e97c83
-	if (buf == NULL) {
e97c83
-		goto err;
e97c83
+		if (buf == NULL) {
e97c83
+			goto err;
e97c83
 	}
e97c83
 
e97c83
 	/* We now have to 'read' from p7bio to calculate digests etc. */
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/rsa/rsa_oaep.c b/Cryptlib/OpenSSL/crypto/rsa/rsa_oaep.c
e97c83
index 546ae5f..b8e3edc 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/rsa/rsa_oaep.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/rsa/rsa_oaep.c
e97c83
@@ -143,7 +143,7 @@ int RSA_padding_check_PKCS1_OAEP(unsigned char *to, int tlen,
e97c83
 
e97c83
 	EVP_Digest((void *)param, plen, phash, NULL, EVP_sha1(), NULL);
e97c83
 
e97c83
-	if (memcmp(db, phash, SHA_DIGEST_LENGTH) != 0 || bad)
e97c83
+	if (CRYPTO_memcmp(db, phash, SHA_DIGEST_LENGTH) != 0 || bad)
e97c83
 		goto decoding_err;
e97c83
 	else
e97c83
 		{
e97c83
diff --git a/Cryptlib/OpenSSL/crypto/x509/x509_vfy.c b/Cryptlib/OpenSSL/crypto/x509/x509_vfy.c
e97c83
index af12520..b87617a 100755
e97c83
--- a/Cryptlib/OpenSSL/crypto/x509/x509_vfy.c
e97c83
+++ b/Cryptlib/OpenSSL/crypto/x509/x509_vfy.c
e97c83
@@ -386,11 +386,7 @@ static int get_issuer_sk(X509 **issuer, X509_STORE_CTX *ctx, X509 *x)
e97c83
 
e97c83
 static int check_chain_extensions(X509_STORE_CTX *ctx)
e97c83
 {
e97c83
-#if defined(OPENSSL_NO_CHAIN_VERIFY) || defined(OPENSSL_SYS_UEFI)
e97c83
-  /* 
e97c83
-    NOTE: Bypass KU Flags Checking for UEFI version. There are incorrect KU flag setting
e97c83
-          in Authenticode Signing Certificates. 
e97c83
-  */
e97c83
+#ifdef OPENSSL_NO_CHAIN_VERIFY
e97c83
 	return 1;
e97c83
 #else
e97c83
 	int i, ok=0, must_be_ca, plen = 0;
e97c83
diff --git a/Cryptlib/OpenSSL/update.sh b/Cryptlib/OpenSSL/update.sh
e97c83
index cb25ccd..95875e7 100755
e97c83
--- a/Cryptlib/OpenSSL/update.sh
e97c83
+++ b/Cryptlib/OpenSSL/update.sh
e97c83
@@ -1,499 +1,501 @@
e97c83
 #/bin/sh
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/e_os.h e_os.h
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/cryptlib.c crypto/cryptlib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dyn_lck.c crypto/dyn_lck.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/mem.c crypto/mem.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/mem_clr.c crypto/mem_clr.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/mem_dbg.c crypto/mem_dbg.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/cversion.c crypto/cversion.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ex_data.c crypto/ex_data.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/cpt_err.c crypto/cpt_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ebcdic.c crypto/ebcdic.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/uid.c crypto/uid.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/o_time.c crypto/o_time.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/o_str.c crypto/o_str.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/o_dir.c crypto/o_dir.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/o_init.c crypto/o_init.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/fips_err.c crypto/fips_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/md2/md2_dgst.c crypto/md2/md2_dgst.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/md2/md2_one.c crypto/md2/md2_one.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/md4/md4_dgst.c crypto/md4/md4_dgst.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/md4/md4_one.c crypto/md4/md4_one.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/md5/md5_dgst.c crypto/md5/md5_dgst.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/md5/md5_one.c crypto/md5/md5_one.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/sha/sha_dgst.c crypto/sha/sha_dgst.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/sha/sha1dgst.c crypto/sha/sha1dgst.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/sha/sha_one.c crypto/sha/sha_one.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/sha/sha1_one.c crypto/sha/sha1_one.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/sha/sha256.c crypto/sha/sha256.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/sha/sha512.c crypto/sha/sha512.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/hmac/hmac.c crypto/hmac/hmac.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ripemd/rmd_dgst.c crypto/ripemd/rmd_dgst.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ripemd/rmd_one.c crypto/ripemd/rmd_one.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/des_lib.c crypto/des/des_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/set_key.c crypto/des/set_key.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/ecb_enc.c crypto/des/ecb_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/cbc_enc.c crypto/des/cbc_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/ecb3_enc.c crypto/des/ecb3_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/cfb64enc.c crypto/des/cfb64enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/cfb64ede.c crypto/des/cfb64ede.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/cfb_enc.c crypto/des/cfb_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/ofb64ede.c crypto/des/ofb64ede.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/enc_read.c crypto/des/enc_read.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/enc_writ.c crypto/des/enc_writ.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/ofb64enc.c crypto/des/ofb64enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/ofb_enc.c crypto/des/ofb_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/str2key.c crypto/des/str2key.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/pcbc_enc.c crypto/des/pcbc_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/qud_cksm.c crypto/des/qud_cksm.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/rand_key.c crypto/des/rand_key.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/des_enc.c crypto/des/des_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/fcrypt_b.c crypto/des/fcrypt_b.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/fcrypt.c crypto/des/fcrypt.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/xcbc_enc.c crypto/des/xcbc_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/rpc_enc.c crypto/des/rpc_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/cbc_cksm.c crypto/des/cbc_cksm.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/ede_cbcm_enc.c crypto/des/ede_cbcm_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/des_old.c crypto/des/des_old.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/des_old2.c crypto/des/des_old2.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/des/read2pwd.c crypto/des/read2pwd.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rc2/rc2_ecb.c crypto/rc2/rc2_ecb.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rc2/rc2_skey.c crypto/rc2/rc2_skey.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rc2/rc2_cbc.c crypto/rc2/rc2_cbc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rc2/rc2cfb64.c crypto/rc2/rc2cfb64.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rc2/rc2ofb64.c crypto/rc2/rc2ofb64.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rc4/rc4_enc.c crypto/rc4/rc4_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rc4/rc4_skey.c crypto/rc4/rc4_skey.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rc4/rc4_fblk.c crypto/rc4/rc4_fblk.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/idea/i_cbc.c crypto/idea/i_cbc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/idea/i_cfb64.c crypto/idea/i_cfb64.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/idea/i_ofb64.c crypto/idea/i_ofb64.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/idea/i_ecb.c crypto/idea/i_ecb.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/idea/i_skey.c crypto/idea/i_skey.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bf/bf_skey.c crypto/bf/bf_skey.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bf/bf_ecb.c crypto/bf/bf_ecb.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bf/bf_enc.c crypto/bf/bf_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bf/bf_cfb64.c crypto/bf/bf_cfb64.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bf/bf_ofb64.c crypto/bf/bf_ofb64.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/cast/c_skey.c crypto/cast/c_skey.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/cast/c_ecb.c crypto/cast/c_ecb.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/cast/c_enc.c crypto/cast/c_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/cast/c_cfb64.c crypto/cast/c_cfb64.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/cast/c_ofb64.c crypto/cast/c_ofb64.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/aes/aes_misc.c crypto/aes/aes_misc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/aes/aes_ecb.c crypto/aes/aes_ecb.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/aes/aes_cfb.c crypto/aes/aes_cfb.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/aes/aes_ofb.c crypto/aes/aes_ofb.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/aes/aes_ctr.c crypto/aes/aes_ctr.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/aes/aes_ige.c crypto/aes/aes_ige.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/aes/aes_wrap.c crypto/aes/aes_wrap.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/aes/aes_core.c crypto/aes/aes_core.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/aes/aes_cbc.c crypto/aes/aes_cbc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_add.c crypto/bn/bn_add.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_div.c crypto/bn/bn_div.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_exp.c crypto/bn/bn_exp.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_lib.c crypto/bn/bn_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_ctx.c crypto/bn/bn_ctx.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_mul.c crypto/bn/bn_mul.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_mod.c crypto/bn/bn_mod.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_print.c crypto/bn/bn_print.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_rand.c crypto/bn/bn_rand.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_shift.c crypto/bn/bn_shift.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_word.c crypto/bn/bn_word.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_blind.c crypto/bn/bn_blind.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_kron.c crypto/bn/bn_kron.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_sqrt.c crypto/bn/bn_sqrt.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_gcd.c crypto/bn/bn_gcd.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_prime.c crypto/bn/bn_prime.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_err.c crypto/bn/bn_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_sqr.c crypto/bn/bn_sqr.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_asm.c crypto/bn/bn_asm.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_recp.c crypto/bn/bn_recp.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_mont.c crypto/bn/bn_mont.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_mpi.c crypto/bn/bn_mpi.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_exp2.c crypto/bn/bn_exp2.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_gf2m.c crypto/bn/bn_gf2m.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_nist.c crypto/bn/bn_nist.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_depr.c crypto/bn/bn_depr.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_x931p.c crypto/bn/bn_x931p.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_const.c crypto/bn/bn_const.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bn/bn_opt.c crypto/bn/bn_opt.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_eay.c crypto/rsa/rsa_eay.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_gen.c crypto/rsa/rsa_gen.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_lib.c crypto/rsa/rsa_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_sign.c crypto/rsa/rsa_sign.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_saos.c crypto/rsa/rsa_saos.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_err.c crypto/rsa/rsa_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_pk1.c crypto/rsa/rsa_pk1.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_ssl.c crypto/rsa/rsa_ssl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_none.c crypto/rsa/rsa_none.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_oaep.c crypto/rsa/rsa_oaep.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_chk.c crypto/rsa/rsa_chk.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_null.c crypto/rsa/rsa_null.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_pss.c crypto/rsa/rsa_pss.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_x931.c crypto/rsa/rsa_x931.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_x931g.c crypto/rsa/rsa_x931g.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_asn1.c crypto/rsa/rsa_asn1.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_depr.c crypto/rsa/rsa_depr.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rsa/rsa_eng.c crypto/rsa/rsa_eng.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dsa/dsa_gen.c crypto/dsa/dsa_gen.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dsa/dsa_key.c crypto/dsa/dsa_key.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dsa/dsa_lib.c crypto/dsa/dsa_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dsa/dsa_asn1.c crypto/dsa/dsa_asn1.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dsa/dsa_vrf.c crypto/dsa/dsa_vrf.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dsa/dsa_sign.c crypto/dsa/dsa_sign.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dsa/dsa_err.c crypto/dsa/dsa_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dsa/dsa_ossl.c crypto/dsa/dsa_ossl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dsa/dsa_depr.c crypto/dsa/dsa_depr.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dsa/dsa_utl.c crypto/dsa/dsa_utl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dso/dso_dl.c crypto/dso/dso_dl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dso/dso_dlfcn.c crypto/dso/dso_dlfcn.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dso/dso_err.c crypto/dso/dso_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dso/dso_lib.c crypto/dso/dso_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dso/dso_null.c crypto/dso/dso_null.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dso/dso_openssl.c crypto/dso/dso_openssl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dso/dso_win32.c crypto/dso/dso_win32.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dso/dso_vms.c crypto/dso/dso_vms.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dh/dh_asn1.c crypto/dh/dh_asn1.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dh/dh_gen.c crypto/dh/dh_gen.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dh/dh_key.c crypto/dh/dh_key.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dh/dh_lib.c crypto/dh/dh_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dh/dh_check.c crypto/dh/dh_check.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dh/dh_err.c crypto/dh/dh_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/dh/dh_depr.c crypto/dh/dh_depr.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ec/ec_lib.c crypto/ec/ec_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ec/ecp_smpl.c crypto/ec/ecp_smpl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ec/ecp_mont.c crypto/ec/ecp_mont.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ec/ecp_nist.c crypto/ec/ecp_nist.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ec/ec_cvt.c crypto/ec/ec_cvt.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ec/ec_mult.c crypto/ec/ec_mult.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ec/ec_err.c crypto/ec/ec_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ec/ec_curve.c crypto/ec/ec_curve.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ec/ec_check.c crypto/ec/ec_check.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ec/ec_print.c crypto/ec/ec_print.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ec/ec_asn1.c crypto/ec/ec_asn1.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ec/ec_key.c crypto/ec/ec_key.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ec/ec2_smpl.c crypto/ec/ec2_smpl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ec/ec2_mult.c crypto/ec/ec2_mult.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ecdh/ech_lib.c crypto/ecdh/ech_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ecdh/ech_ossl.c crypto/ecdh/ech_ossl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ecdh/ech_key.c crypto/ecdh/ech_key.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ecdh/ech_err.c crypto/ecdh/ech_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ecdsa/ecs_lib.c crypto/ecdsa/ecs_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ecdsa/ecs_asn1.c crypto/ecdsa/ecs_asn1.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ecdsa/ecs_ossl.c crypto/ecdsa/ecs_ossl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ecdsa/ecs_sign.c crypto/ecdsa/ecs_sign.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ecdsa/ecs_vrf.c crypto/ecdsa/ecs_vrf.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ecdsa/ecs_err.c crypto/ecdsa/ecs_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/buffer/buffer.c crypto/buffer/buffer.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/buffer/buf_str.c crypto/buffer/buf_str.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/buffer/buf_err.c crypto/buffer/buf_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bio/bio_lib.c crypto/bio/bio_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bio/bio_cb.c crypto/bio/bio_cb.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bio/bio_err.c crypto/bio/bio_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bio/bss_mem.c crypto/bio/bss_mem.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bio/bss_null.c crypto/bio/bss_null.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bio/bss_fd.c crypto/bio/bss_fd.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bio/bss_file.c crypto/bio/bss_file.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bio/bf_null.c crypto/bio/bf_null.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bio/bf_buff.c crypto/bio/bf_buff.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bio/b_dump.c crypto/bio/b_dump.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bio/bf_nbio.c crypto/bio/bf_nbio.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bio/bss_log.c crypto/bio/bss_log.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bio/bss_bio.c crypto/bio/bss_bio.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/bio/bss_dgram.c crypto/bio/bss_dgram.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/stack/stack.c crypto/stack/stack.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/lhash/lhash.c crypto/lhash/lhash.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/lhash/lh_stats.c crypto/lhash/lh_stats.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rand/md_rand.c crypto/rand/md_rand.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rand/randfile.c crypto/rand/randfile.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rand/rand_lib.c crypto/rand/rand_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rand/rand_eng.c crypto/rand/rand_eng.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rand/rand_err.c crypto/rand/rand_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rand/rand_egd.c crypto/rand/rand_egd.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rand/rand_win.c crypto/rand/rand_win.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rand/rand_unix.c crypto/rand/rand_unix.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rand/rand_os2.c crypto/rand/rand_os2.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/rand/rand_nw.c crypto/rand/rand_nw.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/err/err.c crypto/err/err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/err/err_def.c crypto/err/err_def.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/err/err_all.c crypto/err/err_all.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/err/err_prn.c crypto/err/err_prn.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/err/err_str.c crypto/err/err_str.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/err/err_bio.c crypto/err/err_bio.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/objects/o_names.c crypto/objects/o_names.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/objects/obj_dat.c crypto/objects/obj_dat.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/objects/obj_lib.c crypto/objects/obj_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/objects/obj_err.c crypto/objects/obj_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/encode.c crypto/evp/encode.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/digest.c crypto/evp/digest.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/dig_eng.c crypto/evp/dig_eng.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/evp_enc.c crypto/evp/evp_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/evp_key.c crypto/evp/evp_key.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/evp_acnf.c crypto/evp/evp_acnf.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/evp_cnf.c crypto/evp/evp_cnf.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/e_des.c crypto/evp/e_des.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/e_bf.c crypto/evp/e_bf.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/e_idea.c crypto/evp/e_idea.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/e_des3.c crypto/evp/e_des3.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/e_rc4.c crypto/evp/e_rc4.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/e_aes.c crypto/evp/e_aes.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/names.c crypto/evp/names.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/e_xcbc_d.c crypto/evp/e_xcbc_d.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/e_rc2.c crypto/evp/e_rc2.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/e_cast.c crypto/evp/e_cast.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/e_rc5.c crypto/evp/e_rc5.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/enc_min.c crypto/evp/enc_min.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/m_null.c crypto/evp/m_null.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/m_md2.c crypto/evp/m_md2.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/m_md4.c crypto/evp/m_md4.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/m_md5.c crypto/evp/m_md5.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/m_sha.c crypto/evp/m_sha.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/m_sha1.c crypto/evp/m_sha1.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/m_dss.c crypto/evp/m_dss.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/m_dss1.c crypto/evp/m_dss1.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/m_ripemd.c crypto/evp/m_ripemd.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/m_ecdsa.c crypto/evp/m_ecdsa.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/p_open.c crypto/evp/p_open.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/p_seal.c crypto/evp/p_seal.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/p_sign.c crypto/evp/p_sign.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/p_verify.c crypto/evp/p_verify.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/p_lib.c crypto/evp/p_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/p_enc.c crypto/evp/p_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/p_dec.c crypto/evp/p_dec.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/bio_md.c crypto/evp/bio_md.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/bio_b64.c crypto/evp/bio_b64.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/bio_enc.c crypto/evp/bio_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/evp_err.c crypto/evp/evp_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/e_null.c crypto/evp/e_null.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/c_all.c crypto/evp/c_all.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/c_allc.c crypto/evp/c_allc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/c_alld.c crypto/evp/c_alld.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/evp_lib.c crypto/evp/evp_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/bio_ok.c crypto/evp/bio_ok.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/evp_pkey.c crypto/evp/evp_pkey.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/evp_pbe.c crypto/evp/evp_pbe.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/p5_crpt.c crypto/evp/p5_crpt.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/p5_crpt2.c crypto/evp/p5_crpt2.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/evp/e_old.c crypto/evp/e_old.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_object.c crypto/asn1/a_object.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_bitstr.c crypto/asn1/a_bitstr.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_utctm.c crypto/asn1/a_utctm.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_gentm.c crypto/asn1/a_gentm.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_time.c crypto/asn1/a_time.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_int.c crypto/asn1/a_int.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_octet.c crypto/asn1/a_octet.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_print.c crypto/asn1/a_print.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_type.c crypto/asn1/a_type.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_set.c crypto/asn1/a_set.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_dup.c crypto/asn1/a_dup.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_d2i_fp.c crypto/asn1/a_d2i_fp.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_i2d_fp.c crypto/asn1/a_i2d_fp.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_enum.c crypto/asn1/a_enum.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_utf8.c crypto/asn1/a_utf8.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_sign.c crypto/asn1/a_sign.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_digest.c crypto/asn1/a_digest.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_verify.c crypto/asn1/a_verify.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_mbstr.c crypto/asn1/a_mbstr.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_strex.c crypto/asn1/a_strex.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/x_algor.c crypto/asn1/x_algor.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/x_val.c crypto/asn1/x_val.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/x_pubkey.c crypto/asn1/x_pubkey.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/x_sig.c crypto/asn1/x_sig.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/x_req.c crypto/asn1/x_req.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/x_attrib.c crypto/asn1/x_attrib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/x_bignum.c crypto/asn1/x_bignum.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/x_long.c crypto/asn1/x_long.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/x_name.c crypto/asn1/x_name.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/x_x509.c crypto/asn1/x_x509.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/x_x509a.c crypto/asn1/x_x509a.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/x_crl.c crypto/asn1/x_crl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/x_info.c crypto/asn1/x_info.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/x_spki.c crypto/asn1/x_spki.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/nsseq.c crypto/asn1/nsseq.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/d2i_pu.c crypto/asn1/d2i_pu.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/d2i_pr.c crypto/asn1/d2i_pr.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/i2d_pu.c crypto/asn1/i2d_pu.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/i2d_pr.c crypto/asn1/i2d_pr.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/t_req.c crypto/asn1/t_req.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/t_x509.c crypto/asn1/t_x509.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/t_x509a.c crypto/asn1/t_x509a.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/t_crl.c crypto/asn1/t_crl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/t_pkey.c crypto/asn1/t_pkey.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/t_spki.c crypto/asn1/t_spki.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/t_bitst.c crypto/asn1/t_bitst.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/tasn_new.c crypto/asn1/tasn_new.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/tasn_fre.c crypto/asn1/tasn_fre.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/tasn_enc.c crypto/asn1/tasn_enc.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/tasn_dec.c crypto/asn1/tasn_dec.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/tasn_utl.c crypto/asn1/tasn_utl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/tasn_typ.c crypto/asn1/tasn_typ.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/f_int.c crypto/asn1/f_int.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/f_string.c crypto/asn1/f_string.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/n_pkey.c crypto/asn1/n_pkey.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/f_enum.c crypto/asn1/f_enum.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_hdr.c crypto/asn1/a_hdr.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/x_pkey.c crypto/asn1/x_pkey.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_bool.c crypto/asn1/a_bool.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/x_exten.c crypto/asn1/x_exten.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/asn_mime.c crypto/asn1/asn_mime.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/asn1_gen.c crypto/asn1/asn1_gen.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/asn1_par.c crypto/asn1/asn1_par.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/asn1_lib.c crypto/asn1/asn1_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/asn1_err.c crypto/asn1/asn1_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_meth.c crypto/asn1/a_meth.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_bytes.c crypto/asn1/a_bytes.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/a_strnid.c crypto/asn1/a_strnid.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/evp_asn1.c crypto/asn1/evp_asn1.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/asn_pack.c crypto/asn1/asn_pack.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/p5_pbe.c crypto/asn1/p5_pbe.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/p5_pbev2.c crypto/asn1/p5_pbev2.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/p8_pkey.c crypto/asn1/p8_pkey.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/asn1/asn_moid.c crypto/asn1/asn_moid.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pem/pem_sign.c crypto/pem/pem_sign.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pem/pem_seal.c crypto/pem/pem_seal.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pem/pem_info.c crypto/pem/pem_info.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pem/pem_lib.c crypto/pem/pem_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pem/pem_all.c crypto/pem/pem_all.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pem/pem_err.c crypto/pem/pem_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pem/pem_x509.c crypto/pem/pem_x509.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pem/pem_xaux.c crypto/pem/pem_xaux.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pem/pem_oth.c crypto/pem/pem_oth.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pem/pem_pk8.c crypto/pem/pem_pk8.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pem/pem_pkey.c crypto/pem/pem_pkey.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509_def.c crypto/x509/x509_def.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509_d2.c crypto/x509/x509_d2.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509_r2x.c crypto/x509/x509_r2x.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509_cmp.c crypto/x509/x509_cmp.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509_obj.c crypto/x509/x509_obj.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509_req.c crypto/x509/x509_req.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509spki.c crypto/x509/x509spki.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509_vfy.c crypto/x509/x509_vfy.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509_set.c crypto/x509/x509_set.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509cset.c crypto/x509/x509cset.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509rset.c crypto/x509/x509rset.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509_err.c crypto/x509/x509_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509name.c crypto/x509/x509name.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509_v3.c crypto/x509/x509_v3.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509_ext.c crypto/x509/x509_ext.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509_att.c crypto/x509/x509_att.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509type.c crypto/x509/x509type.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509_lu.c crypto/x509/x509_lu.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x_all.c crypto/x509/x_all.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509_txt.c crypto/x509/x509_txt.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509_trs.c crypto/x509/x509_trs.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/by_file.c crypto/x509/by_file.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/by_dir.c crypto/x509/by_dir.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509/x509_vpm.c crypto/x509/x509_vpm.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_bcons.c crypto/x509v3/v3_bcons.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_bitst.c crypto/x509v3/v3_bitst.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_conf.c crypto/x509v3/v3_conf.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_extku.c crypto/x509v3/v3_extku.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_ia5.c crypto/x509v3/v3_ia5.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_lib.c crypto/x509v3/v3_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_prn.c crypto/x509v3/v3_prn.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_utl.c crypto/x509v3/v3_utl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3err.c crypto/x509v3/v3err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_genn.c crypto/x509v3/v3_genn.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_alt.c crypto/x509v3/v3_alt.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_skey.c crypto/x509v3/v3_skey.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_akey.c crypto/x509v3/v3_akey.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_pku.c crypto/x509v3/v3_pku.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_int.c crypto/x509v3/v3_int.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_enum.c crypto/x509v3/v3_enum.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_sxnet.c crypto/x509v3/v3_sxnet.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_cpols.c crypto/x509v3/v3_cpols.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_crld.c crypto/x509v3/v3_crld.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_purp.c crypto/x509v3/v3_purp.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_info.c crypto/x509v3/v3_info.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_ocsp.c crypto/x509v3/v3_ocsp.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_akeya.c crypto/x509v3/v3_akeya.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_pmaps.c crypto/x509v3/v3_pmaps.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_pcons.c crypto/x509v3/v3_pcons.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_ncons.c crypto/x509v3/v3_ncons.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_pcia.c crypto/x509v3/v3_pcia.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_pci.c crypto/x509v3/v3_pci.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/pcy_cache.c crypto/x509v3/pcy_cache.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/pcy_node.c crypto/x509v3/pcy_node.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/pcy_data.c crypto/x509v3/pcy_data.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/pcy_map.c crypto/x509v3/pcy_map.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/pcy_tree.c crypto/x509v3/pcy_tree.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/pcy_lib.c crypto/x509v3/pcy_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_asid.c crypto/x509v3/v3_asid.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/x509v3/v3_addr.c crypto/x509v3/v3_addr.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/conf/conf_err.c crypto/conf/conf_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/conf/conf_lib.c crypto/conf/conf_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/conf/conf_api.c crypto/conf/conf_api.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/conf/conf_def.c crypto/conf/conf_def.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/conf/conf_mod.c crypto/conf/conf_mod.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/conf/conf_mall.c crypto/conf/conf_mall.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/conf/conf_sap.c crypto/conf/conf_sap.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/txt_db/txt_db.c crypto/txt_db/txt_db.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs7/pk7_asn1.c crypto/pkcs7/pk7_asn1.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs7/pk7_lib.c crypto/pkcs7/pk7_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs7/pkcs7err.c crypto/pkcs7/pkcs7err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs7/pk7_doit.c crypto/pkcs7/pk7_doit.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs7/pk7_smime.c crypto/pkcs7/pk7_smime.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs7/pk7_attr.c crypto/pkcs7/pk7_attr.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs7/pk7_mime.c crypto/pkcs7/pk7_mime.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs12/p12_add.c crypto/pkcs12/p12_add.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs12/p12_asn.c crypto/pkcs12/p12_asn.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs12/p12_attr.c crypto/pkcs12/p12_attr.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs12/p12_crpt.c crypto/pkcs12/p12_crpt.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs12/p12_crt.c crypto/pkcs12/p12_crt.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs12/p12_decr.c crypto/pkcs12/p12_decr.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs12/p12_init.c crypto/pkcs12/p12_init.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs12/p12_key.c crypto/pkcs12/p12_key.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs12/p12_kiss.c crypto/pkcs12/p12_kiss.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs12/p12_mutl.c crypto/pkcs12/p12_mutl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs12/p12_utl.c crypto/pkcs12/p12_utl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs12/p12_npas.c crypto/pkcs12/p12_npas.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs12/pk12err.c crypto/pkcs12/pk12err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs12/p12_p8d.c crypto/pkcs12/p12_p8d.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pkcs12/p12_p8e.c crypto/pkcs12/p12_p8e.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/comp/comp_lib.c crypto/comp/comp_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/comp/comp_err.c crypto/comp/comp_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/comp/c_rle.c crypto/comp/c_rle.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/comp/c_zlib.c crypto/comp/c_zlib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/eng_err.c crypto/engine/eng_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/eng_lib.c crypto/engine/eng_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/eng_list.c crypto/engine/eng_list.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/eng_init.c crypto/engine/eng_init.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/eng_ctrl.c crypto/engine/eng_ctrl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/eng_table.c crypto/engine/eng_table.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/eng_pkey.c crypto/engine/eng_pkey.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/eng_fat.c crypto/engine/eng_fat.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/eng_all.c crypto/engine/eng_all.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/tb_rsa.c crypto/engine/tb_rsa.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/tb_dsa.c crypto/engine/tb_dsa.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/tb_ecdsa.c crypto/engine/tb_ecdsa.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/tb_dh.c crypto/engine/tb_dh.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/tb_ecdh.c crypto/engine/tb_ecdh.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/tb_rand.c crypto/engine/tb_rand.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/tb_store.c crypto/engine/tb_store.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/tb_cipher.c crypto/engine/tb_cipher.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/tb_digest.c crypto/engine/tb_digest.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/eng_openssl.c crypto/engine/eng_openssl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/eng_cnf.c crypto/engine/eng_cnf.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/eng_dyn.c crypto/engine/eng_dyn.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/eng_cryptodev.c crypto/engine/eng_cryptodev.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/engine/eng_padlock.c crypto/engine/eng_padlock.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ocsp/ocsp_asn.c crypto/ocsp/ocsp_asn.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ocsp/ocsp_ext.c crypto/ocsp/ocsp_ext.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ocsp/ocsp_ht.c crypto/ocsp/ocsp_ht.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ocsp/ocsp_lib.c crypto/ocsp/ocsp_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ocsp/ocsp_cl.c crypto/ocsp/ocsp_cl.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ocsp/ocsp_srv.c crypto/ocsp/ocsp_srv.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ocsp/ocsp_prn.c crypto/ocsp/ocsp_prn.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ocsp/ocsp_vfy.c crypto/ocsp/ocsp_vfy.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ocsp/ocsp_err.c crypto/ocsp/ocsp_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ui/ui_err.c crypto/ui/ui_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ui/ui_lib.c crypto/ui/ui_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ui/ui_util.c crypto/ui/ui_util.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/ui/ui_compat.c crypto/ui/ui_compat.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/krb5/krb5_asn.c crypto/krb5/krb5_asn.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/store/str_err.c crypto/store/str_err.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/store/str_lib.c crypto/store/str_lib.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/store/str_meth.c crypto/store/str_meth.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/store/str_mem.c crypto/store/str_mem.c
e97c83
-install -D /home/mjg59/Source/efi/edk2/CryptoPkg/Library/OpensslLib/openssl-0.9.8w/crypto/pqueue/pqueue.c crypto/pqueue/pqueue.c
e97c83
+DIR=$1
e97c83
+
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/e_os.h e_os.h
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/cryptlib.c crypto/cryptlib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dyn_lck.c crypto/dyn_lck.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/mem.c crypto/mem.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/mem_clr.c crypto/mem_clr.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/mem_dbg.c crypto/mem_dbg.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/cversion.c crypto/cversion.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ex_data.c crypto/ex_data.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/cpt_err.c crypto/cpt_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ebcdic.c crypto/ebcdic.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/uid.c crypto/uid.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/o_time.c crypto/o_time.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/o_str.c crypto/o_str.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/o_dir.c crypto/o_dir.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/o_init.c crypto/o_init.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/fips_err.c crypto/fips_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/md2/md2_dgst.c crypto/md2/md2_dgst.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/md2/md2_one.c crypto/md2/md2_one.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/md4/md4_dgst.c crypto/md4/md4_dgst.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/md4/md4_one.c crypto/md4/md4_one.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/md5/md5_dgst.c crypto/md5/md5_dgst.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/md5/md5_one.c crypto/md5/md5_one.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/sha/sha_dgst.c crypto/sha/sha_dgst.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/sha/sha1dgst.c crypto/sha/sha1dgst.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/sha/sha_one.c crypto/sha/sha_one.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/sha/sha1_one.c crypto/sha/sha1_one.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/sha/sha256.c crypto/sha/sha256.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/sha/sha512.c crypto/sha/sha512.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/hmac/hmac.c crypto/hmac/hmac.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ripemd/rmd_dgst.c crypto/ripemd/rmd_dgst.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ripemd/rmd_one.c crypto/ripemd/rmd_one.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/des_lib.c crypto/des/des_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/set_key.c crypto/des/set_key.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/ecb_enc.c crypto/des/ecb_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/cbc_enc.c crypto/des/cbc_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/ecb3_enc.c crypto/des/ecb3_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/cfb64enc.c crypto/des/cfb64enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/cfb64ede.c crypto/des/cfb64ede.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/cfb_enc.c crypto/des/cfb_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/ofb64ede.c crypto/des/ofb64ede.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/enc_read.c crypto/des/enc_read.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/enc_writ.c crypto/des/enc_writ.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/ofb64enc.c crypto/des/ofb64enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/ofb_enc.c crypto/des/ofb_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/str2key.c crypto/des/str2key.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/pcbc_enc.c crypto/des/pcbc_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/qud_cksm.c crypto/des/qud_cksm.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/rand_key.c crypto/des/rand_key.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/des_enc.c crypto/des/des_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/fcrypt_b.c crypto/des/fcrypt_b.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/fcrypt.c crypto/des/fcrypt.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/xcbc_enc.c crypto/des/xcbc_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/rpc_enc.c crypto/des/rpc_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/cbc_cksm.c crypto/des/cbc_cksm.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/ede_cbcm_enc.c crypto/des/ede_cbcm_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/des_old.c crypto/des/des_old.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/des_old2.c crypto/des/des_old2.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/des/read2pwd.c crypto/des/read2pwd.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rc2/rc2_ecb.c crypto/rc2/rc2_ecb.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rc2/rc2_skey.c crypto/rc2/rc2_skey.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rc2/rc2_cbc.c crypto/rc2/rc2_cbc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rc2/rc2cfb64.c crypto/rc2/rc2cfb64.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rc2/rc2ofb64.c crypto/rc2/rc2ofb64.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rc4/rc4_enc.c crypto/rc4/rc4_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rc4/rc4_skey.c crypto/rc4/rc4_skey.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rc4/rc4_fblk.c crypto/rc4/rc4_fblk.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/idea/i_cbc.c crypto/idea/i_cbc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/idea/i_cfb64.c crypto/idea/i_cfb64.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/idea/i_ofb64.c crypto/idea/i_ofb64.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/idea/i_ecb.c crypto/idea/i_ecb.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/idea/i_skey.c crypto/idea/i_skey.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bf/bf_skey.c crypto/bf/bf_skey.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bf/bf_ecb.c crypto/bf/bf_ecb.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bf/bf_enc.c crypto/bf/bf_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bf/bf_cfb64.c crypto/bf/bf_cfb64.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bf/bf_ofb64.c crypto/bf/bf_ofb64.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/cast/c_skey.c crypto/cast/c_skey.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/cast/c_ecb.c crypto/cast/c_ecb.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/cast/c_enc.c crypto/cast/c_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/cast/c_cfb64.c crypto/cast/c_cfb64.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/cast/c_ofb64.c crypto/cast/c_ofb64.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_misc.c crypto/aes/aes_misc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_ecb.c crypto/aes/aes_ecb.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_cfb.c crypto/aes/aes_cfb.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_ofb.c crypto/aes/aes_ofb.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_ctr.c crypto/aes/aes_ctr.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_ige.c crypto/aes/aes_ige.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_wrap.c crypto/aes/aes_wrap.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_core.c crypto/aes/aes_core.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/aes/aes_cbc.c crypto/aes/aes_cbc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_add.c crypto/bn/bn_add.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_div.c crypto/bn/bn_div.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_exp.c crypto/bn/bn_exp.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_lib.c crypto/bn/bn_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_ctx.c crypto/bn/bn_ctx.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_mul.c crypto/bn/bn_mul.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_mod.c crypto/bn/bn_mod.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_print.c crypto/bn/bn_print.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_rand.c crypto/bn/bn_rand.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_shift.c crypto/bn/bn_shift.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_word.c crypto/bn/bn_word.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_blind.c crypto/bn/bn_blind.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_kron.c crypto/bn/bn_kron.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_sqrt.c crypto/bn/bn_sqrt.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_gcd.c crypto/bn/bn_gcd.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_prime.c crypto/bn/bn_prime.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_err.c crypto/bn/bn_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_sqr.c crypto/bn/bn_sqr.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_asm.c crypto/bn/bn_asm.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_recp.c crypto/bn/bn_recp.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_mont.c crypto/bn/bn_mont.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_mpi.c crypto/bn/bn_mpi.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_exp2.c crypto/bn/bn_exp2.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_gf2m.c crypto/bn/bn_gf2m.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_nist.c crypto/bn/bn_nist.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_depr.c crypto/bn/bn_depr.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_x931p.c crypto/bn/bn_x931p.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_const.c crypto/bn/bn_const.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bn/bn_opt.c crypto/bn/bn_opt.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_eay.c crypto/rsa/rsa_eay.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_gen.c crypto/rsa/rsa_gen.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_lib.c crypto/rsa/rsa_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_sign.c crypto/rsa/rsa_sign.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_saos.c crypto/rsa/rsa_saos.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_err.c crypto/rsa/rsa_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_pk1.c crypto/rsa/rsa_pk1.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_ssl.c crypto/rsa/rsa_ssl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_none.c crypto/rsa/rsa_none.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_oaep.c crypto/rsa/rsa_oaep.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_chk.c crypto/rsa/rsa_chk.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_null.c crypto/rsa/rsa_null.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_pss.c crypto/rsa/rsa_pss.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_x931.c crypto/rsa/rsa_x931.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_x931g.c crypto/rsa/rsa_x931g.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_asn1.c crypto/rsa/rsa_asn1.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_depr.c crypto/rsa/rsa_depr.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rsa/rsa_eng.c crypto/rsa/rsa_eng.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_gen.c crypto/dsa/dsa_gen.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_key.c crypto/dsa/dsa_key.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_lib.c crypto/dsa/dsa_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_asn1.c crypto/dsa/dsa_asn1.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_vrf.c crypto/dsa/dsa_vrf.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_sign.c crypto/dsa/dsa_sign.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_err.c crypto/dsa/dsa_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_ossl.c crypto/dsa/dsa_ossl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_depr.c crypto/dsa/dsa_depr.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dsa/dsa_utl.c crypto/dsa/dsa_utl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dso/dso_dl.c crypto/dso/dso_dl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dso/dso_dlfcn.c crypto/dso/dso_dlfcn.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dso/dso_err.c crypto/dso/dso_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dso/dso_lib.c crypto/dso/dso_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dso/dso_null.c crypto/dso/dso_null.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dso/dso_openssl.c crypto/dso/dso_openssl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dso/dso_win32.c crypto/dso/dso_win32.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dso/dso_vms.c crypto/dso/dso_vms.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dh/dh_asn1.c crypto/dh/dh_asn1.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dh/dh_gen.c crypto/dh/dh_gen.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dh/dh_key.c crypto/dh/dh_key.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dh/dh_lib.c crypto/dh/dh_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dh/dh_check.c crypto/dh/dh_check.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dh/dh_err.c crypto/dh/dh_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/dh/dh_depr.c crypto/dh/dh_depr.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_lib.c crypto/ec/ec_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ecp_smpl.c crypto/ec/ecp_smpl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ecp_mont.c crypto/ec/ecp_mont.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ecp_nist.c crypto/ec/ecp_nist.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_cvt.c crypto/ec/ec_cvt.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_mult.c crypto/ec/ec_mult.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_err.c crypto/ec/ec_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_curve.c crypto/ec/ec_curve.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_check.c crypto/ec/ec_check.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_print.c crypto/ec/ec_print.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_asn1.c crypto/ec/ec_asn1.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec_key.c crypto/ec/ec_key.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec2_smpl.c crypto/ec/ec2_smpl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ec/ec2_mult.c crypto/ec/ec2_mult.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdh/ech_lib.c crypto/ecdh/ech_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdh/ech_ossl.c crypto/ecdh/ech_ossl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdh/ech_key.c crypto/ecdh/ech_key.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdh/ech_err.c crypto/ecdh/ech_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdsa/ecs_lib.c crypto/ecdsa/ecs_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdsa/ecs_asn1.c crypto/ecdsa/ecs_asn1.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdsa/ecs_ossl.c crypto/ecdsa/ecs_ossl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdsa/ecs_sign.c crypto/ecdsa/ecs_sign.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdsa/ecs_vrf.c crypto/ecdsa/ecs_vrf.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ecdsa/ecs_err.c crypto/ecdsa/ecs_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/buffer/buffer.c crypto/buffer/buffer.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/buffer/buf_str.c crypto/buffer/buf_str.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/buffer/buf_err.c crypto/buffer/buf_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bio_lib.c crypto/bio/bio_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bio_cb.c crypto/bio/bio_cb.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bio_err.c crypto/bio/bio_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bss_mem.c crypto/bio/bss_mem.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bss_null.c crypto/bio/bss_null.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bss_fd.c crypto/bio/bss_fd.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bss_file.c crypto/bio/bss_file.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bf_null.c crypto/bio/bf_null.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bf_buff.c crypto/bio/bf_buff.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/b_dump.c crypto/bio/b_dump.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bf_nbio.c crypto/bio/bf_nbio.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bss_log.c crypto/bio/bss_log.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bss_bio.c crypto/bio/bss_bio.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/bio/bss_dgram.c crypto/bio/bss_dgram.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/stack/stack.c crypto/stack/stack.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/lhash/lhash.c crypto/lhash/lhash.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/lhash/lh_stats.c crypto/lhash/lh_stats.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/md_rand.c crypto/rand/md_rand.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/randfile.c crypto/rand/randfile.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/rand_lib.c crypto/rand/rand_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/rand_eng.c crypto/rand/rand_eng.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/rand_err.c crypto/rand/rand_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/rand_egd.c crypto/rand/rand_egd.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/rand_win.c crypto/rand/rand_win.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/rand_unix.c crypto/rand/rand_unix.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/rand_os2.c crypto/rand/rand_os2.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/rand/rand_nw.c crypto/rand/rand_nw.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/err/err.c crypto/err/err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/err/err_def.c crypto/err/err_def.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/err/err_all.c crypto/err/err_all.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/err/err_prn.c crypto/err/err_prn.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/err/err_str.c crypto/err/err_str.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/err/err_bio.c crypto/err/err_bio.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/objects/o_names.c crypto/objects/o_names.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/objects/obj_dat.c crypto/objects/obj_dat.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/objects/obj_lib.c crypto/objects/obj_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/objects/obj_err.c crypto/objects/obj_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/encode.c crypto/evp/encode.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/digest.c crypto/evp/digest.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/dig_eng.c crypto/evp/dig_eng.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/evp_enc.c crypto/evp/evp_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/evp_key.c crypto/evp/evp_key.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/evp_acnf.c crypto/evp/evp_acnf.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/evp_cnf.c crypto/evp/evp_cnf.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_des.c crypto/evp/e_des.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_bf.c crypto/evp/e_bf.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_idea.c crypto/evp/e_idea.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_des3.c crypto/evp/e_des3.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_rc4.c crypto/evp/e_rc4.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_aes.c crypto/evp/e_aes.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/names.c crypto/evp/names.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_xcbc_d.c crypto/evp/e_xcbc_d.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_rc2.c crypto/evp/e_rc2.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_cast.c crypto/evp/e_cast.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_rc5.c crypto/evp/e_rc5.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/enc_min.c crypto/evp/enc_min.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_null.c crypto/evp/m_null.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_md2.c crypto/evp/m_md2.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_md4.c crypto/evp/m_md4.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_md5.c crypto/evp/m_md5.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_sha.c crypto/evp/m_sha.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_sha1.c crypto/evp/m_sha1.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_dss.c crypto/evp/m_dss.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_dss1.c crypto/evp/m_dss1.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_ripemd.c crypto/evp/m_ripemd.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/m_ecdsa.c crypto/evp/m_ecdsa.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p_open.c crypto/evp/p_open.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p_seal.c crypto/evp/p_seal.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p_sign.c crypto/evp/p_sign.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p_verify.c crypto/evp/p_verify.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p_lib.c crypto/evp/p_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p_enc.c crypto/evp/p_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p_dec.c crypto/evp/p_dec.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/bio_md.c crypto/evp/bio_md.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/bio_b64.c crypto/evp/bio_b64.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/bio_enc.c crypto/evp/bio_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/evp_err.c crypto/evp/evp_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_null.c crypto/evp/e_null.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/c_all.c crypto/evp/c_all.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/c_allc.c crypto/evp/c_allc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/c_alld.c crypto/evp/c_alld.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/evp_lib.c crypto/evp/evp_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/bio_ok.c crypto/evp/bio_ok.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/evp_pkey.c crypto/evp/evp_pkey.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/evp_pbe.c crypto/evp/evp_pbe.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p5_crpt.c crypto/evp/p5_crpt.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/p5_crpt2.c crypto/evp/p5_crpt2.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/evp/e_old.c crypto/evp/e_old.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_object.c crypto/asn1/a_object.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_bitstr.c crypto/asn1/a_bitstr.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_utctm.c crypto/asn1/a_utctm.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_gentm.c crypto/asn1/a_gentm.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_time.c crypto/asn1/a_time.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_int.c crypto/asn1/a_int.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_octet.c crypto/asn1/a_octet.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_print.c crypto/asn1/a_print.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_type.c crypto/asn1/a_type.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_set.c crypto/asn1/a_set.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_dup.c crypto/asn1/a_dup.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_d2i_fp.c crypto/asn1/a_d2i_fp.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_i2d_fp.c crypto/asn1/a_i2d_fp.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_enum.c crypto/asn1/a_enum.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_utf8.c crypto/asn1/a_utf8.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_sign.c crypto/asn1/a_sign.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_digest.c crypto/asn1/a_digest.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_verify.c crypto/asn1/a_verify.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_mbstr.c crypto/asn1/a_mbstr.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_strex.c crypto/asn1/a_strex.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_algor.c crypto/asn1/x_algor.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_val.c crypto/asn1/x_val.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_pubkey.c crypto/asn1/x_pubkey.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_sig.c crypto/asn1/x_sig.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_req.c crypto/asn1/x_req.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_attrib.c crypto/asn1/x_attrib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_bignum.c crypto/asn1/x_bignum.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_long.c crypto/asn1/x_long.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_name.c crypto/asn1/x_name.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_x509.c crypto/asn1/x_x509.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_x509a.c crypto/asn1/x_x509a.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_crl.c crypto/asn1/x_crl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_info.c crypto/asn1/x_info.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_spki.c crypto/asn1/x_spki.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/nsseq.c crypto/asn1/nsseq.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/d2i_pu.c crypto/asn1/d2i_pu.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/d2i_pr.c crypto/asn1/d2i_pr.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/i2d_pu.c crypto/asn1/i2d_pu.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/i2d_pr.c crypto/asn1/i2d_pr.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/t_req.c crypto/asn1/t_req.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/t_x509.c crypto/asn1/t_x509.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/t_x509a.c crypto/asn1/t_x509a.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/t_crl.c crypto/asn1/t_crl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/t_pkey.c crypto/asn1/t_pkey.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/t_spki.c crypto/asn1/t_spki.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/t_bitst.c crypto/asn1/t_bitst.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/tasn_new.c crypto/asn1/tasn_new.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/tasn_fre.c crypto/asn1/tasn_fre.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/tasn_enc.c crypto/asn1/tasn_enc.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/tasn_dec.c crypto/asn1/tasn_dec.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/tasn_utl.c crypto/asn1/tasn_utl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/tasn_typ.c crypto/asn1/tasn_typ.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/f_int.c crypto/asn1/f_int.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/f_string.c crypto/asn1/f_string.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/n_pkey.c crypto/asn1/n_pkey.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/f_enum.c crypto/asn1/f_enum.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_hdr.c crypto/asn1/a_hdr.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_pkey.c crypto/asn1/x_pkey.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_bool.c crypto/asn1/a_bool.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/x_exten.c crypto/asn1/x_exten.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/asn_mime.c crypto/asn1/asn_mime.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/asn1_gen.c crypto/asn1/asn1_gen.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/asn1_par.c crypto/asn1/asn1_par.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/asn1_lib.c crypto/asn1/asn1_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/asn1_err.c crypto/asn1/asn1_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_meth.c crypto/asn1/a_meth.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_bytes.c crypto/asn1/a_bytes.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/a_strnid.c crypto/asn1/a_strnid.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/evp_asn1.c crypto/asn1/evp_asn1.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/asn_pack.c crypto/asn1/asn_pack.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/p5_pbe.c crypto/asn1/p5_pbe.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/p5_pbev2.c crypto/asn1/p5_pbev2.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/p8_pkey.c crypto/asn1/p8_pkey.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/asn1/asn_moid.c crypto/asn1/asn_moid.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_sign.c crypto/pem/pem_sign.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_seal.c crypto/pem/pem_seal.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_info.c crypto/pem/pem_info.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_lib.c crypto/pem/pem_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_all.c crypto/pem/pem_all.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_err.c crypto/pem/pem_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_x509.c crypto/pem/pem_x509.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_xaux.c crypto/pem/pem_xaux.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_oth.c crypto/pem/pem_oth.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_pk8.c crypto/pem/pem_pk8.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pem/pem_pkey.c crypto/pem/pem_pkey.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_def.c crypto/x509/x509_def.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_d2.c crypto/x509/x509_d2.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_r2x.c crypto/x509/x509_r2x.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_cmp.c crypto/x509/x509_cmp.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_obj.c crypto/x509/x509_obj.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_req.c crypto/x509/x509_req.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509spki.c crypto/x509/x509spki.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_vfy.c crypto/x509/x509_vfy.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_set.c crypto/x509/x509_set.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509cset.c crypto/x509/x509cset.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509rset.c crypto/x509/x509rset.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_err.c crypto/x509/x509_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509name.c crypto/x509/x509name.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_v3.c crypto/x509/x509_v3.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_ext.c crypto/x509/x509_ext.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_att.c crypto/x509/x509_att.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509type.c crypto/x509/x509type.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_lu.c crypto/x509/x509_lu.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x_all.c crypto/x509/x_all.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_txt.c crypto/x509/x509_txt.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_trs.c crypto/x509/x509_trs.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/by_file.c crypto/x509/by_file.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/by_dir.c crypto/x509/by_dir.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509/x509_vpm.c crypto/x509/x509_vpm.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_bcons.c crypto/x509v3/v3_bcons.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_bitst.c crypto/x509v3/v3_bitst.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_conf.c crypto/x509v3/v3_conf.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_extku.c crypto/x509v3/v3_extku.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_ia5.c crypto/x509v3/v3_ia5.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_lib.c crypto/x509v3/v3_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_prn.c crypto/x509v3/v3_prn.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_utl.c crypto/x509v3/v3_utl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3err.c crypto/x509v3/v3err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_genn.c crypto/x509v3/v3_genn.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_alt.c crypto/x509v3/v3_alt.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_skey.c crypto/x509v3/v3_skey.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_akey.c crypto/x509v3/v3_akey.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_pku.c crypto/x509v3/v3_pku.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_int.c crypto/x509v3/v3_int.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_enum.c crypto/x509v3/v3_enum.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_sxnet.c crypto/x509v3/v3_sxnet.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_cpols.c crypto/x509v3/v3_cpols.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_crld.c crypto/x509v3/v3_crld.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_purp.c crypto/x509v3/v3_purp.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_info.c crypto/x509v3/v3_info.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_ocsp.c crypto/x509v3/v3_ocsp.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_akeya.c crypto/x509v3/v3_akeya.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_pmaps.c crypto/x509v3/v3_pmaps.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_pcons.c crypto/x509v3/v3_pcons.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_ncons.c crypto/x509v3/v3_ncons.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_pcia.c crypto/x509v3/v3_pcia.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_pci.c crypto/x509v3/v3_pci.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/pcy_cache.c crypto/x509v3/pcy_cache.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/pcy_node.c crypto/x509v3/pcy_node.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/pcy_data.c crypto/x509v3/pcy_data.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/pcy_map.c crypto/x509v3/pcy_map.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/pcy_tree.c crypto/x509v3/pcy_tree.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/pcy_lib.c crypto/x509v3/pcy_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_asid.c crypto/x509v3/v3_asid.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/x509v3/v3_addr.c crypto/x509v3/v3_addr.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/conf/conf_err.c crypto/conf/conf_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/conf/conf_lib.c crypto/conf/conf_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/conf/conf_api.c crypto/conf/conf_api.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/conf/conf_def.c crypto/conf/conf_def.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/conf/conf_mod.c crypto/conf/conf_mod.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/conf/conf_mall.c crypto/conf/conf_mall.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/conf/conf_sap.c crypto/conf/conf_sap.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/txt_db/txt_db.c crypto/txt_db/txt_db.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs7/pk7_asn1.c crypto/pkcs7/pk7_asn1.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs7/pk7_lib.c crypto/pkcs7/pk7_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs7/pkcs7err.c crypto/pkcs7/pkcs7err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs7/pk7_doit.c crypto/pkcs7/pk7_doit.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs7/pk7_smime.c crypto/pkcs7/pk7_smime.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs7/pk7_attr.c crypto/pkcs7/pk7_attr.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs7/pk7_mime.c crypto/pkcs7/pk7_mime.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_add.c crypto/pkcs12/p12_add.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_asn.c crypto/pkcs12/p12_asn.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_attr.c crypto/pkcs12/p12_attr.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_crpt.c crypto/pkcs12/p12_crpt.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_crt.c crypto/pkcs12/p12_crt.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_decr.c crypto/pkcs12/p12_decr.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_init.c crypto/pkcs12/p12_init.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_key.c crypto/pkcs12/p12_key.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_kiss.c crypto/pkcs12/p12_kiss.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_mutl.c crypto/pkcs12/p12_mutl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_utl.c crypto/pkcs12/p12_utl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_npas.c crypto/pkcs12/p12_npas.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/pk12err.c crypto/pkcs12/pk12err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_p8d.c crypto/pkcs12/p12_p8d.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pkcs12/p12_p8e.c crypto/pkcs12/p12_p8e.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/comp/comp_lib.c crypto/comp/comp_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/comp/comp_err.c crypto/comp/comp_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/comp/c_rle.c crypto/comp/c_rle.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/comp/c_zlib.c crypto/comp/c_zlib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_err.c crypto/engine/eng_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_lib.c crypto/engine/eng_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_list.c crypto/engine/eng_list.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_init.c crypto/engine/eng_init.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_ctrl.c crypto/engine/eng_ctrl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_table.c crypto/engine/eng_table.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_pkey.c crypto/engine/eng_pkey.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_fat.c crypto/engine/eng_fat.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_all.c crypto/engine/eng_all.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_rsa.c crypto/engine/tb_rsa.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_dsa.c crypto/engine/tb_dsa.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_ecdsa.c crypto/engine/tb_ecdsa.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_dh.c crypto/engine/tb_dh.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_ecdh.c crypto/engine/tb_ecdh.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_rand.c crypto/engine/tb_rand.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_store.c crypto/engine/tb_store.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_cipher.c crypto/engine/tb_cipher.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/tb_digest.c crypto/engine/tb_digest.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_openssl.c crypto/engine/eng_openssl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_cnf.c crypto/engine/eng_cnf.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_dyn.c crypto/engine/eng_dyn.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_cryptodev.c crypto/engine/eng_cryptodev.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/engine/eng_padlock.c crypto/engine/eng_padlock.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_asn.c crypto/ocsp/ocsp_asn.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_ext.c crypto/ocsp/ocsp_ext.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_ht.c crypto/ocsp/ocsp_ht.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_lib.c crypto/ocsp/ocsp_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_cl.c crypto/ocsp/ocsp_cl.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_srv.c crypto/ocsp/ocsp_srv.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_prn.c crypto/ocsp/ocsp_prn.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_vfy.c crypto/ocsp/ocsp_vfy.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ocsp/ocsp_err.c crypto/ocsp/ocsp_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ui/ui_err.c crypto/ui/ui_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ui/ui_lib.c crypto/ui/ui_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ui/ui_util.c crypto/ui/ui_util.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/ui/ui_compat.c crypto/ui/ui_compat.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/krb5/krb5_asn.c crypto/krb5/krb5_asn.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/store/str_err.c crypto/store/str_err.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/store/str_lib.c crypto/store/str_lib.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/store/str_meth.c crypto/store/str_meth.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/store/str_mem.c crypto/store/str_mem.c
e97c83
+install -D $DIR/CryptoPkg/Library/OpensslLib/openssl-0.9.8za/crypto/pqueue/pqueue.c crypto/pqueue/pqueue.c
e97c83
diff --git a/Cryptlib/Pk/CryptPkcs7Sign.c b/Cryptlib/Pk/CryptPkcs7Sign.c
e97c83
new file mode 100644
e97c83
index 0000000..63fe78f
e97c83
--- /dev/null
e97c83
+++ b/Cryptlib/Pk/CryptPkcs7Sign.c
e97c83
@@ -0,0 +1,207 @@
e97c83
+/** @file
e97c83
+  PKCS#7 SignedData Sign Wrapper Implementation over OpenSSL.
e97c83
+
e97c83
+Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.
e97c83
+This program and the accompanying materials
e97c83
+are licensed and made available under the terms and conditions of the BSD License
e97c83
+which accompanies this distribution.  The full text of the license may be found at
e97c83
+http://opensource.org/licenses/bsd-license.php
e97c83
+
e97c83
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
e97c83
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
e97c83
+
e97c83
+**/
e97c83
+
e97c83
+#include "InternalCryptLib.h"
e97c83
+
e97c83
+#include <openssl/objects.h>
e97c83
+#include <openssl/x509.h>
e97c83
+#include <openssl/pkcs7.h>
e97c83
+
e97c83
+
e97c83
+/**
e97c83
+  Creates a PKCS#7 signedData as described in "PKCS #7: Cryptographic Message
e97c83
+  Syntax Standard, version 1.5". This interface is only intended to be used for
e97c83
+  application to perform PKCS#7 functionality validation.
e97c83
+
e97c83
+  @param[in]  PrivateKey       Pointer to the PEM-formatted private key data for
e97c83
+                               data signing.
e97c83
+  @param[in]  PrivateKeySize   Size of the PEM private key data in bytes.
e97c83
+  @param[in]  KeyPassword      NULL-terminated passphrase used for encrypted PEM
e97c83
+                               key data.
e97c83
+  @param[in]  InData           Pointer to the content to be signed.
e97c83
+  @param[in]  InDataSize       Size of InData in bytes.
e97c83
+  @param[in]  SignCert         Pointer to signer's DER-encoded certificate to sign with.
e97c83
+  @param[in]  OtherCerts       Pointer to an optional additional set of certificates to
e97c83
+                               include in the PKCS#7 signedData (e.g. any intermediate
e97c83
+                               CAs in the chain).
e97c83
+  @param[out] SignedData       Pointer to output PKCS#7 signedData.
e97c83
+  @param[out] SignedDataSize   Size of SignedData in bytes.
e97c83
+
e97c83
+  @retval     TRUE             PKCS#7 data signing succeeded.
e97c83
+  @retval     FALSE            PKCS#7 data signing failed.
e97c83
+
e97c83
+**/
e97c83
+BOOLEAN
e97c83
+EFIAPI
e97c83
+Pkcs7Sign (
e97c83
+  IN   CONST UINT8  *PrivateKey,
e97c83
+  IN   UINTN        PrivateKeySize,
e97c83
+  IN   CONST UINT8  *KeyPassword,
e97c83
+  IN   UINT8        *InData,
e97c83
+  IN   UINTN        InDataSize,
e97c83
+  IN   UINT8        *SignCert,
e97c83
+  IN   UINT8        *OtherCerts      OPTIONAL,
e97c83
+  OUT  UINT8        **SignedData,
e97c83
+  OUT  UINTN        *SignedDataSize
e97c83
+  )
e97c83
+{
e97c83
+  BOOLEAN   Status;
e97c83
+  EVP_PKEY  *Key;
e97c83
+  BIO       *DataBio;
e97c83
+  PKCS7     *Pkcs7;
e97c83
+  UINT8     *RsaContext;
e97c83
+  UINT8     *P7Data;
e97c83
+  UINTN     P7DataSize;
e97c83
+  UINT8     *Tmp;
e97c83
+
e97c83
+  //
e97c83
+  // Check input parameters.
e97c83
+  //
e97c83
+  if (PrivateKey == NULL || KeyPassword == NULL || InData == NULL ||
e97c83
+    SignCert == NULL || SignedData == NULL || SignedDataSize == NULL || InDataSize > INT_MAX) {
e97c83
+    return FALSE;
e97c83
+  }
e97c83
+
e97c83
+  RsaContext = NULL;
e97c83
+  Key        = NULL;
e97c83
+  Pkcs7      = NULL;
e97c83
+  DataBio    = NULL;
e97c83
+  Status     = FALSE;
e97c83
+
e97c83
+  //
e97c83
+  // Retrieve RSA private key from PEM data.
e97c83
+  //
e97c83
+  Status = RsaGetPrivateKeyFromPem (
e97c83
+             PrivateKey,
e97c83
+             PrivateKeySize,
e97c83
+             (CONST CHAR8 *) KeyPassword,
e97c83
+             (VOID **) &RsaContext
e97c83
+             );
e97c83
+  if (!Status) {
e97c83
+    return Status;
e97c83
+  }
e97c83
+
e97c83
+  Status = FALSE;
e97c83
+
e97c83
+  //
e97c83
+  // Register & Initialize necessary digest algorithms and PRNG for PKCS#7 Handling
e97c83
+  //
e97c83
+  if (EVP_add_digest (EVP_md5 ()) == 0) {
e97c83
+    goto _Exit;
e97c83
+  }
e97c83
+  if (EVP_add_digest (EVP_sha1 ()) == 0) {
e97c83
+    goto _Exit;
e97c83
+  }
e97c83
+  if (EVP_add_digest (EVP_sha256 ()) == 0) {
e97c83
+    goto _Exit;
e97c83
+  }
e97c83
+
e97c83
+  RandomSeed (NULL, 0);
e97c83
+
e97c83
+  //
e97c83
+  // Construct OpenSSL EVP_PKEY for private key.
e97c83
+  //
e97c83
+  Key = EVP_PKEY_new ();
e97c83
+  if (Key == NULL) {
e97c83
+    goto _Exit;
e97c83
+  }
e97c83
+  Key->save_type = EVP_PKEY_RSA;
e97c83
+  Key->type      = EVP_PKEY_type (EVP_PKEY_RSA);
e97c83
+  Key->pkey.rsa  = (RSA *) RsaContext;
e97c83
+
e97c83
+  //
e97c83
+  // Convert the data to be signed to BIO format. 
e97c83
+  //
e97c83
+  DataBio = BIO_new (BIO_s_mem ());
e97c83
+  if (DataBio == NULL) {
e97c83
+    goto _Exit;
e97c83
+  }
e97c83
+
e97c83
+  if (BIO_write (DataBio, InData, (int) InDataSize) <= 0) {
e97c83
+    goto _Exit;
e97c83
+  }
e97c83
+
e97c83
+  //
e97c83
+  // Create the PKCS#7 signedData structure.
e97c83
+  //
e97c83
+  Pkcs7 = PKCS7_sign (
e97c83
+            (X509 *) SignCert,
e97c83
+            Key,
e97c83
+            (STACK_OF(X509) *) OtherCerts,
e97c83
+            DataBio,
e97c83
+            PKCS7_BINARY | PKCS7_NOATTR | PKCS7_DETACHED
e97c83
+            );
e97c83
+  if (Pkcs7 == NULL) {
e97c83
+    goto _Exit;
e97c83
+  }
e97c83
+
e97c83
+  //
e97c83
+  // Convert PKCS#7 signedData structure into DER-encoded buffer.
e97c83
+  //
e97c83
+  P7DataSize = i2d_PKCS7 (Pkcs7, NULL);
e97c83
+  if (P7DataSize <= 19) {
e97c83
+    goto _Exit;
e97c83
+  }
e97c83
+
e97c83
+  P7Data     = malloc (P7DataSize);
e97c83
+  if (P7Data == NULL) {
e97c83
+    goto _Exit;
e97c83
+  }
e97c83
+
e97c83
+  Tmp        = P7Data;
e97c83
+  P7DataSize = i2d_PKCS7 (Pkcs7, (unsigned char **) &Tmp);
e97c83
+  ASSERT (P7DataSize > 19);
e97c83
+
e97c83
+  //
e97c83
+  // Strip ContentInfo to content only for signeddata. The data be trimmed off
e97c83
+  // is totally 19 bytes.
e97c83
+  //
e97c83
+  *SignedDataSize = P7DataSize - 19;
e97c83
+  *SignedData     = malloc (*SignedDataSize);
e97c83
+  if (*SignedData == NULL) {
e97c83
+    OPENSSL_free (P7Data);
e97c83
+    goto _Exit;
e97c83
+  }
e97c83
+
e97c83
+  CopyMem (*SignedData, P7Data + 19, *SignedDataSize);
e97c83
+  
e97c83
+  OPENSSL_free (P7Data);
e97c83
+
e97c83
+  Status = TRUE;
e97c83
+
e97c83
+_Exit:
e97c83
+  //
e97c83
+  // Release Resources
e97c83
+  //
e97c83
+  if (RsaContext != NULL) {
e97c83
+    RsaFree (RsaContext);
e97c83
+    if (Key != NULL) {
e97c83
+      Key->pkey.rsa = NULL;
e97c83
+    }
e97c83
+  }
e97c83
+
e97c83
+  if (Key != NULL) {
e97c83
+    EVP_PKEY_free (Key);
e97c83
+  }
e97c83
+
e97c83
+  if (DataBio != NULL) {
e97c83
+    BIO_free (DataBio);
e97c83
+  }
e97c83
+
e97c83
+  if (Pkcs7 != NULL) {
e97c83
+    PKCS7_free (Pkcs7);
e97c83
+  }
e97c83
+
e97c83
+  return Status;
e97c83
+}
e97c83
diff --git a/Cryptlib/Pk/CryptPkcs7SignNull.c b/Cryptlib/Pk/CryptPkcs7SignNull.c
e97c83
new file mode 100644
e97c83
index 0000000..539bb6b
e97c83
--- /dev/null
e97c83
+++ b/Cryptlib/Pk/CryptPkcs7SignNull.c
e97c83
@@ -0,0 +1,59 @@
e97c83
+/** @file
e97c83
+  PKCS#7 SignedData Sign Wrapper Implementation which does not provide real
e97c83
+  capabilities.
e97c83
+
e97c83
+Copyright (c) 2012, Intel Corporation. All rights reserved.
e97c83
+This program and the accompanying materials
e97c83
+are licensed and made available under the terms and conditions of the BSD License
e97c83
+which accompanies this distribution.  The full text of the license may be found at
e97c83
+http://opensource.org/licenses/bsd-license.php
e97c83
+
e97c83
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
e97c83
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
e97c83
+
e97c83
+**/
e97c83
+
e97c83
+#include "InternalCryptLib.h"
e97c83
+
e97c83
+/**
e97c83
+  Creates a PKCS#7 signedData as described in "PKCS #7: Cryptographic Message
e97c83
+  Syntax Standard, version 1.5". This interface is only intended to be used for
e97c83
+  application to perform PKCS#7 functionality validation.
e97c83
+
e97c83
+  Return FALSE to indicate this interface is not supported.
e97c83
+
e97c83
+  @param[in]  PrivateKey       Pointer to the PEM-formatted private key data for
e97c83
+                               data signing.
e97c83
+  @param[in]  PrivateKeySize   Size of the PEM private key data in bytes.
e97c83
+  @param[in]  KeyPassword      NULL-terminated passphrase used for encrypted PEM
e97c83
+                               key data.
e97c83
+  @param[in]  InData           Pointer to the content to be signed.
e97c83
+  @param[in]  InDataSize       Size of InData in bytes.
e97c83
+  @param[in]  SignCert         Pointer to signer's DER-encoded certificate to sign with.
e97c83
+  @param[in]  OtherCerts       Pointer to an optional additional set of certificates to
e97c83
+                               include in the PKCS#7 signedData (e.g. any intermediate
e97c83
+                               CAs in the chain).
e97c83
+  @param[out] SignedData       Pointer to output PKCS#7 signedData.
e97c83
+  @param[out] SignedDataSize   Size of SignedData in bytes.
e97c83
+
e97c83
+  @retval FALSE  This interface is not supported.
e97c83
+
e97c83
+**/
e97c83
+BOOLEAN
e97c83
+EFIAPI
e97c83
+Pkcs7Sign (
e97c83
+  IN   CONST UINT8  *PrivateKey,
e97c83
+  IN   UINTN        PrivateKeySize,
e97c83
+  IN   CONST UINT8  *KeyPassword,
e97c83
+  IN   UINT8        *InData,
e97c83
+  IN   UINTN        InDataSize,
e97c83
+  IN   UINT8        *SignCert,
e97c83
+  IN   UINT8        *OtherCerts      OPTIONAL,
e97c83
+  OUT  UINT8        **SignedData,
e97c83
+  OUT  UINTN        *SignedDataSize
e97c83
+  )
e97c83
+{
e97c83
+  ASSERT (FALSE);
e97c83
+  return FALSE;
e97c83
+}
e97c83
+
e97c83
diff --git a/Cryptlib/Pk/CryptPkcs7.c b/Cryptlib/Pk/CryptPkcs7Verify.c
e97c83
similarity index 74%
e97c83
rename from Cryptlib/Pk/CryptPkcs7.c
e97c83
rename to Cryptlib/Pk/CryptPkcs7Verify.c
e97c83
index 218e7ac..05c3f87 100644
e97c83
--- a/Cryptlib/Pk/CryptPkcs7.c
e97c83
+++ b/Cryptlib/Pk/CryptPkcs7Verify.c
e97c83
@@ -10,7 +10,7 @@
e97c83
   WrapPkcs7Data(), Pkcs7GetSigners(), Pkcs7Verify() will get UEFI Authenticated
e97c83
   Variable and will do basic check for data structure.
e97c83
 
e97c83
-Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.
e97c83
+Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.
e97c83
 This program and the accompanying materials
e97c83
 are licensed and made available under the terms and conditions of the BSD License
e97c83
 which accompanies this distribution.  The full text of the license may be found at
e97c83
@@ -25,6 +25,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
e97c83
 
e97c83
 #include <openssl/objects.h>
e97c83
 #include <openssl/x509.h>
e97c83
+#include <openssl/x509v3.h>
e97c83
 #include <openssl/pkcs7.h>
e97c83
 
e97c83
 UINT8 mOidValue[9] = { 0x2A, 0x86, 0x48, 0x86, 0xF7, 0x0D, 0x01, 0x07, 0x02 };
e97c83
@@ -111,182 +112,6 @@ X509VerifyCb (
e97c83
 }
e97c83
 
e97c83
 /**
e97c83
-  Creates a PKCS#7 signedData as described in "PKCS #7: Cryptographic Message
e97c83
-  Syntax Standard, version 1.5". This interface is only intended to be used for
e97c83
-  application to perform PKCS#7 functionality validation.
e97c83
-
e97c83
-  @param[in]  PrivateKey       Pointer to the PEM-formatted private key data for
e97c83
-                               data signing.
e97c83
-  @param[in]  PrivateKeySize   Size of the PEM private key data in bytes.
e97c83
-  @param[in]  KeyPassword      NULL-terminated passphrase used for encrypted PEM
e97c83
-                               key data.
e97c83
-  @param[in]  InData           Pointer to the content to be signed.
e97c83
-  @param[in]  InDataSize       Size of InData in bytes.
e97c83
-  @param[in]  SignCert         Pointer to signer's DER-encoded certificate to sign with.
e97c83
-  @param[in]  OtherCerts       Pointer to an optional additional set of certificates to
e97c83
-                               include in the PKCS#7 signedData (e.g. any intermediate
e97c83
-                               CAs in the chain).
e97c83
-  @param[out] SignedData       Pointer to output PKCS#7 signedData.
e97c83
-  @param[out] SignedDataSize   Size of SignedData in bytes.
e97c83
-
e97c83
-  @retval     TRUE             PKCS#7 data signing succeeded.
e97c83
-  @retval     FALSE            PKCS#7 data signing failed.
e97c83
-
e97c83
-**/
e97c83
-BOOLEAN
e97c83
-EFIAPI
e97c83
-Pkcs7Sign (
e97c83
-  IN   CONST UINT8  *PrivateKey,
e97c83
-  IN   UINTN        PrivateKeySize,
e97c83
-  IN   CONST UINT8  *KeyPassword,
e97c83
-  IN   UINT8        *InData,
e97c83
-  IN   UINTN        InDataSize,
e97c83
-  IN   UINT8        *SignCert,
e97c83
-  IN   UINT8        *OtherCerts      OPTIONAL,
e97c83
-  OUT  UINT8        **SignedData,
e97c83
-  OUT  UINTN        *SignedDataSize
e97c83
-  )
e97c83
-{
e97c83
-  BOOLEAN   Status;
e97c83
-  EVP_PKEY  *Key;
e97c83
-  BIO       *DataBio;
e97c83
-  PKCS7     *Pkcs7;
e97c83
-  UINT8     *RsaContext;
e97c83
-  UINT8     *P7Data;
e97c83
-  UINTN     P7DataSize;
e97c83
-  UINT8     *Tmp;
e97c83
-
e97c83
-  //
e97c83
-  // Check input parameters.
e97c83
-  //
e97c83
-  if (PrivateKey == NULL || KeyPassword == NULL || InData == NULL ||
e97c83
-    SignCert == NULL || SignedData == NULL || SignedDataSize == NULL || InDataSize > INT_MAX) {
e97c83
-    return FALSE;
e97c83
-  }
e97c83
-
e97c83
-  RsaContext = NULL;
e97c83
-  Key        = NULL;
e97c83
-  Pkcs7      = NULL;
e97c83
-  DataBio    = NULL;
e97c83
-  Status     = FALSE;
e97c83
-
e97c83
-  //
e97c83
-  // Retrieve RSA private key from PEM data.
e97c83
-  //
e97c83
-  Status = RsaGetPrivateKeyFromPem (
e97c83
-             PrivateKey,
e97c83
-             PrivateKeySize,
e97c83
-             (CONST CHAR8 *) KeyPassword,
e97c83
-             (VOID **) &RsaContext
e97c83
-             );
e97c83
-  if (!Status) {
e97c83
-    return Status;
e97c83
-  }
e97c83
-
e97c83
-  //
e97c83
-  // Register & Initialize necessary digest algorithms and PRNG for PKCS#7 Handling
e97c83
-  //
e97c83
-  EVP_add_digest (EVP_md5());
e97c83
-  EVP_add_digest (EVP_sha1());
e97c83
-  EVP_add_digest (EVP_sha256());
e97c83
-  RandomSeed (NULL, 0);
e97c83
-
e97c83
-  //
e97c83
-  // Construct OpenSSL EVP_PKEY for private key.
e97c83
-  //
e97c83
-  Key = EVP_PKEY_new ();
e97c83
-  if (Key == NULL) {
e97c83
-    Status = FALSE;
e97c83
-    goto _Exit;
e97c83
-  }
e97c83
-  Key->save_type = EVP_PKEY_RSA;
e97c83
-  Key->type      = EVP_PKEY_type (EVP_PKEY_RSA);
e97c83
-  Key->pkey.rsa  = (RSA *) RsaContext;
e97c83
-
e97c83
-  //
e97c83
-  // Convert the data to be signed to BIO format. 
e97c83
-  //
e97c83
-  DataBio = BIO_new (BIO_s_mem ());
e97c83
-  BIO_write (DataBio, InData, (int) InDataSize);
e97c83
-
e97c83
-  //
e97c83
-  // Create the PKCS#7 signedData structure.
e97c83
-  //
e97c83
-  Pkcs7 = PKCS7_sign (
e97c83
-            (X509 *) SignCert,
e97c83
-            Key,
e97c83
-            (STACK_OF(X509) *) OtherCerts,
e97c83
-            DataBio,
e97c83
-            PKCS7_BINARY | PKCS7_NOATTR | PKCS7_DETACHED
e97c83
-            );
e97c83
-  if (Pkcs7 == NULL) {
e97c83
-    Status = FALSE;
e97c83
-    goto _Exit;
e97c83
-  }
e97c83
-
e97c83
-  //
e97c83
-  // Convert PKCS#7 signedData structure into DER-encoded buffer.
e97c83
-  //
e97c83
-  P7DataSize = i2d_PKCS7 (Pkcs7, NULL);
e97c83
-  if (P7DataSize <= 19) {
e97c83
-    Status = FALSE;
e97c83
-    goto _Exit;
e97c83
-  }
e97c83
-
e97c83
-  P7Data     = malloc (P7DataSize);
e97c83
-  if (P7Data == NULL) {
e97c83
-    Status = FALSE;
e97c83
-    goto _Exit;
e97c83
-  }
e97c83
-
e97c83
-  Tmp        = P7Data;
e97c83
-  P7DataSize = i2d_PKCS7 (Pkcs7, (unsigned char **) &Tmp);
e97c83
-
e97c83
-  //
e97c83
-  // Strip ContentInfo to content only for signeddata. The data be trimmed off
e97c83
-  // is totally 19 bytes.
e97c83
-  //
e97c83
-  *SignedDataSize = P7DataSize - 19;
e97c83
-  *SignedData     = malloc (*SignedDataSize);
e97c83
-  if (*SignedData == NULL) {
e97c83
-    Status = FALSE;
e97c83
-    OPENSSL_free (P7Data);
e97c83
-    goto _Exit;
e97c83
-  }
e97c83
-
e97c83
-  CopyMem (*SignedData, P7Data + 19, *SignedDataSize);
e97c83
-  
e97c83
-  OPENSSL_free (P7Data);
e97c83
-
e97c83
-  Status = TRUE;
e97c83
-
e97c83
-_Exit:
e97c83
-  //
e97c83
-  // Release Resources
e97c83
-  //
e97c83
-  if (RsaContext != NULL) {
e97c83
-    RsaFree (RsaContext);
e97c83
-    if (Key != NULL) {
e97c83
-      Key->pkey.rsa = NULL;
e97c83
-    }
e97c83
-  }
e97c83
-
e97c83
-  if (Key != NULL) {
e97c83
-    EVP_PKEY_free (Key);
e97c83
-  }
e97c83
-
e97c83
-  if (DataBio != NULL) {
e97c83
-    BIO_free (DataBio);
e97c83
-  }
e97c83
-
e97c83
-  if (Pkcs7 != NULL) {
e97c83
-    PKCS7_free (Pkcs7);
e97c83
-  }
e97c83
-
e97c83
-  return Status;
e97c83
-}
e97c83
-
e97c83
-/**
e97c83
   Check input P7Data is a wrapped ContentInfo structure or not. If not construct
e97c83
   a new structure to wrap P7Data.
e97c83
 
e97c83
@@ -395,6 +220,91 @@ WrapPkcs7Data (
e97c83
 }
e97c83
 
e97c83
 /**
e97c83
+  Pop single certificate from STACK_OF(X509).
e97c83
+
e97c83
+  If X509Stack, Cert, or CertSize is NULL, then return FALSE.
e97c83
+
e97c83
+  @param[in]  X509Stack       Pointer to a X509 stack object.
e97c83
+  @param[out] Cert            Pointer to a X509 certificate.
e97c83
+  @param[out] CertSize        Length of output X509 certificate in bytes.
e97c83
+                                 
e97c83
+  @retval     TRUE            The X509 stack pop succeeded.
e97c83
+  @retval     FALSE           The pop operation failed.
e97c83
+
e97c83
+**/
e97c83
+BOOLEAN
e97c83
+X509PopCertificate (
e97c83
+  IN  VOID  *X509Stack,
e97c83
+  OUT UINT8 **Cert,
e97c83
+  OUT UINTN *CertSize
e97c83
+  )
e97c83
+{
e97c83
+  BIO             *CertBio;
e97c83
+  X509            *X509Cert;
e97c83
+  STACK_OF(X509)  *CertStack;
e97c83
+  BOOLEAN         Status;
e97c83
+  INT32           Result;
e97c83
+  INT32           Length;
e97c83
+  VOID            *Buffer;
e97c83
+
e97c83
+  Status = FALSE;
e97c83
+
e97c83
+  if ((X509Stack == NULL) || (Cert == NULL) || (CertSize == NULL)) {
e97c83
+    return Status;
e97c83
+  }
e97c83
+
e97c83
+  CertStack = (STACK_OF(X509) *) X509Stack;
e97c83
+
e97c83
+  X509Cert = sk_X509_pop (CertStack);
e97c83
+
e97c83
+  if (X509Cert == NULL) {
e97c83
+    return Status;
e97c83
+  }
e97c83
+
e97c83
+  Buffer = NULL;
e97c83
+
e97c83
+  CertBio = BIO_new (BIO_s_mem ());
e97c83
+  if (CertBio == NULL) {
e97c83
+    return Status;
e97c83
+  }
e97c83
+
e97c83
+  Result = i2d_X509_bio (CertBio, X509Cert);
e97c83
+  if (Result == 0) {
e97c83
+    goto _Exit;
e97c83
+  }
e97c83
+
e97c83
+  Length = ((BUF_MEM *) CertBio->ptr)->length;
e97c83
+  if (Length <= 0) {
e97c83
+    goto _Exit;
e97c83
+  }
e97c83
+
e97c83
+  Buffer = malloc (Length);
e97c83
+  if (Buffer == NULL) {
e97c83
+    goto _Exit;
e97c83
+  }
e97c83
+
e97c83
+  Result = BIO_read (CertBio, Buffer, Length);
e97c83
+  if (Result != Length) {
e97c83
+    goto _Exit;
e97c83
+  }
e97c83
+
e97c83
+  *Cert     = Buffer;
e97c83
+  *CertSize = Length;
e97c83
+
e97c83
+  Status = TRUE;
e97c83
+
e97c83
+_Exit:
e97c83
+
e97c83
+  BIO_free (CertBio);
e97c83
+
e97c83
+  if (!Status && (Buffer != NULL)) {
e97c83
+    free (Buffer);
e97c83
+  }
e97c83
+
e97c83
+  return Status;
e97c83
+}
e97c83
+
e97c83
+/**
e97c83
   Get the signer's certificates from PKCS#7 signed data as described in "PKCS #7:
e97c83
   Cryptographic Message Syntax Standard". The input signed data could be wrapped
e97c83
   in a ContentInfo structure.
e97c83
@@ -634,7 +544,6 @@ Pkcs7Verify (
e97c83
   )
e97c83
 {
e97c83
   PKCS7       *Pkcs7;
e97c83
-  BIO         *CertBio;
e97c83
   BIO         *DataBio;
e97c83
   BOOLEAN     Status;
e97c83
   X509        *Cert;
e97c83
@@ -653,7 +562,6 @@ Pkcs7Verify (
e97c83
   }
e97c83
   
e97c83
   Pkcs7     = NULL;
e97c83
-  CertBio   = NULL;
e97c83
   DataBio   = NULL;
e97c83
   Cert      = NULL;
e97c83
   CertStore = NULL;
e97c83
@@ -661,10 +569,19 @@ Pkcs7Verify (
e97c83
   //
e97c83
   // Register & Initialize necessary digest algorithms for PKCS#7 Handling
e97c83
   //
e97c83
-  EVP_add_digest (EVP_md5());
e97c83
-  EVP_add_digest (EVP_sha1());
e97c83
-  EVP_add_digest_alias (SN_sha1WithRSAEncryption, SN_sha1WithRSA);
e97c83
-  EVP_add_digest (EVP_sha256());
e97c83
+  if (EVP_add_digest (EVP_md5 ()) == 0) {
e97c83
+    return FALSE;
e97c83
+  }
e97c83
+  if (EVP_add_digest (EVP_sha1 ()) == 0) {
e97c83
+    return FALSE;
e97c83
+  }
e97c83
+  if (EVP_add_digest (EVP_sha256 ()) == 0) {
e97c83
+    return FALSE;
e97c83
+  }
e97c83
+  if (EVP_add_digest_alias (SN_sha1WithRSAEncryption, SN_sha1WithRSA) == 0) {
e97c83
+    return FALSE;
e97c83
+  }
e97c83
+
e97c83
 
e97c83
   Status = WrapPkcs7Data (P7Data, P7Length, &Wrapped, &SignedData, &SignedDataSize);
e97c83
   if (!Status) {
e97c83
@@ -696,12 +613,7 @@ Pkcs7Verify (
e97c83
   //
e97c83
   // Read DER-encoded root certificate and Construct X509 Certificate
e97c83
   //
e97c83
-  CertBio = BIO_new (BIO_s_mem ());
e97c83
-  BIO_write (CertBio, TrustedCert, (int)CertLength);
e97c83
-  if (CertBio == NULL) {
e97c83
-    goto _Exit;
e97c83
-  }
e97c83
-  Cert = d2i_X509_bio (CertBio, NULL);
e97c83
+  Cert = d2i_X509 (NULL, &TrustedCert, (long) CertLength);
e97c83
   if (Cert == NULL) {
e97c83
     goto _Exit;
e97c83
   }
e97c83
@@ -728,7 +640,20 @@ Pkcs7Verify (
e97c83
   // in PKCS#7 structure. So ignore NULL checking here.
e97c83
   //
e97c83
   DataBio = BIO_new (BIO_s_mem ());
e97c83
-  BIO_write (DataBio, InData, (int)DataLength);
e97c83
+  if (DataBio == NULL) {
e97c83
+    goto _Exit;
e97c83
+  }
e97c83
+
e97c83
+  if (BIO_write (DataBio, InData, (int) DataLength) <= 0) {
e97c83
+    goto _Exit;
e97c83
+  }
e97c83
+
e97c83
+  //
e97c83
+  // OpenSSL PKCS7 Verification by default checks for SMIME (email signing) and
e97c83
+  // doesn't support the extended key usage for Authenticode Code Signing.
e97c83
+  // Bypass the certificate purpose checking by enabling any purposes setting.
e97c83
+  //
e97c83
+  X509_STORE_set_purpose (CertStore, X509_PURPOSE_ANY);
e97c83
 
e97c83
   //
e97c83
   // Verifies the PKCS#7 signedData structure
e97c83
@@ -740,7 +665,6 @@ _Exit:
e97c83
   // Release Resources
e97c83
   //
e97c83
   BIO_free (DataBio);
e97c83
-  BIO_free (CertBio);
e97c83
   X509_free (Cert);
e97c83
   X509_STORE_free (CertStore);
e97c83
   PKCS7_free (Pkcs7);
e97c83
diff --git a/Cryptlib/Pk/CryptPkcs7VerifyNull.c b/Cryptlib/Pk/CryptPkcs7VerifyNull.c
e97c83
new file mode 100644
e97c83
index 0000000..9a4c77a
e97c83
--- /dev/null
e97c83
+++ b/Cryptlib/Pk/CryptPkcs7VerifyNull.c
e97c83
@@ -0,0 +1,100 @@
e97c83
+/** @file
e97c83
+  PKCS#7 SignedData Verification Wrapper Implementation which does not provide
e97c83
+  real capabilities.
e97c83
+
e97c83
+Copyright (c) 2012, Intel Corporation. All rights reserved.
e97c83
+This program and the accompanying materials
e97c83
+are licensed and made available under the terms and conditions of the BSD License
e97c83
+which accompanies this distribution.  The full text of the license may be found at
e97c83
+http://opensource.org/licenses/bsd-license.php
e97c83
+
e97c83
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
e97c83
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
e97c83
+
e97c83
+**/
e97c83
+
e97c83
+#include "InternalCryptLib.h"
e97c83
+
e97c83
+/**
e97c83
+  Get the signer's certificates from PKCS#7 signed data as described in "PKCS #7:
e97c83
+  Cryptographic Message Syntax Standard". The input signed data could be wrapped
e97c83
+  in a ContentInfo structure.
e97c83
+
e97c83
+  Return FALSE to indicate this interface is not supported.
e97c83
+
e97c83
+  @param[in]  P7Data       Pointer to the PKCS#7 message to verify.
e97c83
+  @param[in]  P7Length     Length of the PKCS#7 message in bytes.
e97c83
+  @param[out] CertStack    Pointer to Signer's certificates retrieved from P7Data.
e97c83
+                           It's caller's responsiblity to free the buffer.
e97c83
+  @param[out] StackLength  Length of signer's certificates in bytes.
e97c83
+  @param[out] TrustedCert  Pointer to a trusted certificate from Signer's certificates.
e97c83
+                           It's caller's responsiblity to free the buffer.
e97c83
+  @param[out] CertLength   Length of the trusted certificate in bytes.
e97c83
+
e97c83
+  @retval FALSE  This interface is not supported.
e97c83
+
e97c83
+**/
e97c83
+BOOLEAN
e97c83
+EFIAPI
e97c83
+Pkcs7GetSigners (
e97c83
+  IN  CONST UINT8  *P7Data,
e97c83
+  IN  UINTN        P7Length,
e97c83
+  OUT UINT8        **CertStack,
e97c83
+  OUT UINTN        *StackLength,
e97c83
+  OUT UINT8        **TrustedCert,
e97c83
+  OUT UINTN        *CertLength
e97c83
+  )
e97c83
+{
e97c83
+  ASSERT (FALSE);
e97c83
+  return FALSE;
e97c83
+}
e97c83
+
e97c83
+/**
e97c83
+  Wrap function to use free() to free allocated memory for certificates.
e97c83
+
e97c83
+  If the interface is not supported, then ASSERT().
e97c83
+  
e97c83
+  @param[in]  Certs        Pointer to the certificates to be freed.
e97c83
+
e97c83
+**/
e97c83
+VOID
e97c83
+EFIAPI
e97c83
+Pkcs7FreeSigners (
e97c83
+  IN  UINT8        *Certs
e97c83
+  )
e97c83
+{
e97c83
+  ASSERT (FALSE);
e97c83
+}
e97c83
+
e97c83
+/**
e97c83
+  Verifies the validility of a PKCS#7 signed data as described in "PKCS #7:
e97c83
+  Cryptographic Message Syntax Standard". The input signed data could be wrapped
e97c83
+  in a ContentInfo structure.
e97c83
+
e97c83
+  Return FALSE to indicate this interface is not supported.
e97c83
+
e97c83
+  @param[in]  P7Data       Pointer to the PKCS#7 message to verify.
e97c83
+  @param[in]  P7Length     Length of the PKCS#7 message in bytes.
e97c83
+  @param[in]  TrustedCert  Pointer to a trusted/root certificate encoded in DER, which
e97c83
+                           is used for certificate chain verification.
e97c83
+  @param[in]  CertLength   Length of the trusted certificate in bytes.
e97c83
+  @param[in]  InData       Pointer to the content to be verified.
e97c83
+  @param[in]  DataLength   Length of InData in bytes.
e97c83
+
e97c83
+  @retval FALSE  This interface is not supported.
e97c83
+
e97c83
+**/
e97c83
+BOOLEAN
e97c83
+EFIAPI
e97c83
+Pkcs7Verify (
e97c83
+  IN  CONST UINT8  *P7Data,
e97c83
+  IN  UINTN        P7Length,
e97c83
+  IN  CONST UINT8  *TrustedCert,
e97c83
+  IN  UINTN        CertLength,
e97c83
+  IN  CONST UINT8  *InData,
e97c83
+  IN  UINTN        DataLength
e97c83
+  )
e97c83
+{
e97c83
+  ASSERT (FALSE);
e97c83
+  return FALSE;
e97c83
+}
e97c83
diff --git a/Cryptlib/Pk/CryptRsaExtNull.c b/Cryptlib/Pk/CryptRsaExtNull.c
e97c83
new file mode 100644
e97c83
index 0000000..e44cdde
e97c83
--- /dev/null
e97c83
+++ b/Cryptlib/Pk/CryptRsaExtNull.c
e97c83
@@ -0,0 +1,125 @@
e97c83
+/** @file
e97c83
+  RSA Asymmetric Cipher Wrapper Implementation over OpenSSL.
e97c83
+
e97c83
+  This file does not provide real capabilities for following APIs in RSA handling:
e97c83
+  1) RsaGetKey
e97c83
+  2) RsaGenerateKey
e97c83
+  3) RsaCheckKey
e97c83
+  4) RsaPkcs1Sign
e97c83
+
e97c83
+Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.
e97c83
+This program and the accompanying materials
e97c83
+are licensed and made available under the terms and conditions of the BSD License
e97c83
+which accompanies this distribution.  The full text of the license may be found at
e97c83
+http://opensource.org/licenses/bsd-license.php
e97c83
+
e97c83
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
e97c83
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
e97c83
+
e97c83
+**/
e97c83
+
e97c83
+#include "InternalCryptLib.h"
e97c83
+
e97c83
+/**
e97c83
+  Gets the tag-designated RSA key component from the established RSA context.
e97c83
+
e97c83
+  Return FALSE to indicate this interface is not supported.
e97c83
+
e97c83
+  @param[in, out]  RsaContext  Pointer to RSA context being set.
e97c83
+  @param[in]       KeyTag      Tag of RSA key component being set.
e97c83
+  @param[out]      BigNumber   Pointer to octet integer buffer.
e97c83
+  @param[in, out]  BnSize      On input, the size of big number buffer in bytes.
e97c83
+                               On output, the size of data returned in big number buffer in bytes.
e97c83
+
e97c83
+  @retval FALSE  This interface is not supported.
e97c83
+
e97c83
+**/
e97c83
+BOOLEAN
e97c83
+EFIAPI
e97c83
+RsaGetKey (
e97c83
+  IN OUT  VOID         *RsaContext,
e97c83
+  IN      RSA_KEY_TAG  KeyTag,
e97c83
+  OUT     UINT8        *BigNumber,
e97c83
+  IN OUT  UINTN        *BnSize
e97c83
+  )
e97c83
+{
e97c83
+  ASSERT (FALSE);
e97c83
+  return FALSE;
e97c83
+}
e97c83
+
e97c83
+/**
e97c83
+  Generates RSA key components.
e97c83
+
e97c83
+  Return FALSE to indicate this interface is not supported.
e97c83
+
e97c83
+  @param[in, out]  RsaContext           Pointer to RSA context being set.
e97c83
+  @param[in]       ModulusLength        Length of RSA modulus N in bits.
e97c83
+  @param[in]       PublicExponent       Pointer to RSA public exponent.
e97c83
+  @param[in]       PublicExponentSize   Size of RSA public exponent buffer in bytes. 
e97c83
+
e97c83
+  @retval FALSE  This interface is not supported.
e97c83
+
e97c83
+**/
e97c83
+BOOLEAN
e97c83
+EFIAPI
e97c83
+RsaGenerateKey (
e97c83
+  IN OUT  VOID         *RsaContext,
e97c83
+  IN      UINTN        ModulusLength,
e97c83
+  IN      CONST UINT8  *PublicExponent,
e97c83
+  IN      UINTN        PublicExponentSize
e97c83
+  )
e97c83
+{
e97c83
+  ASSERT (FALSE);
e97c83
+  return FALSE;
e97c83
+}
e97c83
+
e97c83
+/**
e97c83
+  Validates key components of RSA context.
e97c83
+
e97c83
+  Return FALSE to indicate this interface is not supported.
e97c83
+
e97c83
+  @param[in]  RsaContext  Pointer to RSA context to check.
e97c83
+
e97c83
+  @retval FALSE  This interface is not supported.
e97c83
+
e97c83
+**/
e97c83
+BOOLEAN
e97c83
+EFIAPI
e97c83
+RsaCheckKey (
e97c83
+  IN  VOID  *RsaContext
e97c83
+  )
e97c83
+{
e97c83
+  ASSERT (FALSE);
e97c83
+  return FALSE;
e97c83
+}
e97c83
+
e97c83
+/**
e97c83
+  Carries out the RSA-SSA signature generation with EMSA-PKCS1-v1_5 encoding scheme.
e97c83
+
e97c83
+  Return FALSE to indicate this interface is not supported.
e97c83
+
e97c83
+  @param[in]       RsaContext   Pointer to RSA context for signature generation.
e97c83
+  @param[in]       MessageHash  Pointer to octet message hash to be signed.
e97c83
+  @param[in]       HashSize     Size of the message hash in bytes.
e97c83
+  @param[out]      Signature    Pointer to buffer to receive RSA PKCS1-v1_5 signature.
e97c83
+  @param[in, out]  SigSize      On input, the size of Signature buffer in bytes.
e97c83
+                                On output, the size of data returned in Signature buffer in bytes.
e97c83
+
e97c83
+  @retval FALSE  This interface is not supported.
e97c83
+
e97c83
+**/
e97c83
+BOOLEAN
e97c83
+EFIAPI
e97c83
+RsaPkcs1Sign (
e97c83
+  IN      VOID         *RsaContext,
e97c83
+  IN      CONST UINT8  *MessageHash,
e97c83
+  IN      UINTN        HashSize,
e97c83
+  OUT     UINT8        *Signature,
e97c83
+  IN OUT  UINTN        *SigSize
e97c83
+  )
e97c83
+{
e97c83
+  ASSERT (FALSE);
e97c83
+  return FALSE;
e97c83
+}
e97c83
+
e97c83
+
e97c83
diff --git a/Cryptlib/Rand/CryptRand.c b/Cryptlib/Rand/CryptRand.c
e97c83
index dc3ab99..895ce83 100644
e97c83
--- a/Cryptlib/Rand/CryptRand.c
e97c83
+++ b/Cryptlib/Rand/CryptRand.c
e97c83
@@ -1,7 +1,7 @@
e97c83
 /** @file
e97c83
   Pseudorandom Number Generator Wrapper Implementation over OpenSSL.
e97c83
 
e97c83
-Copyright (c) 2010 - 2012, Intel Corporation. All rights reserved.
e97c83
+Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.
e97c83
 This program and the accompanying materials
e97c83
 are licensed and made available under the terms and conditions of the BSD License
e97c83
 which accompanies this distribution.  The full text of the license may be found at
e97c83
@@ -14,6 +14,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
e97c83
 
e97c83
 #include "InternalCryptLib.h"
e97c83
 #include <openssl/rand.h>
e97c83
+#include <openssl/evp.h>
e97c83
 
e97c83
 //
e97c83
 // Default seed for UEFI Crypto Library
e97c83
@@ -48,6 +49,14 @@ RandomSeed (
e97c83
   }
e97c83
 
e97c83
   //
e97c83
+  // The software PRNG implementation built in OpenSSL depends on message digest algorithm.
e97c83
+  // Make sure SHA-1 digest algorithm is available here.
e97c83
+  //
e97c83
+  if (EVP_add_digest (EVP_sha1 ()) == 0) {
e97c83
+    return FALSE;
e97c83
+  }
e97c83
+
e97c83
+  //
e97c83
   // Seed the pseudorandom number generator with user-supplied value.
e97c83
   // NOTE: A cryptographic PRNG must be seeded with unpredictable data.
e97c83
   //
e97c83
diff --git a/Cryptlib/update.sh b/Cryptlib/update.sh
e97c83
index 96bbece..57b6631 100755
e97c83
--- a/Cryptlib/update.sh
e97c83
+++ b/Cryptlib/update.sh
e97c83
@@ -13,8 +13,13 @@ cp $DIR/Cipher/CryptAes.c Cipher/CryptAes.c
e97c83
 cp $DIR/Cipher/CryptTdes.c Cipher/CryptTdes.c
e97c83
 cp $DIR/Cipher/CryptArc4.c Cipher/CryptArc4.c
e97c83
 cp $DIR/Rand/CryptRand.c Rand/CryptRand.c
e97c83
-cp $DIR/Pk/CryptRsa.c Pk/CryptRsa.c
e97c83
-cp $DIR/Pk/CryptPkcs7.c Pk/CryptPkcs7.c
e97c83
+cp $DIR/Pk/CryptRsaBasic.c Pk/CryptRsaBasic.c
e97c83
+cp $DIR/Pk/CryptRsaExt.c Pk/CryptRsaExt.c
e97c83
+cp $DIR/Pk/CryptRsaExtNull.c Pk/CryptRsaExtNull.c
e97c83
+cp $DIR/Pk/CryptPkcs7Sign.c Pk/CryptPkcs7Sign.c
e97c83
+cp $DIR/Pk/CryptPkcs7SignNull.c Pk/CryptPkcs7SignNull.c
e97c83
+cp $DIR/Pk/CryptPkcs7Verify.c Pk/CryptPkcs7Verify.c
e97c83
+cp $DIR/Pk/CryptPkcs7VerifyNull.c Pk/CryptPkcs7VerifyNull.c
e97c83
 cp $DIR/Pk/CryptDh.c Pk/CryptDh.c
e97c83
 cp $DIR/Pk/CryptX509.c Pk/CryptX509.c
e97c83
 cp $DIR/Pk/CryptAuthenticode.c Pk/CryptAuthenticode.c
e97c83
-- 
e97c83
1.9.3
e97c83