Don't pass public key for RSA decryption 19/206419/1 accepted/tizen/unified/20190602.221903 submit/tizen/20190520.091210 submit/tizen/20190522.051353 submit/tizen/20190529.045654
authorKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Fri, 17 May 2019 12:23:00 +0000 (14:23 +0200)
committerKrzysztof Jackiewicz <k.jackiewicz@samsung.com>
Fri, 17 May 2019 12:25:28 +0000 (14:25 +0200)
Change-Id: Id90f67c03fb1f3f83d06e66bf86e48b3f50cc98c

ssflib/src/ssf_crypto.cpp

index 31a17ea..bbd5233 100644 (file)
@@ -2528,14 +2528,11 @@ TEE_Result TEE_AsymmetricDecrypt(TEE_OperationHandle operation, const TEE_Attrib
        crypto_internal_keystruct key;
 
        unsigned char module_buf[512] = {0x0, };
-       unsigned char pub_buf[512] = {0x0, };
        unsigned char priv_buf[512] = {0x0, };
 
        memset(&key, 0x00, sizeof(crypto_internal_keystruct));
        key.rsa_modulus.size = sizeof(module_buf);
        key.rsa_modulus.buffer = module_buf;
-       key.rsa_public.size = sizeof(pub_buf);
-       key.rsa_public.buffer = pub_buf;
        key.rsa_private.size = sizeof(priv_buf);
        key.rsa_private.buffer = priv_buf;
 
@@ -2552,10 +2549,6 @@ TEE_Result TEE_AsymmetricDecrypt(TEE_OperationHandle operation, const TEE_Attrib
                (void*)key.rsa_modulus.buffer, (size_t*)&key.rsa_modulus.size) != TEE_SUCCESS) {
                CRYPTO_PANIC;
        }
-       if (TEE_GetObjectBufferAttribute(op->key1, TEE_ATTR_RSA_PUBLIC_EXPONENT,
-               (void*)key.rsa_public.buffer, (size_t*)&key.rsa_public.size) != TEE_SUCCESS) {
-               CRYPTO_PANIC;
-       }
        if (TEE_GetObjectBufferAttribute(op->key1, TEE_ATTR_RSA_PRIVATE_EXPONENT,
                (void*)key.rsa_private.buffer, (size_t*)&key.rsa_private.size) != TEE_SUCCESS) {
                CRYPTO_PANIC;
@@ -2582,8 +2575,8 @@ TEE_Result TEE_AsymmetricDecrypt(TEE_OperationHandle operation, const TEE_Attrib
                CRYPTO_PANIC;
        }
 #endif
-       if(!key.rsa_modulus.buffer || !key.rsa_public.buffer || !key.rsa_private.buffer
-               /*|| !key.rsa_prime1.buffer || !key.rsa_prime2.buffer || !key.rsa_exponent1.buffer
+       if(!key.rsa_modulus.buffer || !key.rsa_private.buffer /*|| !key.rsa_public.buffer
+               || !key.rsa_prime1.buffer || !key.rsa_prime2.buffer || !key.rsa_exponent1.buffer
                || !key.rsa_exponent2.buffer || !key.rsa_coefficient.buffer*/) {
                CRYPTO_PANIC;
        }