Hi,
We're using the nrf9160 with ncs 2.7, modem FW 1.3.6
We're trying to send an HTTP request with TLS 1.2. We have provisioned our device and verified the key,cert with a python script and that is able to hit our endpoint OK. However, when we try to do the same thing from the nrf9160 we are getting a `400 bad request No requried SSL certificate was sent` error
We are saving the key and cert with
modem_key_mgmt_write(PROVISIONED_CERT_SEC_TAG, MODEM_KEY_MGMT_CRED_TYPE_PUBLIC_CERT, cert_buffer,
cert_buffer_bytes_written);
modem_key_mgmt_write(PROVISIONED_CERT_SEC_TAG, MODEM_KEY_MGMT_CRED_TYPE_IDENTITY, cert_buffer,
cert_buffer_bytes_written);
modem_key_mgmt_write(PROVISIONED_CERT_SEC_TAG, MODEM_KEY_MGMT_CRED_TYPE_PRIVATE_CERT, key_buffer,
key_buffer_bytes_written);
And then sending it with
get_addr_info_handle = getaddrinfo(STAGING_HTTP_HOST, HTTP_PORT, &hints, &res);
memset(recv_buf, 0, sizeof(recv_buf));
if (get_addr_info_handle != 0) {
LOG_ERR("Unable to resolve address, quitting. Err: %d", get_addr_info_handle);
return get_addr_info_handle;
}
socket_handle = socket(res->ai_family, res->ai_socktype, IPPROTO_TLS_1_2);
CHECK(socket_handle);
LOG_DBG("socket_handle = %d\n", socket_handle);
//Disable hostname verification
CHECK(setsockopt(socket_handle, SOL_TLS, TLS_HOSTNAME, NULL, 0))
//Disable peer verify
int verify = TLS_PEER_VERIFY_NONE;
CELL_ERR_CHECK(setsockopt(socket_handle, SOL_TLS, TLS_PEER_VERIFY, &verify, sizeof(verify)));
//Set sec tag
static sec_tag_t sec_tag_list[] = {STAGING_SEC_TAG};
CHECK(setsockopt(socket_handle, SOL_TLS, TLS_SEC_TAG_LIST, sec_tag_list, sizeof(sec_tag_list)));
LOG_DBG("Connecting to server...\n");
CHECK(connect(socket_handle, res->ai_addr, res->ai_addrlen));
LOG_DBG("Connected!\r\nSending request...\n");
CHECK(send(socket_handle, send_buf, SSTRLEN(send_buf), 0));