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