From c719dc5ec906a49dddc0d36532989694e3eb878b Mon Sep 17 00:00:00 2001 From: Andrii Shtompel Date: Thu, 6 Oct 2016 14:16:51 +0300 Subject: [PATCH] Add ECDSA to cipher suite selection menu Change-Id: I74efcab80da86123540e5355378ab3b1bb343718 Signed-off-by: Andrii Shtompel Reviewed-on: https://gerrit.iotivity.org/gerrit/12889 Tested-by: jenkins-iotivity Reviewed-by: dongik Lee Reviewed-by: Jongmin Choi Reviewed-by: Randeep Singh --- .../csdk/security/provisioning/sample/cloud/cloudCommon.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/resource/csdk/security/provisioning/sample/cloud/cloudCommon.c b/resource/csdk/security/provisioning/sample/cloud/cloudCommon.c index 6cb5be4..6add1c0 100644 --- a/resource/csdk/security/provisioning/sample/cloud/cloudCommon.c +++ b/resource/csdk/security/provisioning/sample/cloud/cloudCommon.c @@ -30,6 +30,8 @@ #include "aclresource.h" #include "crlresource.h" #include "ocprovisioningmanager.h" +#include "casecurityinterface.h" +#include "mbedtls/ssl_ciphersuites.h" #include "utils.h" #include "cloudAuth.h" @@ -137,7 +139,7 @@ static void printMenu(OCMode mode) printf("** %d - Change default port\n", PORT); printf("** %d - Change default database filename\n", DB_FILE); printf("** %d - Change default auth provider\n", AUTH_PROVIDER); - printf("** %d - Change TLS cipher suite to RSA\n", USE_RSA); + printf("** %d - Change TLS cipher suite (ECDSA/RSA)\n", USE_RSA); printf("** %d - Save Trust Cert. Chain into Cred of SVR\n", SAVE_TRUST_CERT); printf("** %d - Change Protocol type (CoAP/CoAPs)\n", USE_SECURE_CONN); @@ -506,8 +508,17 @@ static void userRequests(void *data) res= InitRequest(OC_REST_POST); break; case USE_RSA: - CASelectCipherSuite(0x35, CA_ADAPTER_TCP); + { + int tmp = 0; + readInteger(&tmp, "Select Cipher Suite", "0 - ECDSA, other - RSA"); + uint16_t cipher = tmp? MBEDTLS_TLS_RSA_WITH_AES_256_CBC_SHA: + MBEDTLS_TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8; + if (CA_STATUS_OK != CASelectCipherSuite(cipher, CA_ADAPTER_TCP)) + { + OIC_LOG(ERROR, TAG, "CASelectCipherSuite returned an error"); + } sendDataToServer = false; + } break; case SAVE_TRUST_CERT: saveTrustCert(); -- 2.7.4