From 392f40ef1aa978a12e4b6d030c254c8dd4c8fd85 Mon Sep 17 00:00:00 2001 From: Oleksii Beketov Date: Fri, 4 Oct 2019 15:16:42 +0300 Subject: [PATCH] [IOT-3301] Change CSR CBOR encoding Encode CSR as text string instead of byte string in case of PEM encoded CSR Change-Id: I849603f837103742156c4c157be44cce95b3a89b Signed-off-by: Oleksii Beketov --- resource/csdk/security/src/csrresource.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/resource/csdk/security/src/csrresource.c b/resource/csdk/security/src/csrresource.c index be90ca79cb..221b6e326c 100644 --- a/resource/csdk/security/src/csrresource.c +++ b/resource/csdk/security/src/csrresource.c @@ -155,7 +155,14 @@ static OCStackResult CSRToCBORPayload(const uint8_t *csr, size_t csrLen, OicEnco // Create CSR string entry cborEncoderResult = cbor_encode_text_string(&csrRootMap, OIC_JSON_CSR_NAME, strlen(OIC_JSON_CSR_NAME)); VERIFY_CBOR_SUCCESS_OR_OUT_OF_MEMORY(TAG, cborEncoderResult, "Failed adding CSR name."); - cborEncoderResult = cbor_encode_byte_string(&csrRootMap, csr, csrLen); + if (OIC_ENCODING_PEM == encoding) + { + cborEncoderResult = cbor_encode_text_string(&csrRootMap, (const char *)csr, csrLen); + } + else + { + cborEncoderResult = cbor_encode_byte_string(&csrRootMap, csr, csrLen); + } VERIFY_CBOR_SUCCESS_OR_OUT_OF_MEMORY(TAG, cborEncoderResult, "Failed adding CSR value."); // Create encoding entry -- GitLab