Hi, CA Cert is stored in optionalData of the OicSecCred structure. *SRPSaveTrustCertChain*, does handle this correctly. But, the implementation of *GetCaCert *is using temp->publicData. This should be temp->optionalData.
struct OicSecCred { // <Attribute ID>:<Read/Write>:<Multiple/Single>:<Mandatory?>:<Type> uint16_t credId; // 0:R:S:Y:UINT16 OicUuid_t subject; // 1:R:S:Y:oic.uuid // If roleId.id is all zeroes, this property is not set. OicSecRole_t roleId; // 2:R:M:N:oic.sec.roletype OicSecCredType_t credType; // 3:R:S:Y:oic.sec.credtype #if defined(__WITH_DTLS__) || defined(__WITH_TLS__) OicSecKey_t publicData; // own cerificate chain char *credUsage; // 4:R:S:N:String * OicSecOpt_t optionalData; // CA's cerificate chain* #endif /* __WITH_DTLS__ or __WITH_TLS__*/ OicSecKey_t privateData; // 6:R:S:N:oic.sec.key char *period; // 7:R:S:N:String // OicUuid_t rownerID; // 8:R:S:Y:oic.uuid #ifdef MULTIPLE_OWNER OicUuid_t *eownerID; //9:R:S:N:oic.uuid #endif //MULTIPLE_OWNER OicSecCred_t *next; }; -Ravee
_______________________________________________ iotivity-dev mailing list iotivity-dev@lists.iotivity.org https://lists.iotivity.org/mailman/listinfo/iotivity-dev