From de70f7bd83b6bca731b343f3528817ee0d9ff7ea Mon Sep 17 00:00:00 2001 From: Sachin Agrawal Date: Thu, 16 Jul 2015 17:05:13 -0700 Subject: [PATCH] Add README for Provisioning Tool Using Provisioning tool sample in Security module is not straight-forward and it may be tricky for a new user to get familiar with it. This README details all the steps and files needed for a successful Just Works Provisioning. Change-Id: I4afbcbbb5ad6310df42810bc6d3ada663b2ce243 Signed-off-by: Sachin Agrawal Reviewed-on: https://gerrit.iotivity.org/gerrit/1699 Tested-by: jenkins-iotivity --- .../sample/README-Provisioning-Tool.txt | 23 ++++++++++++ .../csdk/security/provisioning/sample/SConscript | 4 +- .../{oic_svr_db.json => oic_svr_db_prov_tool.json} | 0 .../sample/oic_svr_db_unowned_server.json | 43 ++++++++++++++++++++++ .../provisioning/sample/provisioningclient.c | 4 +- 5 files changed, 71 insertions(+), 3 deletions(-) create mode 100644 resource/csdk/security/provisioning/sample/README-Provisioning-Tool.txt rename resource/csdk/security/provisioning/sample/{oic_svr_db.json => oic_svr_db_prov_tool.json} (100%) create mode 100644 resource/csdk/security/provisioning/sample/oic_svr_db_unowned_server.json diff --git a/resource/csdk/security/provisioning/sample/README-Provisioning-Tool.txt b/resource/csdk/security/provisioning/sample/README-Provisioning-Tool.txt new file mode 100644 index 0000000..45d750f --- /dev/null +++ b/resource/csdk/security/provisioning/sample/README-Provisioning-Tool.txt @@ -0,0 +1,23 @@ +LAST UPDATED 7/16/2015 + +To execute Provisioning Tool sample: + +1) Build IoTivity with security enabled: + $ cd + $ scons resource SECURED=1 + +2) Verify Provisioning Tool functionality using secure sample apps: + + On Resource Server Device which needs to be 'provisioned': + $ cd /out/<...>/release/resource/csdk/stack/samples/linux/secure + $ export LD_LIBRARY_PATH=/out/<...>/release + $ cp ../../../../security/provisioning/sample/oic_svr_db_unowned_server.json oic_svr_db_server.json + $ ./ocserverbasicops + + + On Provisioning Tool Device: + $ cd /out/<...>/release/resource/csdk/security/provisioning/sample + $ ./provisioningclient + + Follow the prompts on Provisioning Tool device and provisioning should be completed + successfully. You should see a message 'Provisioning Success~!!'. diff --git a/resource/csdk/security/provisioning/sample/SConscript b/resource/csdk/security/provisioning/sample/SConscript index 1152bd9..1947307 100755 --- a/resource/csdk/security/provisioning/sample/SConscript +++ b/resource/csdk/security/provisioning/sample/SConscript @@ -72,4 +72,6 @@ sec_provisioning_src_dir = src_dir + '/resource/csdk/security/provisioning/sampl sec_provisioning_build_dir = env.get('BUILD_DIR') +'/resource/csdk/security/provisioning/sample/' provisioning_env.Alias("install", provisioning_env.Install( sec_provisioning_build_dir, - sec_provisioning_src_dir + 'oic_svr_db.json')) + sec_provisioning_src_dir + 'oic_svr_db_prov_tool.json')) +provisioning_env.Alias("install", provisioning_env.Install( sec_provisioning_build_dir, + sec_provisioning_src_dir + 'oic_svr_db_unowned_server.json')) diff --git a/resource/csdk/security/provisioning/sample/oic_svr_db.json b/resource/csdk/security/provisioning/sample/oic_svr_db_prov_tool.json similarity index 100% rename from resource/csdk/security/provisioning/sample/oic_svr_db.json rename to resource/csdk/security/provisioning/sample/oic_svr_db_prov_tool.json diff --git a/resource/csdk/security/provisioning/sample/oic_svr_db_unowned_server.json b/resource/csdk/security/provisioning/sample/oic_svr_db_unowned_server.json new file mode 100644 index 0000000..8b18b67 --- /dev/null +++ b/resource/csdk/security/provisioning/sample/oic_svr_db_unowned_server.json @@ -0,0 +1,43 @@ +{ + "acl": [ + { + "sub": "Kg==", + "rsrc": [ + "/oic/res", + "/oic/d", + "/oic/p", + "/oic/res/types/d", + "/oic/ad", + "/oic/sec/acl", + "/oic/sec/svc", + "/oic/sec/amacl" + ], + "perms": 2, + "ownrs" : ["MTExMTExMTExMTExMTExMQ=="] + }, + { + "sub": "Kg==", + "rsrc": [ + "/oic/sec/doxm", + "/oic/sec/pstat" + ], + "perms": 6, + "ownrs" : ["MTExMTExMTExMTExMTExMQ=="] + } + ], + "pstat": { + "isop": false, + "deviceid": "ZGV2aWNlaWQAAAAAABhanw==", + "ch": 0, + "cm": 0, + "tm": 0, + "om": 3, + "sm": [3] + }, + "doxm": { + "oxm": [0], + "oxmsel": 0, + "owned": false, + "deviceid": "MTExMTExMTExMTExMTExMQ==" + } +} diff --git a/resource/csdk/security/provisioning/sample/provisioningclient.c b/resource/csdk/security/provisioning/sample/provisioningclient.c index 2284155..b342959 100755 --- a/resource/csdk/security/provisioning/sample/provisioningclient.c +++ b/resource/csdk/security/provisioning/sample/provisioningclient.c @@ -41,7 +41,7 @@ #define TAG "provisioningclient" static OicSecAcl_t *gAcl = NULL; -static char CRED_FILE[] = "oic_svr_db.json"; +static char PROV_TOOL_DB_FILE[] = "oic_svr_db_prov_tool.json"; /** * Perform cleanup for ACL list @@ -233,7 +233,7 @@ static SPResult InputACL(OicSecAcl_t *acl) FILE* client_fopen(const char *path, const char *mode) { (void)path; - return fopen(CRED_FILE, mode); + return fopen(PROV_TOOL_DB_FILE, mode); } /** -- 2.7.4