Hi Ravee, The MULTIPLE_OWNER support is a vendor-defined feature (meaning, not in OCF Specifications), so the M_O behavior may not be clear if you’re reading the Specifications and looking at the M_O code.
However with M_O compiled out, what you are seeing looks correct: after completing the JustWorks OTM, the /cred Resource should have rowneruuid = <OBT UUID>, which should not be the Nil UUID (all zeroes). Can you explain if there is an issue/concern? Or are you just confirming what you see is expected? Thanks, Nathan From: iotivity-dev-boun...@lists.iotivity.org [mailto:iotivity-dev-boun...@lists.iotivity.org] On Behalf Of Raveendranath Kondrakunta Sent: Tuesday, February 27, 2018 8:31 AM To: a.vol...@samsung.com Cc: iotivity-dev@lists.iotivity.org Subject: Re: [dev] SaveOwnerPSK - Bug or Intentional Thanks Aleksey. Yes, from the Cred data structure, for MULTIPLE_OWNER scenario, there is eownerID. How is it expected to behave, if the stack is not built for MULTIPLE_OWNER support. I've built the stack without MULTIPLE_OWNER support. * Completed Ownership transfer, using just works * OBT is trying to install Owner Credential(OC) using SaveOwnerPSK * The persistent store(oic_svr_db_server.dat and oic_svr_db_client.dat) have Owner Credential (OC) stored in them without rowneruuid all zeros. -Ravee On Tue, Feb 27, 2018 at 8:54 PM, Oleksiy Volkov <a.vol...@samsung.com<mailto:a.vol...@samsung.com>> wrote: Hi Raveendranath, This isn't ownerid, this is eownerID for MULTIPLE_OWNER scenario. Best regards, Aleksey Volkov --------- Original Message --------- Sender : Raveendranath Kondrakunta <raveendranath.kondraku...@gmail.com<mailto:raveendranath.kondraku...@gmail.com>> Date : 2018-02-27 17:14 (GMT+2) Title : [dev] SaveOwnerPSK - Bug or Intentional Hi, While reading through the ownership transfer code, I came across this SaveOwnerPSK function. This was generating a Symmetric pair wise key. The ownerid of the credential is set NULL, meaning that rowneruuid is all zeros. Is this intentional or a bug? 802<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l802> static OCStackResult SaveOwnerPSK(OCProvisionDev_t *selectedDeviceInfo) 803<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l803> { 804<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l804> OIC_LOG(DEBUG, TAG, "IN SaveOwnerPSK"); 805<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l805> 806<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l806> OCStackResult res = OC_STACK_ERROR; 807<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l807> 808<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l808> CAEndpoint_t endpoint; 809<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l809> CopyDevAddrToEndpoint(&selectedDeviceInfo->endpoint, &endpoint); 810<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l810> endpoint.port = getSecurePort(selectedDeviceInfo); 811<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l811> 812<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l812> OicUuid_t ownerDeviceID = {.id={0}}; 813<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l813> if (OC_STACK_OK != GetDoxmDeviceID(&ownerDeviceID)) 814<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l814> { 815<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l815> OIC_LOG(ERROR, TAG, "Error while retrieving Owner's device ID"); 816<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l816> return res; 817<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l817> } 818<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l818> 819<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l819> OicSecKey_t ownerKey; 820<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l820> memset(&ownerKey, 0, sizeof(ownerKey)); 821<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l821> 822<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l822> uint8_t ownerPSK[OWNER_PSK_LENGTH_128] = { 0 }; 823<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l823> ownerKey.data = ownerPSK; 824<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l824> ownerKey.len = OWNER_PSK_LENGTH_128; 825<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l825> ownerKey.encoding = OIC_ENCODING_RAW; 826<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l826> 827<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l827> //Generating OwnerPSK 828<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l828> CAResult_t pskRet = CAGenerateOwnerPSK(&endpoint, 829<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l829> (uint8_t *)GetOxmString(selectedDeviceInfo->doxm->oxmSel), 830<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l830> strlen(GetOxmString(selectedDeviceInfo->doxm->oxmSel)), 831<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l831> ownerDeviceID.id, sizeof(ownerDeviceID.id), 832<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l832> selectedDeviceInfo->doxm->deviceID.id, sizeof(selectedDeviceInfo->doxm->deviceID.id), 833<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l833> ownerPSK, OWNER_PSK_LENGTH_128); 834<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l834> 835<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l835> if (CA_STATUS_OK == pskRet) 836<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l836> { 837<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l837> OIC_LOG(DEBUG, TAG,"Owner PSK dump:\n"); 838<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l838> OIC_LOG_BUFFER(DEBUG, TAG,ownerPSK, OWNER_PSK_LENGTH_128); 839<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l839> //Generating new credential for provisioning tool 840<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l840> OicSecCred_t *cred = GenerateCredential(&selectedDeviceInfo->doxm->deviceID, 841<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l841> SYMMETRIC_PAIR_WISE_KEY, NULL, 842<https://gerrit.iotivity.org/gerrit/gitweb?p=iotivity.git;a=blob;f=resource/csdk/security/provisioning/src/ownershiptransfermanager.c;h=b77e612c1ed7423e62ba8538f98eb8ca86f526fd;hb=HEAD#l842> &ownerKey, NULL); -Ravee _______________________________________________ iotivity-dev mailing list iotivity-dev@lists.iotivity.org<mailto:iotivity-dev@lists.iotivity.org> https://lists.iotivity.org/mailman/listinfo/iotivity-dev [cid:image001.gif@01D3AFA8.2DD95260] [http://ext.w1.samsung.net/mail/ext/v1/external/status/update?userid=a.volkov&do=bWFpbElEPTIwMTgwMjI3MTUyNDExZXVjbXMxcDI4YmQwZjc5ZTBjOTVjZTNhOTgwOGFiYmZhNmQ1ODM1NiZyZWNpcGllbnRBZGRyZXNzPXJhdmVlbmRyYW5hdGgua29uZHJha3VudGFAZ21haWwuY29t]
_______________________________________________ iotivity-dev mailing list iotivity-dev@lists.iotivity.org https://lists.iotivity.org/mailman/listinfo/iotivity-dev