From 3c5509b0805bc8fa446ee9690c8b9c9bf8d8d677 Mon Sep 17 00:00:00 2001 From: "so.yu" Date: Thu, 11 Apr 2013 11:24:04 +0900 Subject: [PATCH] Fix prevent issue #48440 Change-Id: I58b4894c1269107770f4b4c4e922d8ce640c6ea3 Signed-off-by: so.yu --- inc/FSecPkcs.h | 2 +- src/security/pkcs/FSecPkcs_PkcsUtility.cpp | 26 ++++++++++++-------------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/inc/FSecPkcs.h b/inc/FSecPkcs.h index 22f6447..242a6e3 100755 --- a/inc/FSecPkcs.h +++ b/inc/FSecPkcs.h @@ -53,7 +53,7 @@ * mac genaration/verification. * It also provides a standard format to store private key and encrypted private key. * - * For more information on the %Pkcs namespace features, see Pkcs Guide. @n + * For more information on the %Pkcs namespace features, see Pkcs Guide. @n * * The following diagram illustrates the relationships between the classes belonging to the %Pkcs namespace. * @image html security_pkcs_classdiagram.png diff --git a/src/security/pkcs/FSecPkcs_PkcsUtility.cpp b/src/security/pkcs/FSecPkcs_PkcsUtility.cpp index 40a3ac5..4eca2f6 100644 --- a/src/security/pkcs/FSecPkcs_PkcsUtility.cpp +++ b/src/security/pkcs/FSecPkcs_PkcsUtility.cpp @@ -1286,11 +1286,10 @@ _PkcsUtility::GenerateAlgorithmIdentifierStructureN(Tizen::Base::String algoOid, // fall through case _OID_TYPE_AES_256_CBC: { - SysTryCatch(NID_SEC_CRYPTO, pAlgoParam != null, r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); + InitialVector* pInitialVector = dynamic_cast< InitialVector* >(pAlgoParam); + SysTryCatch(NID_SEC_CRYPTO, pInitialVector != null, r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); - SysTryCatch(NID_SEC_CRYPTO, dynamic_cast< InitialVector* >(pAlgoParam) != null, r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); - - ivBuffer.Construct(((dynamic_cast< InitialVector* >(pAlgoParam))->GetInitialVector())); + ivBuffer.Construct(pInitialVector->GetInitialVector()); SysTryCatch(NID_SEC_CRYPTO, ivBuffer.GetRemaining() > 0, r = E_OUT_OF_MEMORY, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] The memory is insufficient."); pIv = ASN1_STRING_new(); @@ -1370,10 +1369,10 @@ _PkcsUtility::GenerateAlgorithmIdentifierStructureN(Tizen::Base::String algoOid, case _OID_TYPE_PBKDF2: { - SysTryCatch(NID_SEC_CRYPTO, pAlgoParam != null, r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); - SysTryCatch(NID_SEC_CRYPTO, dynamic_cast< Pkcs05PbKdf2Parameters* >(pAlgoParam) != null, r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); + Pkcs05PbKdf2Parameters* pPkcs05PbKdf2Param = dynamic_cast< Pkcs05PbKdf2Parameters* >(pAlgoParam); + SysTryCatch(NID_SEC_CRYPTO, pPkcs05PbKdf2Param != null, r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); - std::unique_ptr< ByteBuffer > pKdfBuffer((dynamic_cast< Pkcs05PbKdf2Parameters* >(pAlgoParam))->GetEncodedDataN()); + std::unique_ptr< ByteBuffer > pKdfBuffer(pPkcs05PbKdf2Param->GetEncodedDataN()); if (pKdfBuffer == null) { r = GetLastResult(); @@ -1406,11 +1405,10 @@ _PkcsUtility::GenerateAlgorithmIdentifierStructureN(Tizen::Base::String algoOid, case _OID_TYPE_PBES2: { + Pkcs05PbEs2Parameters* pPkcs05PbEs2Param = dynamic_cast< Pkcs05PbEs2Parameters* >(pAlgoParam); + SysTryCatch(NID_SEC_CRYPTO, pPkcs05PbEs2Param != null, r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); - SysTryCatch(NID_SEC_CRYPTO, pAlgoParam != null, r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); - SysTryCatch(NID_SEC_CRYPTO, dynamic_cast< Pkcs05PbEs2Parameters* >(pAlgoParam) != null, r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); - - std::unique_ptr< ByteBuffer > pbEs2Buffer((dynamic_cast< Pkcs05PbEs2Parameters* >(pAlgoParam))->GetEncodedDataN()); + std::unique_ptr< ByteBuffer > pbEs2Buffer(pPkcs05PbEs2Param->GetEncodedDataN()); if (pbEs2Buffer == null) { r = GetLastResult(); @@ -1443,10 +1441,10 @@ _PkcsUtility::GenerateAlgorithmIdentifierStructureN(Tizen::Base::String algoOid, case _OID_TYPE_PBMAC1: { - SysTryCatch(NID_SEC_CRYPTO, pAlgoParam != null, r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); - SysTryCatch(NID_SEC_CRYPTO, dynamic_cast< Pkcs05PbMacParameters* >(pAlgoParam) != null, r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); + Pkcs05PbMacParameters* pPkcs05PbMacParam = dynamic_cast< Pkcs05PbMacParameters* >(pAlgoParam); + SysTryCatch(NID_SEC_CRYPTO, pPkcs05PbMacParam != null, r = E_INVALID_ARG, E_INVALID_ARG, "[E_INVALID_ARG] The specified input parameter is invalid."); - std::unique_ptr< ByteBuffer > pbMacBuffer((dynamic_cast< Pkcs05PbMacParameters* >(pAlgoParam))->GetEncodedDataN()); + std::unique_ptr< ByteBuffer > pbMacBuffer(pPkcs05PbKdf2Param->GetEncodedDataN()); if (pbMacBuffer == null) { r = GetLastResult(); -- 2.7.4