Dependencies:   MMA7660 LM75B

Committer:
MACRUM
Date:
Sat Jun 30 01:40:30 2018 +0000
Revision:
0:119624335925
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MACRUM 0:119624335925 1 // ----------------------------------------------------------------------------
MACRUM 0:119624335925 2 // Copyright 2016-2017 ARM Ltd.
MACRUM 0:119624335925 3 //
MACRUM 0:119624335925 4 // SPDX-License-Identifier: Apache-2.0
MACRUM 0:119624335925 5 //
MACRUM 0:119624335925 6 // Licensed under the Apache License, Version 2.0 (the "License");
MACRUM 0:119624335925 7 // you may not use this file except in compliance with the License.
MACRUM 0:119624335925 8 // You may obtain a copy of the License at
MACRUM 0:119624335925 9 //
MACRUM 0:119624335925 10 // http://www.apache.org/licenses/LICENSE-2.0
MACRUM 0:119624335925 11 //
MACRUM 0:119624335925 12 // Unless required by applicable law or agreed to in writing, software
MACRUM 0:119624335925 13 // distributed under the License is distributed on an "AS IS" BASIS,
MACRUM 0:119624335925 14 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
MACRUM 0:119624335925 15 // See the License for the specific language governing permissions and
MACRUM 0:119624335925 16 // limitations under the License.
MACRUM 0:119624335925 17 // ----------------------------------------------------------------------------
MACRUM 0:119624335925 18
MACRUM 0:119624335925 19 #include <string.h>
MACRUM 0:119624335925 20 #include "key_config_manager.h"
MACRUM 0:119624335925 21 #include "CloudClientStorage.h"
MACRUM 0:119624335925 22 #include "mbed-trace/mbed_trace.h"
MACRUM 0:119624335925 23
MACRUM 0:119624335925 24 #define TRACE_GROUP "mClt"
MACRUM 0:119624335925 25
MACRUM 0:119624335925 26 ccs_status_e uninitialize_storage(void)
MACRUM 0:119624335925 27 {
MACRUM 0:119624335925 28 tr_debug("CloudClientStorage::uninitialize_storage");
MACRUM 0:119624335925 29
MACRUM 0:119624335925 30 kcm_status_e status = kcm_finalize();
MACRUM 0:119624335925 31 if(status != KCM_STATUS_SUCCESS) {
MACRUM 0:119624335925 32 tr_error("CloudClientStorage::uninitialize_storage - error %d", status);
MACRUM 0:119624335925 33 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 34 }
MACRUM 0:119624335925 35 return CCS_STATUS_SUCCESS;
MACRUM 0:119624335925 36 }
MACRUM 0:119624335925 37
MACRUM 0:119624335925 38 ccs_status_e initialize_storage(void)
MACRUM 0:119624335925 39 {
MACRUM 0:119624335925 40 tr_debug("CloudClientStorage::initialize_storage");
MACRUM 0:119624335925 41 kcm_status_e status = kcm_init();
MACRUM 0:119624335925 42 if(status != KCM_STATUS_SUCCESS) {
MACRUM 0:119624335925 43 tr_error("CloudClientStorage::::initialize_storage - error %d", status);
MACRUM 0:119624335925 44 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 45 }
MACRUM 0:119624335925 46 return CCS_STATUS_SUCCESS;
MACRUM 0:119624335925 47 }
MACRUM 0:119624335925 48
MACRUM 0:119624335925 49 ccs_status_e get_config_parameter(const char* key, uint8_t *buffer, const size_t buffer_size, size_t *value_length)
MACRUM 0:119624335925 50 {
MACRUM 0:119624335925 51 if (key == NULL || buffer == NULL || buffer_size == 0) {
MACRUM 0:119624335925 52 tr_error("CloudClientStorage::get_config_parameter error, invalid parameters");
MACRUM 0:119624335925 53 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 54 }
MACRUM 0:119624335925 55
MACRUM 0:119624335925 56 tr_debug("CloudClientStorage::get_config_parameter [%s]", key);
MACRUM 0:119624335925 57
MACRUM 0:119624335925 58 // Get parameter value to buffer
MACRUM 0:119624335925 59 kcm_status_e kcm_status = kcm_item_get_data((const uint8_t*)key,
MACRUM 0:119624335925 60 strlen(key),
MACRUM 0:119624335925 61 KCM_CONFIG_ITEM,
MACRUM 0:119624335925 62 buffer,
MACRUM 0:119624335925 63 buffer_size,
MACRUM 0:119624335925 64 value_length);
MACRUM 0:119624335925 65
MACRUM 0:119624335925 66 if (kcm_status != KCM_STATUS_SUCCESS) {
MACRUM 0:119624335925 67 tr_debug("CloudClientStorage::get_config_parameter [%s] kcm get error %d", key, kcm_status);
MACRUM 0:119624335925 68 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 69 }
MACRUM 0:119624335925 70
MACRUM 0:119624335925 71 return CCS_STATUS_SUCCESS;
MACRUM 0:119624335925 72 }
MACRUM 0:119624335925 73
MACRUM 0:119624335925 74 ccs_status_e get_config_parameter_string(const char* key, uint8_t *buffer, const size_t buffer_size)
MACRUM 0:119624335925 75 {
MACRUM 0:119624335925 76 size_t len = 0;
MACRUM 0:119624335925 77 ccs_status_e status = get_config_parameter(key, buffer, buffer_size - 1, &len);
MACRUM 0:119624335925 78
MACRUM 0:119624335925 79 if (status == CCS_STATUS_SUCCESS) {
MACRUM 0:119624335925 80 // Null terminate after buffer value
MACRUM 0:119624335925 81 buffer[len] = 0;
MACRUM 0:119624335925 82 }
MACRUM 0:119624335925 83
MACRUM 0:119624335925 84 return status;
MACRUM 0:119624335925 85 }
MACRUM 0:119624335925 86
MACRUM 0:119624335925 87
MACRUM 0:119624335925 88 ccs_status_e set_config_parameter(const char* key, const uint8_t *buffer, const size_t buffer_size)
MACRUM 0:119624335925 89 {
MACRUM 0:119624335925 90 if (key == NULL || buffer == NULL || buffer_size == 0) {
MACRUM 0:119624335925 91 tr_error("CloudClientStorage::set_config_parameter error, invalid parameters");
MACRUM 0:119624335925 92 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 93 }
MACRUM 0:119624335925 94
MACRUM 0:119624335925 95 tr_debug("CloudClientStorage::set_config_parameter [%s]", key);
MACRUM 0:119624335925 96
MACRUM 0:119624335925 97 // Set parameter to storage
MACRUM 0:119624335925 98 kcm_status_e kcm_status = kcm_item_store((const uint8_t*)key,
MACRUM 0:119624335925 99 strlen(key),
MACRUM 0:119624335925 100 KCM_CONFIG_ITEM,
MACRUM 0:119624335925 101 false,
MACRUM 0:119624335925 102 buffer,
MACRUM 0:119624335925 103 buffer_size,
MACRUM 0:119624335925 104 NULL);
MACRUM 0:119624335925 105
MACRUM 0:119624335925 106 if (kcm_status != KCM_STATUS_SUCCESS) {
MACRUM 0:119624335925 107 tr_debug("CloudClientStorage::set_config_parameter [%s] kcm get error %d", key, kcm_status);
MACRUM 0:119624335925 108 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 109 }
MACRUM 0:119624335925 110
MACRUM 0:119624335925 111 return CCS_STATUS_SUCCESS;
MACRUM 0:119624335925 112 }
MACRUM 0:119624335925 113
MACRUM 0:119624335925 114 ccs_status_e delete_config_parameter(const char* key)
MACRUM 0:119624335925 115 {
MACRUM 0:119624335925 116 if (key == NULL) {
MACRUM 0:119624335925 117 tr_error("CloudClientStorage::delete_config_parameter error, invalid parameters");
MACRUM 0:119624335925 118 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 119 }
MACRUM 0:119624335925 120
MACRUM 0:119624335925 121 tr_debug("CloudClientStorage::delete_config_parameter [%s]", key);
MACRUM 0:119624335925 122
MACRUM 0:119624335925 123 // Delete parameter from storage
MACRUM 0:119624335925 124 kcm_status_e kcm_status = kcm_item_delete((const uint8_t*)key,
MACRUM 0:119624335925 125 strlen(key),
MACRUM 0:119624335925 126 KCM_CONFIG_ITEM);
MACRUM 0:119624335925 127
MACRUM 0:119624335925 128 if (kcm_status != KCM_STATUS_SUCCESS) {
MACRUM 0:119624335925 129 tr_debug("CloudClientStorage::delete_config_parameter [%s] kcm get error %d", key, kcm_status);
MACRUM 0:119624335925 130 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 131 }
MACRUM 0:119624335925 132
MACRUM 0:119624335925 133 return CCS_STATUS_SUCCESS;
MACRUM 0:119624335925 134 }
MACRUM 0:119624335925 135
MACRUM 0:119624335925 136 ccs_status_e size_config_parameter(const char* key, size_t* size_out)
MACRUM 0:119624335925 137 {
MACRUM 0:119624335925 138 if (key == NULL) {
MACRUM 0:119624335925 139 tr_error("CloudClientStorage::size_config_parameter error, invalid parameters");
MACRUM 0:119624335925 140 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 141 }
MACRUM 0:119624335925 142
MACRUM 0:119624335925 143 tr_debug("CloudClientStorage::size_config_parameter [%s]", key);
MACRUM 0:119624335925 144
MACRUM 0:119624335925 145 // Delete parameter from storage
MACRUM 0:119624335925 146 kcm_status_e kcm_status = kcm_item_get_data_size((const uint8_t*)key,
MACRUM 0:119624335925 147 strlen(key),
MACRUM 0:119624335925 148 KCM_CONFIG_ITEM,
MACRUM 0:119624335925 149 size_out);
MACRUM 0:119624335925 150
MACRUM 0:119624335925 151 if (kcm_status != KCM_STATUS_SUCCESS) {
MACRUM 0:119624335925 152 tr_debug("CloudClientStorage::size_config_parameter [%s] kcm get error %d", key, kcm_status);
MACRUM 0:119624335925 153 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 154 }
MACRUM 0:119624335925 155
MACRUM 0:119624335925 156 return CCS_STATUS_SUCCESS;
MACRUM 0:119624335925 157 }
MACRUM 0:119624335925 158
MACRUM 0:119624335925 159 ccs_status_e get_config_private_key(const char* key, uint8_t *buffer, const size_t buffer_size, size_t *value_length)
MACRUM 0:119624335925 160 {
MACRUM 0:119624335925 161 if (key == NULL || buffer == NULL || buffer_size == 0) {
MACRUM 0:119624335925 162 tr_error("CloudClientStorage::get_connector_private_key error, invalid parameters");
MACRUM 0:119624335925 163 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 164 }
MACRUM 0:119624335925 165
MACRUM 0:119624335925 166 tr_debug("CloudClientStorage::get_connector_private_key [%s]", key);
MACRUM 0:119624335925 167
MACRUM 0:119624335925 168 // Get private key from storage
MACRUM 0:119624335925 169 kcm_status_e kcm_status = kcm_item_get_data((const uint8_t*)key,
MACRUM 0:119624335925 170 strlen(key),
MACRUM 0:119624335925 171 KCM_PRIVATE_KEY_ITEM,
MACRUM 0:119624335925 172 buffer,
MACRUM 0:119624335925 173 buffer_size,
MACRUM 0:119624335925 174 value_length);
MACRUM 0:119624335925 175
MACRUM 0:119624335925 176 if (kcm_status != KCM_STATUS_SUCCESS) {
MACRUM 0:119624335925 177 tr_debug("CloudClientStorage::get_connector_private_key [%s] kcm get error %d", key, kcm_status);
MACRUM 0:119624335925 178 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 179 }
MACRUM 0:119624335925 180
MACRUM 0:119624335925 181 return CCS_STATUS_SUCCESS;
MACRUM 0:119624335925 182 }
MACRUM 0:119624335925 183
MACRUM 0:119624335925 184 ccs_status_e set_config_private_key(const char* key, const uint8_t *buffer, const size_t buffer_size)
MACRUM 0:119624335925 185 {
MACRUM 0:119624335925 186 if (key == NULL || buffer == NULL || buffer_size == 0) {
MACRUM 0:119624335925 187 tr_error("CloudClientStorage::set_connector_private_key error, invalid parameters");
MACRUM 0:119624335925 188 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 189 }
MACRUM 0:119624335925 190
MACRUM 0:119624335925 191 tr_debug("CloudClientStorage::set_connector_private_key kcm [%s]", key);
MACRUM 0:119624335925 192
MACRUM 0:119624335925 193 // Set private key to storage
MACRUM 0:119624335925 194 kcm_status_e kcm_status = kcm_item_store((const uint8_t*)key,
MACRUM 0:119624335925 195 strlen(key),
MACRUM 0:119624335925 196 KCM_PRIVATE_KEY_ITEM,
MACRUM 0:119624335925 197 false,
MACRUM 0:119624335925 198 buffer,
MACRUM 0:119624335925 199 buffer_size,
MACRUM 0:119624335925 200 NULL);
MACRUM 0:119624335925 201
MACRUM 0:119624335925 202 if (kcm_status == KCM_CRYPTO_STATUS_PRIVATE_KEY_VERIFICATION_FAILED) {
MACRUM 0:119624335925 203 tr_error("CloudClientStorage::set_connector_private_key kcm validation error");
MACRUM 0:119624335925 204 return CCS_STATUS_VALIDATION_FAIL;
MACRUM 0:119624335925 205 }
MACRUM 0:119624335925 206 else if (kcm_status != KCM_STATUS_SUCCESS) {
MACRUM 0:119624335925 207 tr_debug("CloudClientStorage::set_connector_private_key kcm [%s] get error %d", key, kcm_status);
MACRUM 0:119624335925 208 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 209 }
MACRUM 0:119624335925 210
MACRUM 0:119624335925 211 return CCS_STATUS_SUCCESS;
MACRUM 0:119624335925 212 }
MACRUM 0:119624335925 213
MACRUM 0:119624335925 214 ccs_status_e delete_config_private_key(const char* key)
MACRUM 0:119624335925 215 {
MACRUM 0:119624335925 216 if (key == NULL) {
MACRUM 0:119624335925 217 tr_error("CloudClientStorage::delete_config_private_key error, invalid parameters");
MACRUM 0:119624335925 218 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 219 }
MACRUM 0:119624335925 220
MACRUM 0:119624335925 221 tr_debug("CloudClientStorage::delete_config_private_key [%s]", key);
MACRUM 0:119624335925 222
MACRUM 0:119624335925 223 // Delete private key from storage
MACRUM 0:119624335925 224 kcm_status_e kcm_status = kcm_item_delete((const uint8_t*)key,
MACRUM 0:119624335925 225 strlen(key),
MACRUM 0:119624335925 226 KCM_PRIVATE_KEY_ITEM);
MACRUM 0:119624335925 227
MACRUM 0:119624335925 228 if (kcm_status != KCM_STATUS_SUCCESS) {
MACRUM 0:119624335925 229 tr_debug("CloudClientStorage::delete_config_private_key [%s] kcm get error %d", key, kcm_status);
MACRUM 0:119624335925 230 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 231 }
MACRUM 0:119624335925 232
MACRUM 0:119624335925 233 return CCS_STATUS_SUCCESS;
MACRUM 0:119624335925 234 }
MACRUM 0:119624335925 235
MACRUM 0:119624335925 236 ccs_status_e get_config_public_key(const char* key, uint8_t *buffer, const size_t buffer_size, size_t *value_length)
MACRUM 0:119624335925 237 {
MACRUM 0:119624335925 238 if (key == NULL || buffer == NULL || buffer_size == 0) {
MACRUM 0:119624335925 239 tr_error("CloudClientStorage::get_config_public_key error, invalid parameters");
MACRUM 0:119624335925 240 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 241 }
MACRUM 0:119624335925 242
MACRUM 0:119624335925 243 tr_debug("CloudClientStorage::get_config_public_key [%s]", key);
MACRUM 0:119624335925 244
MACRUM 0:119624335925 245 // Get parameter value to buffer
MACRUM 0:119624335925 246 kcm_status_e kcm_status = kcm_item_get_data((const uint8_t*)key,
MACRUM 0:119624335925 247 strlen(key),
MACRUM 0:119624335925 248 KCM_PUBLIC_KEY_ITEM,
MACRUM 0:119624335925 249 buffer,
MACRUM 0:119624335925 250 buffer_size,
MACRUM 0:119624335925 251 value_length);
MACRUM 0:119624335925 252
MACRUM 0:119624335925 253 if (kcm_status != KCM_STATUS_SUCCESS) {
MACRUM 0:119624335925 254 tr_debug("CloudClientStorage::get_config_public_key [%s] kcm get error %d", key, kcm_status);
MACRUM 0:119624335925 255 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 256 }
MACRUM 0:119624335925 257
MACRUM 0:119624335925 258 return CCS_STATUS_SUCCESS;
MACRUM 0:119624335925 259 }
MACRUM 0:119624335925 260
MACRUM 0:119624335925 261 ccs_status_e set_config_public_key(const char* key, const uint8_t *buffer, const size_t buffer_size)
MACRUM 0:119624335925 262 {
MACRUM 0:119624335925 263 if (key == NULL || buffer == NULL || buffer_size == 0) {
MACRUM 0:119624335925 264 tr_error("CloudClientStorage::set_config_public_key error, invalid parameters");
MACRUM 0:119624335925 265 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 266 }
MACRUM 0:119624335925 267
MACRUM 0:119624335925 268 tr_debug("CloudClientStorage::set_config_public_key - kcm [%s]", key);
MACRUM 0:119624335925 269
MACRUM 0:119624335925 270 // Set public key to storage
MACRUM 0:119624335925 271 kcm_status_e kcm_status = kcm_item_store((const uint8_t*)key,
MACRUM 0:119624335925 272 strlen(key),
MACRUM 0:119624335925 273 KCM_PUBLIC_KEY_ITEM,
MACRUM 0:119624335925 274 false,
MACRUM 0:119624335925 275 buffer,
MACRUM 0:119624335925 276 buffer_size,
MACRUM 0:119624335925 277 NULL);
MACRUM 0:119624335925 278
MACRUM 0:119624335925 279 if (kcm_status == KCM_CRYPTO_STATUS_PUBLIC_KEY_VERIFICATION_FAILED) {
MACRUM 0:119624335925 280 tr_error("CloudClientStorage::set_config_public_key - kcm validation error");
MACRUM 0:119624335925 281 return CCS_STATUS_VALIDATION_FAIL;
MACRUM 0:119624335925 282 }
MACRUM 0:119624335925 283 else if (kcm_status != KCM_STATUS_SUCCESS) {
MACRUM 0:119624335925 284 tr_debug("CloudClientStorage::set_config_public_key - kcm [%s] get error %d", key, kcm_status);
MACRUM 0:119624335925 285 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 286 }
MACRUM 0:119624335925 287
MACRUM 0:119624335925 288 return CCS_STATUS_SUCCESS;
MACRUM 0:119624335925 289 }
MACRUM 0:119624335925 290
MACRUM 0:119624335925 291 ccs_status_e delete_config_public_key(const char* key)
MACRUM 0:119624335925 292 {
MACRUM 0:119624335925 293 if (key == NULL) {
MACRUM 0:119624335925 294 tr_error("CloudClientStorage::delete_config_public_key error, invalid parameters");
MACRUM 0:119624335925 295 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 296 }
MACRUM 0:119624335925 297
MACRUM 0:119624335925 298 tr_debug("CloudClientStorage::delete_config_public_key [%s]", key);
MACRUM 0:119624335925 299
MACRUM 0:119624335925 300 // Delete the public key
MACRUM 0:119624335925 301 kcm_status_e kcm_status = kcm_item_delete((const uint8_t*)key,
MACRUM 0:119624335925 302 strlen(key),
MACRUM 0:119624335925 303 KCM_PUBLIC_KEY_ITEM);
MACRUM 0:119624335925 304
MACRUM 0:119624335925 305 if (kcm_status != KCM_STATUS_SUCCESS) {
MACRUM 0:119624335925 306 tr_debug("CloudClientStorage::delete_config_public_key [%s] kcm get error %d", key, kcm_status);
MACRUM 0:119624335925 307 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 308 }
MACRUM 0:119624335925 309
MACRUM 0:119624335925 310 return CCS_STATUS_SUCCESS;
MACRUM 0:119624335925 311 }
MACRUM 0:119624335925 312
MACRUM 0:119624335925 313 ccs_status_e get_config_certificate(const char* key, uint8_t *buffer, const size_t buffer_size, size_t *value_length)
MACRUM 0:119624335925 314 {
MACRUM 0:119624335925 315 if (key == NULL || buffer == NULL || buffer_size == 0) {
MACRUM 0:119624335925 316 tr_error("CloudClientStorage::get_config_certificate error, invalid parameters");
MACRUM 0:119624335925 317 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 318 }
MACRUM 0:119624335925 319
MACRUM 0:119624335925 320 tr_debug("CloudClientStorage::get_config_certificate kcm [%s]", key);
MACRUM 0:119624335925 321
MACRUM 0:119624335925 322 // Get parameter value to buffer
MACRUM 0:119624335925 323 kcm_status_e kcm_status = kcm_item_get_data((const uint8_t*)key,
MACRUM 0:119624335925 324 strlen(key),
MACRUM 0:119624335925 325 KCM_CERTIFICATE_ITEM,
MACRUM 0:119624335925 326 buffer,
MACRUM 0:119624335925 327 buffer_size,
MACRUM 0:119624335925 328 value_length);
MACRUM 0:119624335925 329
MACRUM 0:119624335925 330 if (kcm_status != KCM_STATUS_SUCCESS) {
MACRUM 0:119624335925 331 tr_debug("CloudClientStorage::get_config_certificate kcm [%s] get error %d", key, kcm_status);
MACRUM 0:119624335925 332 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 333 }
MACRUM 0:119624335925 334
MACRUM 0:119624335925 335 return CCS_STATUS_SUCCESS;
MACRUM 0:119624335925 336 }
MACRUM 0:119624335925 337
MACRUM 0:119624335925 338 ccs_status_e set_config_certificate(const char* key, const uint8_t *buffer, const size_t buffer_size)
MACRUM 0:119624335925 339 {
MACRUM 0:119624335925 340 if (key == NULL || buffer == NULL || buffer_size == 0) {
MACRUM 0:119624335925 341 tr_error("CloudClientStorage::set_config_certificate error, invalid parameters");
MACRUM 0:119624335925 342 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 343 }
MACRUM 0:119624335925 344
MACRUM 0:119624335925 345 tr_debug("CloudClientStorage::set_config_certificate kcm [%s]", key);
MACRUM 0:119624335925 346
MACRUM 0:119624335925 347 // Get parameter value to buffer
MACRUM 0:119624335925 348 kcm_status_e kcm_status = kcm_item_store((const uint8_t*)key,
MACRUM 0:119624335925 349 strlen(key),
MACRUM 0:119624335925 350 KCM_CERTIFICATE_ITEM,
MACRUM 0:119624335925 351 false,
MACRUM 0:119624335925 352 buffer,
MACRUM 0:119624335925 353 buffer_size,
MACRUM 0:119624335925 354 NULL);
MACRUM 0:119624335925 355
MACRUM 0:119624335925 356 if (kcm_status != KCM_STATUS_SUCCESS) {
MACRUM 0:119624335925 357 tr_debug("CloudClientStorage::set_config_certificate kcm [%s] get error %d", key, kcm_status);
MACRUM 0:119624335925 358 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 359 }
MACRUM 0:119624335925 360
MACRUM 0:119624335925 361 return CCS_STATUS_SUCCESS;
MACRUM 0:119624335925 362 }
MACRUM 0:119624335925 363
MACRUM 0:119624335925 364 ccs_status_e delete_config_certificate(const char* key)
MACRUM 0:119624335925 365 {
MACRUM 0:119624335925 366 if (key == NULL) {
MACRUM 0:119624335925 367 tr_error("CloudClientStorage::delete_config_certificate error, invalid parameters");
MACRUM 0:119624335925 368 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 369 }
MACRUM 0:119624335925 370
MACRUM 0:119624335925 371 tr_debug("CloudClientStorage::delete_config_certificate kcm [%s]", key);
MACRUM 0:119624335925 372
MACRUM 0:119624335925 373 // Get parameter value to buffer
MACRUM 0:119624335925 374 kcm_status_e kcm_status = kcm_item_delete((const uint8_t*)key,
MACRUM 0:119624335925 375 strlen(key),
MACRUM 0:119624335925 376 KCM_CERTIFICATE_ITEM);
MACRUM 0:119624335925 377
MACRUM 0:119624335925 378 if (kcm_status != KCM_STATUS_SUCCESS) {
MACRUM 0:119624335925 379 tr_debug("CloudClientStorage::delete_config_certificate kcm [%s] get error %d", key, kcm_status);
MACRUM 0:119624335925 380 return CCS_STATUS_ERROR;
MACRUM 0:119624335925 381 }
MACRUM 0:119624335925 382
MACRUM 0:119624335925 383 return CCS_STATUS_SUCCESS;
MACRUM 0:119624335925 384 }