Hi Ravee,

 

It's not a bug, ca cert should be stored in public data now.

You can look at details in https://gerrit.iotivity.org/gerrit/23955.

 

Best regards,

Aleksey Volkov

 

 

--------- Original Message ---------

Sender : Raveendranath Kondrakunta <raveendranath.kondraku...@gmail.com>

Date : 2018-03-22 12:07 (GMT+2)

Title : [dev] Bug in GetCaCert() of credresource.c

 

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

 

 

 

 

  

_______________________________________________
iotivity-dev mailing list
iotivity-dev@lists.iotivity.org
https://lists.iotivity.org/mailman/listinfo/iotivity-dev

Reply via email to