Fix prevent issue #48440
authorso.yu <so.yu@samsung.com>
Thu, 11 Apr 2013 02:24:04 +0000 (11:24 +0900)
committerso.yu <so.yu@samsung.com>
Thu, 11 Apr 2013 02:24:17 +0000 (11:24 +0900)
Change-Id: I58b4894c1269107770f4b4c4e922d8ce640c6ea3
Signed-off-by: so.yu <so.yu@samsung.com>
inc/FSecPkcs.h
src/security/pkcs/FSecPkcs_PkcsUtility.cpp

index 22f6447..242a6e3 100755 (executable)
@@ -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 <a href="../org.tizen.native.appprogramming/html/guide/security/pkcs.htm">Pkcs Guide</a>. @n
+ *      For more information on the %Pkcs namespace features, see <a href="../org.tizen.native.appprogramming/html/guide/security/public_key_cryptography.htm">Pkcs Guide</a>. @n
  *
  *     The following diagram illustrates the relationships between the classes belonging to the %Pkcs namespace.
  *     @image html security_pkcs_classdiagram.png
index 40a3ac5..4eca2f6 100644 (file)
@@ -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();