summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-crypt/tpm-tools/files/tpm-tools-1.3.9.1-openssl-1.1.patch')
-rw-r--r--app-crypt/tpm-tools/files/tpm-tools-1.3.9.1-openssl-1.1.patch241
1 files changed, 0 insertions, 241 deletions
diff --git a/app-crypt/tpm-tools/files/tpm-tools-1.3.9.1-openssl-1.1.patch b/app-crypt/tpm-tools/files/tpm-tools-1.3.9.1-openssl-1.1.patch
deleted file mode 100644
index a5747dbca709..000000000000
--- a/app-crypt/tpm-tools/files/tpm-tools-1.3.9.1-openssl-1.1.patch
+++ /dev/null
@@ -1,241 +0,0 @@
-From 31d9cebc43833de939a0e13be0110ed830b66cbd Mon Sep 17 00:00:00 2001
-From: Alon Bar-Lev <alon.barlev@gmail.com>
-Date: Sat, 8 Dec 2018 23:28:54 +0200
-Subject: [PATCH] data_import.c: support openssl-1.1
-
-Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
-Bug: https://sourceforge.net/p/trousers/bugs/227/
----
- src/data_mgmt/data_import.c | 159 +++++++++++++++++++++++++-----------
- 1 file changed, 112 insertions(+), 47 deletions(-)
-
-diff --git a/src/data_mgmt/data_import.c b/src/data_mgmt/data_import.c
-index f534717..33c76e7 100644
---- a/src/data_mgmt/data_import.c
-+++ b/src/data_mgmt/data_import.c
-@@ -39,6 +39,30 @@
- #include <openssl/evp.h>
- #include <openssl/err.h>
-
-+#if OPENSSL_VERSION_NUMBER < 0x10100000L || (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x20700000L)
-+static void RSA_get0_key(const RSA *r, const BIGNUM **n, const BIGNUM **e, const BIGNUM **d) {
-+ if ( n )
-+ *n = r->n;
-+ if ( e )
-+ *e = r->e;
-+ if ( d )
-+ *d = r->d;
-+}
-+static void RSA_get0_factors(const RSA *r, const BIGNUM **p, const BIGNUM **q) {
-+ if ( p )
-+ *p = r->p;
-+ if ( q )
-+ *q = r->q;
-+}
-+static void RSA_get0_crt_params(const RSA *r, const BIGNUM **dmp1, const BIGNUM **dmq1, const BIGNUM **iqmp) {
-+ if ( dmp1 )
-+ *dmp1 = r->dmp1;
-+ if ( dmq1 )
-+ *dmq1 = r->dmq1;
-+ if ( iqmp )
-+ *iqmp = r->iqmp;
-+}
-+#endif
-
- /*
- * Global variables
-@@ -372,7 +396,7 @@ readX509Cert( const char *a_pszFile,
- goto out;
- }
-
-- if ( EVP_PKEY_type( pKey->type ) != EVP_PKEY_RSA ) {
-+ if ( EVP_PKEY_base_id( pKey ) != EVP_PKEY_RSA ) {
- logError( TOKEN_RSA_KEY_ERROR );
-
- X509_free( pX509 );
-@@ -691,17 +715,35 @@ createRsaPubKeyObject( RSA *a_pRsa,
-
- int rc = -1;
-
-- int nLen = BN_num_bytes( a_pRsa->n );
-- int eLen = BN_num_bytes( a_pRsa->e );
-+ const BIGNUM *bn;
-+ const BIGNUM *be;
-+ int nLen;
-+ int eLen;
-+ CK_BYTE *n = NULL;
-+ CK_BYTE *e = NULL;
-+
-+ RSA_get0_key( a_pRsa, &bn, &be, NULL );
-+
-+ nLen = BN_num_bytes( bn );
-+ eLen = BN_num_bytes( be );
-+ n = malloc( nLen );
-+ e = malloc( eLen );
-+
-+ if ( !n || !e ) {
-+ logError( TOKEN_MEMORY_ERROR );
-+ goto out;
-+ }
-+
-+ // Get binary representations of the RSA key information
-+ BN_bn2bin( bn, n );
-+ BN_bn2bin( be, e );
-
-+ {
- CK_RV rv;
-
- CK_BBOOL bTrue = TRUE;
- CK_BBOOL bFalse = FALSE;
-
-- CK_BYTE *n = malloc( nLen );
-- CK_BYTE *e = malloc( eLen );
--
- CK_OBJECT_CLASS clPubClass = CKO_PUBLIC_KEY;
- CK_KEY_TYPE tKeyType = CKK_RSA;
- CK_BBOOL bPrivate = ( !g_bPublic ) ? TRUE : FALSE;
-@@ -726,21 +768,13 @@ createRsaPubKeyObject( RSA *a_pRsa,
-
- *a_hObject = 0;
-
-- if ( !n || !e ) {
-- logError( TOKEN_MEMORY_ERROR );
-- goto out;
-- }
--
-- // Get binary representations of the RSA key information
-- BN_bn2bin( a_pRsa->n, n );
-- BN_bn2bin( a_pRsa->e, e );
--
- // Create the RSA public key object
- rv = createObject( a_hSession, tAttr, ulAttrCount, a_hObject );
- if ( rv != CKR_OK )
- goto out;
-
- rc = 0;
-+ }
-
- out:
- free( n );
-@@ -760,29 +794,74 @@ createRsaPrivKeyObject( RSA *a_pRsa,
-
- int rc = -1;
-
-- int nLen = BN_num_bytes( a_pRsa->n );
-- int eLen = BN_num_bytes( a_pRsa->e );
-- int dLen = BN_num_bytes( a_pRsa->d );
-- int pLen = BN_num_bytes( a_pRsa->p );
-- int qLen = BN_num_bytes( a_pRsa->q );
-- int dmp1Len = BN_num_bytes( a_pRsa->dmp1 );
-- int dmq1Len = BN_num_bytes( a_pRsa->dmq1 );
-- int iqmpLen = BN_num_bytes( a_pRsa->iqmp );
-+ const BIGNUM *bn;
-+ const BIGNUM *be;
-+ const BIGNUM *bd;
-+ const BIGNUM *bp;
-+ const BIGNUM *bq;
-+ const BIGNUM *bdmp1;
-+ const BIGNUM *bdmq1;
-+ const BIGNUM *biqmp;
-+ int nLen;
-+ int eLen;
-+ int dLen;
-+ int pLen;
-+ int qLen;
-+ int dmp1Len;
-+ int dmq1Len;
-+ int iqmpLen;
-+ CK_BYTE *n = NULL;
-+ CK_BYTE *e = NULL;
-+ CK_BYTE *d = NULL;
-+ CK_BYTE *p = NULL;
-+ CK_BYTE *q = NULL;
-+ CK_BYTE *dmp1 = NULL;
-+ CK_BYTE *dmq1 = NULL;
-+ CK_BYTE *iqmp = NULL;
-+
-+ RSA_get0_key( a_pRsa, &bn, &be, &bd);
-+ RSA_get0_factors( a_pRsa, &bp, &bq);
-+ RSA_get0_crt_params( a_pRsa, &bdmp1, &bdmq1, &biqmp );
-+
-+ nLen = BN_num_bytes( bn );
-+ eLen = BN_num_bytes( be );
-+ dLen = BN_num_bytes( bd );
-+ pLen = BN_num_bytes( bp );
-+ qLen = BN_num_bytes( bq );
-+ dmp1Len = BN_num_bytes( bdmp1 );
-+ dmq1Len = BN_num_bytes( bdmq1 );
-+ iqmpLen = BN_num_bytes( biqmp );
-+
-+ n = malloc( nLen );
-+ e = malloc( eLen );
-+ d = malloc( dLen );
-+ p = malloc( pLen );
-+ q = malloc( qLen );
-+ dmp1 = malloc( dmp1Len );
-+ dmq1 = malloc( dmq1Len );
-+ iqmp = malloc( iqmpLen );
-
-+ if ( !n || !e || !d || !p || !q || !dmp1 || !dmq1 || !iqmp ) {
-+ logError( TOKEN_MEMORY_ERROR );
-+ goto out;
-+ }
-+
-+ // Get binary representations of the RSA key information
-+ BN_bn2bin( bn, n );
-+ BN_bn2bin( be, e );
-+ BN_bn2bin( bd, d );
-+ BN_bn2bin( bp, p );
-+ BN_bn2bin( bq, q );
-+ BN_bn2bin( bdmp1, dmp1 );
-+ BN_bn2bin( bdmq1, dmq1 );
-+ BN_bn2bin( biqmp, iqmp );
-+
-+ {
- CK_RV rv;
-
- CK_BBOOL bTrue = TRUE;
- CK_BBOOL bFalse = FALSE;
-
-- CK_BYTE *n = malloc( nLen );
-- CK_BYTE *e = malloc( eLen );
-- CK_BYTE *d = malloc( dLen );
-- CK_BYTE *p = malloc( pLen );
-- CK_BYTE *q = malloc( qLen );
-- CK_BYTE *dmp1 = malloc( dmp1Len );
-- CK_BYTE *dmq1 = malloc( dmq1Len );
-- CK_BYTE *iqmp = malloc( iqmpLen );
--
- CK_OBJECT_CLASS clPrivClass = CKO_PRIVATE_KEY;
- CK_KEY_TYPE tKeyType = CKK_RSA;
- CK_BBOOL bPrivate = ( !g_bPublic ) ? TRUE : FALSE;
-@@ -815,25 +894,11 @@ createRsaPrivKeyObject( RSA *a_pRsa,
-
- *a_hObject = 0;
-
-- if ( !n || !e || !d || !p || !q || !dmp1 || !dmq1 || !iqmp ) {
-- logError( TOKEN_MEMORY_ERROR );
-- goto out;
-- }
--
-- // Get binary representations of the RSA key information
-- BN_bn2bin( a_pRsa->n, n );
-- BN_bn2bin( a_pRsa->e, e );
-- BN_bn2bin( a_pRsa->d, d );
-- BN_bn2bin( a_pRsa->p, p );
-- BN_bn2bin( a_pRsa->q, q );
-- BN_bn2bin( a_pRsa->dmp1, dmp1 );
-- BN_bn2bin( a_pRsa->dmq1, dmq1 );
-- BN_bn2bin( a_pRsa->iqmp, iqmp );
--
- // Create the RSA private key object
- rv = createObject( a_hSession, tAttr, ulAttrCount, a_hObject );
- if ( rv != CKR_OK )
- goto out;
-+ }
-
- rc = 0;
-
---
-2.19.2
-