Fixed json2cbor to handle private Data
authorAshwini Kumar <k.ashwini@samsung.com>
Mon, 21 Mar 2016 05:16:26 +0000 (10:46 +0530)
committerRandeep Singh <randeep.s@samsung.com>
Mon, 21 Mar 2016 13:35:25 +0000 (13:35 +0000)
 - defined MAX_RANGE for file read

Change-Id: Ia7c2b30e1bb97d2aee239cf0916eab52c0d404c4
Signed-off-by: Ashwini Kumar <k.ashwini@samsung.com>
Reviewed-on: https://gerrit.iotivity.org/gerrit/6117
Tested-by: jenkins-iotivity <jenkins-iotivity@opendaylight.org>
Reviewed-by: dongik Lee <dongik.lee@samsung.com>
Reviewed-by: Randeep Singh <randeep.s@samsung.com>
resource/csdk/security/tool/json2cbor.c
resource/csdk/stack/samples/linux/secure/oic_amss_db.dat
resource/csdk/stack/samples/linux/secure/oic_svr_db_client.dat
resource/csdk/stack/samples/linux/secure/oic_svr_db_server.dat

index 3739eab..61a9303 100644 (file)
@@ -41,7 +41,7 @@
 #include "security_internals.h"
 
 #define TAG  "JSON2CBOR"
-#define MAX_RANGE   18446744073709551615
+#define MAX_RANGE   ((size_t)-1)
 //SVR database buffer block size
 static const size_t DB_FILE_SIZE_BLOCK = 1023;
 
@@ -768,7 +768,16 @@ OicSecCred_t * JSONToCredBin(const char * jsonStr)
                     jsonObjLen = strlen(jsonObj->valuestring) + 1;
                     cred->privateData.data = (uint8_t *)OICCalloc(1, jsonObjLen);
                     VERIFY_NON_NULL(TAG, (cred->privateData.data), ERROR);
-                    memcpy(cred->privateData.data, jsonObj->valuestring, jsonObjLen);
+                    outLen = 0;
+                    uint8_t pskKey[OWNER_PSK_LENGTH_256] = {};
+
+                    memset(pskKey, 0, sizeof(pskKey));
+                    b64Ret = b64Decode(jsonObj->valuestring, strlen(jsonObj->valuestring),
+                            pskKey, sizeof(pskKey), &outLen);
+                    VERIFY_SUCCESS(TAG, (b64Ret == B64_OK &&
+                                outLen <= OWNER_PSK_LENGTH_256), ERROR);
+                    memcpy(cred->privateData.data, pskKey, outLen);
+                    cred->privateData.len = outLen;
                 }
 #ifdef __WITH_X509__
                 else if (SIGNED_ASYMMETRIC_KEY == cred->credType && cJSON_Object == jsonObj->type)
index 3ece409..4a427c4 100644 (file)
Binary files a/resource/csdk/stack/samples/linux/secure/oic_amss_db.dat and b/resource/csdk/stack/samples/linux/secure/oic_amss_db.dat differ
index e258f9e..e2de34b 100644 (file)
Binary files a/resource/csdk/stack/samples/linux/secure/oic_svr_db_client.dat and b/resource/csdk/stack/samples/linux/secure/oic_svr_db_client.dat differ
index 2bbe94b..935d98d 100644 (file)
Binary files a/resource/csdk/stack/samples/linux/secure/oic_svr_db_server.dat and b/resource/csdk/stack/samples/linux/secure/oic_svr_db_server.dat differ