Azure-iot-sdk-c: When using X509 certificate authentication,it fails with 0x05 -Unauthorized Error

Created on 6 Jun 2018  路  30Comments  路  Source: Azure/azure-iot-sdk-c

I have cross compiled and used the latest C sdk.It works fine with SAS token authentication. When moving to X509 certificate authentication it fails with 0x05 -Unauthorized Error.
I have followed the X509 trail certificate generation as the following document

https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-security-x509-get-started

The same has been uploaded and verified in the IOT azure portal.

Please find the attached zip file which has the updated files and certificates for your reference.

But on connecting to IOT azure it returns 0x05 -Unauthorized Error.

Can you kindly let me know if I am missing any step in the above process.

Then have updated the
Certficate.zip

Thanks,
Mani.

  • OS and version used:

  • SDK version used:

Description of the issue:

Code sample exhibiting the issue:

Console log of the issue:


question

All 30 comments

@Manikandan84 Which OS are you working on and does it use OpenSSL as a tls provider? Can you turn on the mqtt logging and attach a log of the CONNECT and CONNACK packets.

Hi
I am working on linux OS cross compiled for embedded device.I am currently using openssl for certificate generation.

Please find the log details

-> 00:59:31 CONNECT | VER: 4 | KEEPALIVE: 240 | FLAGS: 128 | USERNAME: BS-DEV-IOT02.azure-devices.net/R115LLA0399_X509/api-version=2016-11-14&DeviceClientType=iothubclient%2f1.2.4%20(native%3b%20Linux%3b%20armv7l) | CLEAN: 0
<- 00:59:31 CONNACK | SESSION_PRESENT: false | RETURN_CODE: 0x5
Error: Time:Thu Jun 7 00:59:31 2018 File:iothubtransport_mqtt_common.c Func:mqtt_operation_complete_callback Line:1456 Connection Not Accepted: 0x5: Not Authorized

Thanks,
Manikandan

@Manikandan84 Has the certificate been registered in the portal under this device?

The certificate is registered in azure certifications and verified.
And device is added as CA certificate authorization. Do I need to add this certificate under this device, but I don't see any options.

@Manikandan84 This sounds like a certificate chain issue. Are you running this on windows or linux. If you are using this on windows there is an issue with schannel not sending the chain information on the TLS connection (We can talk about the solution if this is the case). If this is Linux then you need to make sure that the full certificate chain is included in the cert variable. Let me know if you have the full chain in the cert.

@jebrando
I am working on linux OS cross compiled for embedded device.I am currently using openssl for certificate generation.

Please find the certificates and cert.c modified in zipfile.

Kindly let me know the file i have included in cert.c and my surge file is correct.

Do we need to include device full chain certificate in the Cert.c file or in x509certificate variable in my file

Thanks,
Manikandan
Certficate.zip

@jebrando
I have updated the device certificate chain as below

static const char* x509certificate =
"-----BEGIN CERTIFICATE----- ""\n"
"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""\n"
"Mbg5PLCf9x9YdKfO6E444h46dFUlR3Vd""\n"
"-----END CERTIFICATE-----""\n"
"-----BEGIN CERTIFICATE-----""\n"
"MIIFPzCCAyegAwIBAgIBATANBgkqhkiG9w0BAQsFADAqMSgwJgYDVQQDDB9BenVy""\n"
"ZSBJb1QgSHViIENBIENlcnQgVGVzdCBPbmx5MB4XDTE4MDUzMTAwNTY0NFoXDTE4""\n"
"MDYzMDAwNTY0NFowNDEyMDAGA1UEAwwpQXp1cmUgSW9UIEh1YiBJbnRlcm1lZGlh""\n"
"dGUgQ2VydCBUZXN0IE9ubHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC""\n"
"AQCtozWD+f/XzZqEBfF2P4uiwMmkIDXHmpYW4MjY0N8vtzdSubgY0G8LAoR84bG+""\n"
"GL+7UynnzuXxcTye5FZU6faBLO71CHVGKkg1WFBQ6OEtX7vHKUuA31Sr59t9UULX""\n"
"sUXorZrjMrSgAYxPgRdoA62miBCH1RmhwJCP3Jpk5p45Ks2VLwr6LpWIPElgDzbP""\n"
"n1oslHDan2RDvhAKVaTro1OO5SOoRuNUetTzS/CAdJ4R/mARvQ2PSQQzx0jLZr44""\n"
"q/VxFhwvu2GdMhGMQU/6F8y5JJnRLhHsL2BW9+UMFhNIg+clauONqjDdun0O+0G4""\n"
"6+ajqDpxvu9Z+sX7fKeiksev4Mu939ZRGQx0LVI4QLkTjjhbMPlP2qV0gStNYp/w""\n"
"dLfpahUZi9nV7Nut3O/F1UzxfsqPrae2uDoxRBq1W/NHhTtLmCZOltCBHZx0NFLf""\n"
"xb4OSFLvRXGkOAJ2OBURRC/9oU9R3GVM5kLXzxIj1xulGW/HEiDCcbZXikcIU5II""\n"
"+qZJCKzQG0bzNK7AEE68y78Qm0towHVpl4IyEG+cbcTI7/yoyp8AFL9Pn0vaLVRa""\n"
"w2w3915O3lx3IxfEPU9b0ikuNCtejCxDQbQBKw8lZUG66t0SOyZd6RiBsyi2Rw39""\n"
"dMLBD7+rukm9aQIJ6nFM9mOc21uXw5dGwlJe4cWxlWHVqQIDAQABo2YwZDAdBgNV""\n"
"HQ4EFgQUSRyNczHfn5ERmTjJpOpr5GJOBGowHwYDVR0jBBgwFoAUGTPC1xH9fpL2""\n"
"EswdHlLkW+IKgQgwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYw""\n"
"DQYJKoZIhvcNAQELBQADggIBAIRCcYo0OBUiUpJfIiI8hPYq/18G6XKlyxlE9m+o""\n"
"x9ZYp7cDwX4nx+FIydJZeyA2sjvIElWSMxIECICOXT02XJMlhM5jh/q/1wNmeN4u""\n"
"ZFa0EsocNgFWBVnZIbGaGjkStjXYexAGU/OawK+zJbSl7l4PQBEHVaje6jPhF9ZN""\n"
"rmpcAm750eu4BW2T+WnfxqziIDcOObJNhuk9nHCN4lxCDAVrnpFEhmlufMJK+Oif""\n"
"Ui9qucJSQ+LDNd8Wd9xRFEEJOnGqUpyGWs2GvZ1VGwEm9W3DKj4iSTkb79WVVguM""\n"
"OXrvJULabEqzCoxU1fSmvQBOs+n2aY8wzCU8zoEyQvlCyf+v1YgI4XUXddrSKcd/""\n"
"cEMXjL7OmuiCJppEcmCD04kg/E7gwfCNf4fBu8pr17qYzYEF0V6HChjq63aO8JZV""\n"
"WM7KoCQxJ5OLsL4Ev5K0pd/nofqjRciw17duHcyFEgM3QqtJLY6PKRveM10umFuu""\n"
"I5f2R4TdiIhaxjEJc+plVpXVLEA2ZzFktOhbBScQ1NmfOqoiUVHNgCpGNvrfaus1""\n"
"A46ES7J95bi/3y3TW7056uJelnw0zY5hFj/7PS8HWsF/el1eWqnDNCBtB1nB2d/R""\n"
"wLL06jvESy1NY2c3Hktb6SiSbo92d6j42iEY7nkfRXpAjdPPASkDH4w8PCKKRQg7""\n"
"l2YR""\n"
"-----END CERTIFICATE-----""\n"
"-----BEGIN CERTIFICATE-----""\n"
"MIIFOjCCAyKgAwIBAgIJAMln9Jk2lyVkMA0GCSqGSIb3DQEBCwUAMCoxKDAmBgNV""\n"
"BAMMH0F6dXJlIElvVCBIdWIgQ0EgQ2VydCBUZXN0IE9ubHkwHhcNMTgwNTMxMDA1""\n"
"NjQ0WhcNMTgwNjMwMDA1NjQ0WjAqMSgwJgYDVQQDDB9BenVyZSBJb1QgSHViIENB""\n"
"IENlcnQgVGVzdCBPbmx5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA""\n"
"ytabtR4mwmPbBmpdcsGk7NaUBu7tKYqz484P7U6+J+2bmauWVd+fYQa0IgsIDxV5""\n"
"h/oKhMd1XPD/9VP8HMHUDf1nfOksQkW3DbydpPkWyKTbyraUDHmwka7w5beBj2yo""\n"
"3klr2s11fZO6joP7gEWGmYHEEshARg/lpwwz0nBFjTb2rLIgbkl5XFDczZilBrGb""\n"
"sRJAotX/a9Oe46U7N2LgbrkbWgb1x0ASZjFsb2/dVVwA/8CrfSTt6F0HqWa9aHko""\n"
"iT3D4mTdp06qTmqWG4xrKlDc6775Q3cqu+Z7x0XBaVe354gpNgMozPKPPdijJ9Rb""\n"
"04TXDEqRTALXfbvMhRtAieM0kgCr26oxPXr5c9pJadeq8I/aori6QFS5qh9iuQVU""\n"
"GEaBPjoUus6WKHJRjf+U3/aGThRvsujZHHSRb9tvI/20h/vVNJxT+ZAPnq2ScXjO""\n"
"JH+K2fK4S9DJiyRZgHaMvAnZxV0+qWiOFG9ksGWVvUjhFaGPpAi5QJMs7FeESXjm""\n"
"BaXrV57JaStSGbhw/0/7CsRIH98mSg4kwpQRwonMgu+17dLtcbXAauOW1k8a452D""\n"
"D16rzb9b7VuRwY+qdP2R6kLQa8b7H3AF4r816A+OFEkWVko+ZwrE7Dlir1aWLFov""\n"
"rlKmXqF8CWf87Ag7vVWonR9fqrsyPOdQyIZKrx3b2VECAwEAAaNjMGEwHQYDVR0O""\n"
"BBYEFBkzwtcR/X6S9hLMHR5S5FviCoEIMB8GA1UdIwQYMBaAFBkzwtcR/X6S9hLM""\n"
"HR5S5FviCoEIMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqG""\n"
"SIb3DQEBCwUAA4ICAQA8h4ncQiDpPZdejCBjlrbYb88FcfbegvPl+r1tbNNMcx+c""\n"
"SlcU+liGUnV/Nyy1MgyxtTNjUqf7SMCsOit1ZNUElhFpuZJTxaYyPZQSP5Ci0qXf""\n"
"GtpoSYcxTlQNjkVYlB8fRDI96tPFs36KEIdsS0EIKWv3Kri91w56T0YX0q3mPFLb""\n"
"gZJvoECyevUtWTwTsB9+eW9lIqjoUOnVbY3oy6m9FkSo7PpuWzrKmAcXVT/D0+Oo""\n"
"r1SRHZyy+I3m5qns9nYsXHhPuixWGf/8iRQVaVQ34ChzxlGf4dH05CtpX+Um4MFO""\n"
"hxNVJlGF1RcejoysaIVrUk7dGTkfZjfjSRL/jjHjuLpcTGavoycgximOwUaNVF5c""\n"
"TOZSIe6pqRuDUgM49A2rSPv98hWeMkqGh2FRnMVHnvrzXdEQEdJpX0K/5f2uHXW9""\n"
"zMHvB2xrzgRXc5Le3AYiEZJIKkcy5+Tr+Qd4aEpiO0k6eqUjt5/yXtBv+1UZyPk8""\n"
"CgBCatZXsCTR+FRbWdEbWlzhMnQO9YyBKmi6s1aCwpoJetV2H8d1xdLeMCIidiJp""\n"
"yjxSWhfpMc0NMq2ZFdr0QpeMWqD9XgS3TvYFxxmGXjdkOam8HEt+EUkrLbBUamme""\n"
"MfRa4E2jpWGellOHiVRQGpmZ5OOL4bX9l9Fyasi/Hcua9IBxL3NhBZZwjiyaQg==""\n"
"-----END CERTIFICATE-----""\n";

static const char* x509privatekey =
"-----BEGIN RSA PRIVATE KEY-----""\n"
"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""\n"
"-----END RSA PRIVATE KEY-----""\n";

Still results with
-> 00:59:31 CONNECT | VER: 4 | KEEPALIVE: 240 | FLAGS: 128 | USERNAME: BS-DEV-IOT02.azure-devices.net/R115LLA0399_X509/api-version=2016-11-14&DeviceClientType=iothubclient%2f1.2.4%20(native%3b%20Linux%3b%20armv7l) | CLEAN: 0
<- 00:59:31 CONNACK | SESSION_PRESENT: false | RETURN_CODE: 0x5
Error: Time:Thu Jun 7 00:59:31 2018 File:iothubtransport_mqtt_common.c Func:mqtt_operation_complete_callback Line:1456 Connection Not Accepted: 0x5: Not Authorized

I have updated the rootazure-iot-test-only.chain.ca.cert.pem certificate in the Cert.c file

Is this fine.

I have one more doubt is have registered my device as CA signed certificate authorization and not Ca self signed.Is that fine?

Thnaks,
Manikandan

@Manikandan84 I'm guessing that you will need to have this as a CA self signed cert. Also which certificate did you add to the portal as your root ca cert?

@jebrando I have used the following azure-iot-test-only.root.ca.cert.pem certificate in the portalas root ca cert.

-----BEGIN CERTIFICATE-----
MIIFOjCCAyKgAwIBAgIJAMln9Jk2lyVkMA0GCSqGSIb3DQEBCwUAMCoxKDAmBgNV
BAMMH0F6dXJlIElvVCBIdWIgQ0EgQ2VydCBUZXN0IE9ubHkwHhcNMTgwNTMxMDA1
NjQ0WhcNMTgwNjMwMDA1NjQ0WjAqMSgwJgYDVQQDDB9BenVyZSBJb1QgSHViIENB
IENlcnQgVGVzdCBPbmx5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA
ytabtR4mwmPbBmpdcsGk7NaUBu7tKYqz484P7U6+J+2bmauWVd+fYQa0IgsIDxV5
h/oKhMd1XPD/9VP8HMHUDf1nfOksQkW3DbydpPkWyKTbyraUDHmwka7w5beBj2yo
3klr2s11fZO6joP7gEWGmYHEEshARg/lpwwz0nBFjTb2rLIgbkl5XFDczZilBrGb
sRJAotX/a9Oe46U7N2LgbrkbWgb1x0ASZjFsb2/dVVwA/8CrfSTt6F0HqWa9aHko
iT3D4mTdp06qTmqWG4xrKlDc6775Q3cqu+Z7x0XBaVe354gpNgMozPKPPdijJ9Rb
04TXDEqRTALXfbvMhRtAieM0kgCr26oxPXr5c9pJadeq8I/aori6QFS5qh9iuQVU
GEaBPjoUus6WKHJRjf+U3/aGThRvsujZHHSRb9tvI/20h/vVNJxT+ZAPnq2ScXjO
JH+K2fK4S9DJiyRZgHaMvAnZxV0+qWiOFG9ksGWVvUjhFaGPpAi5QJMs7FeESXjm
BaXrV57JaStSGbhw/0/7CsRIH98mSg4kwpQRwonMgu+17dLtcbXAauOW1k8a452D
D16rzb9b7VuRwY+qdP2R6kLQa8b7H3AF4r816A+OFEkWVko+ZwrE7Dlir1aWLFov
rlKmXqF8CWf87Ag7vVWonR9fqrsyPOdQyIZKrx3b2VECAwEAAaNjMGEwHQYDVR0O
BBYEFBkzwtcR/X6S9hLMHR5S5FviCoEIMB8GA1UdIwQYMBaAFBkzwtcR/X6S9hLM
HR5S5FviCoEIMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqG
SIb3DQEBCwUAA4ICAQA8h4ncQiDpPZdejCBjlrbYb88FcfbegvPl+r1tbNNMcx+c
SlcU+liGUnV/Nyy1MgyxtTNjUqf7SMCsOit1ZNUElhFpuZJTxaYyPZQSP5Ci0qXf
GtpoSYcxTlQNjkVYlB8fRDI96tPFs36KEIdsS0EIKWv3Kri91w56T0YX0q3mPFLb
gZJvoECyevUtWTwTsB9+eW9lIqjoUOnVbY3oy6m9FkSo7PpuWzrKmAcXVT/D0+Oo
r1SRHZyy+I3m5qns9nYsXHhPuixWGf/8iRQVaVQ34ChzxlGf4dH05CtpX+Um4MFO
hxNVJlGF1RcejoysaIVrUk7dGTkfZjfjSRL/jjHjuLpcTGavoycgximOwUaNVF5c
TOZSIe6pqRuDUgM49A2rSPv98hWeMkqGh2FRnMVHnvrzXdEQEdJpX0K/5f2uHXW9
zMHvB2xrzgRXc5Le3AYiEZJIKkcy5+Tr+Qd4aEpiO0k6eqUjt5/yXtBv+1UZyPk8
CgBCatZXsCTR+FRbWdEbWlzhMnQO9YyBKmi6s1aCwpoJetV2H8d1xdLeMCIidiJp
yjxSWhfpMc0NMq2ZFdr0QpeMWqD9XgS3TvYFxxmGXjdkOam8HEt+EUkrLbBUamme
MfRa4E2jpWGellOHiVRQGpmZ5OOL4bX9l9Fyasi/Hcua9IBxL3NhBZZwjiyaQg==
-----END CERTIFICATE-----

image

If i need to add it as CA self signed cert,how to get the primary and secondary thumbprint from certitifcate

Kindly do needful.

Thanks,
Manikandan.

Hi @jebrando
i am also getting same error
1) Created certificates & uploaded root-ca cert in azure portal & verified it
2) created device certificates from root-ca
3) passed device cert & private key to iothub_client_sample_x509 example
4) cross compiled to arm
5) run on the target
i got the below error
azure-iot-sdk-c/iothub_client/src/iothubtransport_mqtt_common.c Func:mqtt_operation _complete_callback Line:1358 Connection Not Accepted: 0x5: Not Authorized
6) i tried passing entire cert chain & device private key to iothub_client_sample_x509 example
got the same error
"i am attaching my wire-shark log"

test.zip

7) its has nothing to do with any protocol but i changed the protocol to AMQP
i got altogether different error
/azure-iot-sdk-c/iothub_client/src/iothubtransport_amqp_twin_messenger.c Func:on_amq p_messenger_state_changed_callback Line:1606 Unexpected AMQP messenger state (mydevice, TWIN_MESSENGER_STATE_STARTING, AMQP_MESSENGER_STATE_ERROR)
/azure-iot-sdk-c/iothub_client/src/iothubtransport_amqp_device.c Func:device_do_work Line:985 Device 'mydevice' messenger failed to be started (messenger got into error state)
/azure-iot-sdk-c/iothub_client/src/iothubtransport_amqp_common.c Func:IoTHubTranspor t_AMQP_Common_DoWork Line:1611 Device 'mydevice' reported a critical failure; connection retry will be triggered.
Info: Preparing transport for re-connection
/azure-iot-sdk-c/iothub_client/src/iothubtransportamqp_methods.c Func:iothubtranspor tamqp_methods_unsubscribe Line:819 unsubscribe called while not subscribed

8) what i observed was there is problem with the AMQP server
9) i verified the wire shark logs but i didn't get root cause for that

@jebrando

Is there any update on the above observation.we are awaiting your response to close this module.

Thanks,
Manikandan

@Manikandan84 The certificates look good for this so I'd like to go into the code are you using the Iothub_ll_client_x509_sample to test this?

@jebrando .I have currently modified the code.But @lakshmisivareddy commented even with sample it failswith same error.

I have already shared this part of the code.

Thanks,
Manikandan

@jebrando Any update? We are also facing the same issue.

  • We followed the instructions on https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-security-x509-get-started (except for the last section "Authenticate your X.509 device with the X.509 certificates" which uses C#), and created our certificates by following the instructions on using Powershell (https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-security-x509-create-certificates).
  • We uploaded our CA root cert to the portal, verified it.
  • When we build and run the example iothub_client_sample_x509 on a Linux PC after modifying the connection string, changing 'x509certificate' and 'x509privatekey' to the contents in files x509_device-private.pem and x509_device-public.pem, and moving to use ECC (the Powershell scripts output ECC certs by default):
        if (
            (IoTHubClient_LL_SetOption(iotHubClientHandle, "x509EccCertificate", x509certificate) != IOTHUB_CLIENT_OK) ||
            (IoTHubClient_LL_SetOption(iotHubClientHandle, "x509EccAliasKey", x509privatekey) != IOTHUB_CLIENT_OK)
            )

we get similar error messages as others have pointed out:

Starting the IoTHub client sample x509...
IoTHubClient_LL_SetMessageCallback...successful.
IoTHubClient_LL_SendEventAsync accepted message [0] for transmission to IoT Hub.
IoTHubClient_LL_SendEventAsync accepted message [1] for transmission to IoT Hub.
IoTHubClient_LL_SendEventAsync accepted message [2] for transmission to IoT Hub.
IoTHubClient_LL_SendEventAsync accepted message [3] for transmission to IoT Hub.
IoTHubClient_LL_SendEventAsync accepted message [4] for transmission to IoT Hub.
-> 14:00:18 CONNECT | VER: 4 | KEEPALIVE: 240 | FLAGS: 128 | USERNAME: VHub.azure-devices.net/x509_device/api-version=2016-11-14&DeviceClientType=iothubclient%2f1.1.32%20(native%3b%20Linux%3b%20x86_64) | CLEAN: 0
<- 14:00:19 CONNACK | SESSION_PRESENT: false | RETURN_CODE: 0x5
Error: Time:Thu Jun 28 14:00:19 2018 File:/home/local/workdir/azure/azure-iot-sdk-c/iothub_client/src/iothubtransport_mqtt_common.c Func:mqtt_operation_complete_callback Line:1358 Connection Not Accepted: 0x5: Not Authorized
-> 14:00:19 CONNECT | VER: 4 | KEEPALIVE: 240 | FLAGS: 128 | USERNAME: VHub.azure-devices.net/x509_device/api-version=2016-11-14&DeviceClientType=iothubclient%2f1.1.32%20(native%3b%20Linux%3b%20x86_64) | CLEAN: 0
<- 14:00:19 CONNACK | SESSION_PRESENT: false | RETURN_CODE: 0x5
Error: Time:Thu Jun 28 14:00:19 2018 File:/home/local/workdir/azure/azure-iot-sdk-c/iothub_client/src/iothubtransport_mqtt_common.c Func:mqtt_operation_complete_callback Line:1358 Connection Not Accepted: 0x5: Not Authorized
-> 14:00:21 CONNECT | VER: 4 | KEEPALIVE: 240 | FLAGS: 128 | USERNAME: VHub.azure-devices.net/x509_device/api-version=2016-11-14&DeviceClientType=iothubclient%2f1.1.32%20(native%3b%20Linux%3b%20x86_64) | CLEAN: 0
<- 14:00:21 CONNACK | SESSION_PRESENT: false | RETURN_CODE: 0x5
Error: Time:Thu Jun 28 14:00:21 2018 File:/home/local/workdir/azure/azure-iot-sdk-c/iothub_client/src/iothubtransport_mqtt_common.c Func:mqtt_operation_complete_callback Line:1358 Connection Not Accepted: 0x5: Not Authorized

In addition, the instructions say to use the "Device Explorer" option in the IoTHub to create an X.509 device. This option has been replaced with "IoT devices", and is currently broken with this output message:

Blade: DeviceExplorerBlade
Microsoft_Azure_IotHub

We had to use an old copy of the Device Explorer utility on our PC to create the device instead. Hopefully this is ok.

Please let us know what is necessary in order to get the iothub_client_sample_x509 example to work. Thanks.

Update: The "IoT devices" option is now back online. When we re-create the device using that option as opposed to using the old Device Explorer, we got the iothub_client_sample_x509 example to work over MQTT.

However, if we undefine USE_AMQP and USE_MQTT in the example and use HTTP, we get the following errors:

Starting the IoTHub client sample x509...
IoTHubClient_LL_SetMessageCallback...successful.
IoTHubClient_LL_SendEventAsync accepted message [0] for transmission to IoT Hub.
Error: Time:Tue Jul 10 11:26:21 2018 File:/home/local/workdir/azure/azure-iot-sdk-c/c-utility/adapters/httpapi_curl.c Func:HTTPAPI_ExecuteRequest Line:629 Failure in HTTP communication: server reply code is 401
Info: HTTP Response:{"Message":"ErrorCode:IotHubUnauthorizedAccess;Unauthorized","ExceptionMessage":"Tracking ID:303b4c3dbae34e55afe0607a575d97dd-G:3-TimeStamp:07/10/2018 18:26:22"}
Error: Time:Tue Jul 10 11:26:21 2018 File:/home/local/workdir/azure/azure-iot-sdk-c/iothub_client/src/iothubtransporthttp.c Func:DoEvent Line:1699 unexpected HTTP status code (401)
Error: Time:Tue Jul 10 11:26:21 2018 File:/home/local/workdir/azure/azure-iot-sdk-c/c-utility/adapters/httpapi_curl.c Func:HTTPAPI_ExecuteRequest Line:629 Failure in HTTP communication: server reply code is 401

We have verified that we can successfully run simplesample_http, so our HTTP setup is fine. Is the iothub_client_sample_x509 example supposed to work over HTTP? Any help would be appreciated.

@vanti,

Are you on a windows machine or linux?

Jelani

@jebrando

We are running the iothub_client_sample_x509 example on a Linux PC running Ubuntu 14.04.

-Vincent

@jebrando @lakshmisivareddy

My issue isalso stillopen,any update on this in C iot sdk

Thanks,
Mani

i tried Registering with DPS using x509 individual & group enrollments .
i am able to do with out any problem ,

Hi I am Facing the Same Issue as @Manikandan84, I have followed all the steps as mentioned by @Manikandan84. Certificates, Private Key are of same format as him. Please can someone Check it and reply. I followed the steps as mentioned in

https://github.com/Azure/azure-iot-sdk-c/blob/master/tools/CACertificates/CACertificateOverview.md

Below is My Certifcate and Key

static const char* x509certificate =
"-----BEGIN CERTIFICATE-----""\n"
"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""\n"
"-----END CERTIFICATE-----""\n"
"-----BEGIN CERTIFICATE-----""\n"
"MIIFPDCCAySgAwIBAgIBATANBgkqhkiG9w0BAQsFADAqMSgwJgYDVQQDDB9BenVy""\n"
"ZSBJb1QgSHViIENBIENlcnQgVGVzdCBPbmx5MB4XDTE4MTIwNTA2NTAwMFoXDTE5""\n"
"MDEwNDA2NTAwMFowNDEyMDAGA1UEAwwpQXp1cmUgSW9UIEh1YiBJbnRlcm1lZGlh""\n"
"dGUgQ2VydCBUZXN0IE9ubHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoIC""\n"
"AQCvrBrZ6dXMeLRJowel/ssR3DeAn2f7kmAHGfrt/ghOGpA/F6PrVKo5PTmMEl5O""\n"
"lhEaEYvbW7rrpebkaTq+SDj3Uc7xNhnakpK0ieM17vagbUX3ek9nEzfgastuJLA+""\n"
"JsgNUKUSpMVewuSkGfbEz7SPG7Wp9KQx6sNf04VF0krL3TSyWrjb0A+JGom5eh2c""\n"
"4Yzb44kD8PggBj6T8dNSI2J6ccYHoTMR1Ns7QYKigmzybRMBMsnZz0snDT/20VW8""\n"
"tAA3987bpXiMwp4OZviVMS75vCaC7ao6uVMLs9QneyiFIKHWTSrPkr/El9nEAlBH""\n"
"ufDGEJvlvKwGR2Fk6xueAajwXUDuYb2rv2+6RxIQc8hOKCWDtSMKOQ/Ki9tbEhQ0""\n"
"dYFN3B2Jgy+fbhzD7tfCfyR5M7DcZFvVGgFUOg+stH6bR92rH1xVtPpISNp4n/Lg""\n"
"H8ZLUgQe0RryikJIDBaGoRdPvG539bmAzJpxK8jJx/lJGIvp9OTICv0KCE4grVTS""\n"
"FOcDGeUwkvNenLeSgt8nDdu6rHje+9yIl8JDIY70dubfrXAta4gDXFLIBrlUyiGJ""\n"
"zTUlQzTPh9k24zRn+8sQbcbtGOaYUM1a/ODnM0dp3FkjXcLNj3qyPoDYfBZdCvip""\n"
"4IG86vwdkq9mTIaUI4wO/+sNzgIqj4J5o40F/MnjiNhSUwIDAQABo2MwYTAdBgNV""\n"
"HQ4EFgQUcLGnTXV61kF5TQmml/F00VLQCUswHwYDVR0jBBgwFoAUlsACyi/2K5d+""\n"
"ziDMLtPVt37e224wDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAYYwDQYJ""\n"
"KoZIhvcNAQELBQADggIBAJmOsbyYHU/JWoFHf48aD+ylJpq2yP25Nk4r2Nf3mElC""\n"
"xLvj37kGCaoajcsMMOX3/Bc4B4vlQsVDXkVSqtu2n/SthYqou1ecdGKtNHGCfDyz""\n"
"wqV67/aIOhjlw6CZrLW3jNbqDbKeKPdO4h4wk6lCnpiqXS9Z3aVfmZWQCNQAMiPk""\n"
"TBqoNi+l0UdFhPjjx7YllJcQdknLBtmuU9uoMPN5kpwPBCmdv5Rejr909U2pVCzc""\n"
"ieaQofr1fO+UiOUWFiih+O/Vb38xo1QDr5l+8GusZSkw+ess2UkZCK45DtN42R+d""\n"
"yFOfxPTCds5l003G6bcRbdeDSAYcGZlwmif+EjPVtEOaRJj32G/NT+qK5CxgueKD""\n"
"5nVSdDCn0Vz+u1Q4aHyEjvopDWvhHItVGDwR/JsuD3+QLtAgXY08SW/5cvAyiIaP""\n"
"jZrFwnyb2ViVj7bn8XzUNKwhD3k9jEjSS2X+1vHK3F5oEwxgylV9Gs53hr/XlH/c""\n"
"pEGbZBhIBNm53BMeDxUM2SrH3V+6e30n+mv4sBBU+uXKB9HAuJuJTIaxpP7gw9mE""\n"
"OLg4MYuPbomZOs/p3wGeqItzDlKuOHd7CZ4aQD9aUc1H7NohKF+XJkFRDaNAPW6p""\n"
"ArHIZ//C7PzFf7u4+1kvUZDQIo371KQJy9C68WE7qiqd4PIFaPtofuU+TqXhk7pi""\n"
"-----END CERTIFICATE-----""\n"
"-----BEGIN CERTIFICATE-----""\n"
"MIIFOjCCAyKgAwIBAgIJAL8TnpS7uY55MA0GCSqGSIb3DQEBCwUAMCoxKDAmBgNV""\n"
"BAMMH0F6dXJlIElvVCBIdWIgQ0EgQ2VydCBUZXN0IE9ubHkwHhcNMTgxMjA1MDY0""\n"
"OTU5WhcNMTkwMTA0MDY0OTU5WjAqMSgwJgYDVQQDDB9BenVyZSBJb1QgSHViIENB""\n"
"IENlcnQgVGVzdCBPbmx5MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA""\n"
"uNusPZOzqpK1uZeLDz1UvKRVEITHUYlhQuToQD4nkaz5TxU+567/4hJL27tpznl7""\n"
"Xum8+j2MqsP4wuvL12qxszmngzWEQOSYVwRi+a4Fky6RG8Z6vqx0VypAuYY76IbD""\n"
"Cxo2nyFWgK10ikEgxev+Wod+ykAMvHTLlzyvd9Vrvc+U0yBd4WefL4kII39FgbOY""\n"
"RX1tAmjKWeMCYY11PNd3Pyn/RmAYcsYIR1yoWHIMAyhN9btBNqL9GDdleALOoWgP""\n"
"BsQjgz1MDd4KUnQjW62/n5Kz2/sf03SOjUWXVc+4wjySYze1fkxp/6rUNo08I5OQ""\n"
"fvJSvj6++wb+eqKbZYBocjlsa89BT7QA8kIAxA97DR4rmJOckRZR+Z1bVD6ktreW""\n"
"4Ydbqkai4k2Y2mZmn8/ICfBmPkfT9yCRxFW7twU/1BB7wqaGoBCA/GJWLNotcNLd""\n"
"GCPNt5RRp8r4mXk7Dg3mCKs8928JdB8wb52v6yByrLrjYpyFjb4DWocEiaMHFLJ7""\n"
"77X6jknwyS18QzMieQxS8WaoVQMdNrf0B23/UVk2D266NAnieWTI2NceDmq2hudl""\n"
"2vCI+JzyUHpGtDfjwJ0pc9oHHFrBHgjvows6j4EtF/bZsd6L26P17gslH1cAYh8K""\n"
"UthZrJ4meX/W9/slwsLWJKaKA7zqNDiCytzY5/SGYXcCAwEAAaNjMGEwHQYDVR0O""\n"
"BBYEFJbAAsov9iuXfs4gzC7T1bd+3ttuMB8GA1UdIwQYMBaAFJbAAsov9iuXfs4g""\n"
"zC7T1bd+3ttuMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgGGMA0GCSqG""\n"
"SIb3DQEBCwUAA4ICAQCNm59+eTNplWuk+YrBaqZS7sKws+zJGidVcio7x2n2Xq55""\n"
"A//1E6pdYq67IcNz7gv0nALDr3U3ykgMNjHdyHmA25IZJVVuAoelz6DxnqleMnHq""\n"
"9CHSO4TJWR63/BOJp/bIFzddY+TXsGJ5CMfIKWRTdle5LBDKG8cpIlfYAPFTiXNB""\n"
"h2nKA+dv7PIHSpcZ8+o10S2j4mcqU7A21XuJqCFaTQ/bBpGt/rDJuj4FQZBgGM64""\n"
"JFUW2LiFX6JP6g050f03Q1nZD+Wzv0P9BuX2M+glC/ueVrW7Z/NbtBNaYjaZ80V+""\n"
"npIKobch2XJe4jYSghBqFK7xxqYATFK2Ux9BQwctfu6n+vbAoDKxgkL/JlwPtRMt""\n"
"JHn4m1o6S7QxLXkIQfKMGHv8S4DKAIFRc83h4S639UrzMXrr9icBQJnVj3hV8t4G""\n"
"HMJQ692z27iJZcMhqBBt6kFPs97AFqMgyrmSIvH6d7y2Rb++5ruAUxSrPpv2HOC+""\n"
"Q4Kcoajh4YPUMCzB53JEW75SAtcofZ3LuhEaVoLj8ol5nYuCIIfyJ7PdSrIQzBN0""\n"
"JLFm4pm7mkCjT10hCuInh2JnQ9gnCsS9GE+CjkrnTjmQ5qvLE1oXloWcQUlyEmvL""\n"
"N6NU5ECkfKqMDeRLpfN/v0C2H4yVdZqOef8EWMrdf3gIe+acoS+VOYok9eM/rw==""\n"
"-----END CERTIFICATE-----";

static const char* x509privatekey =
"-----BEGIN RSA PRIVATE KEY-----""\n"
"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""\n"
"-----END RSA PRIVATE KEY-----";

AND Yes Root CA has been Verified by the Server

[test@HounBU-Test iothub_ll_client_x509_sample]$ ./iothub_ll_client_x509_sample
Creating IoTHub handle
Sending message 1 to IoTHub
Sending message 2 to IoTHub
Sending message 3 to IoTHub
Sending message 4 to IoTHub
Sending message 5 to IoTHub
-> 15:38:14 CONNECT | VER: 4 | KEEPALIVE: 240 | FLAGS: 128 | USERNAME: hub4-dev.azure-devices.net/Dlink_Dev_Pavan_Cert/?api-version=2017-11-08-preview&DeviceClientType=iothubclient%2f1.2.10%20(native%3b%20Linux%3b%20x86_64) | CLEAN: 0
<- 15:38:15 CONNACK | SESSION_PRESENT: false | RETURN_CODE: 0x5
Error: Time:Wed Dec 5 15:38:15 2018 File:/home/test/Azure_Blob_Check/azure-iot-sdk-c/iothub_client/src/iothubtransport_mqtt_common.c Func:mqtt_operation_complete_callback Line:1619 Connection Not Accepted: 0x5: Not Authorized
-> 15:38:15 CONNECT | VER: 4 | KEEPALIVE: 240 | FLAGS: 128 | USERNAME: hub4-dev.azure-devices.net/Dlink_Dev_Pavan_Cert/?api-version=2017-11-08-preview&DeviceClientType=iothubclient%2f1.2.10%20(native%3b%20Linux%3b%20x86_64) | CLEAN: 0
<- 15:38:15 CONNACK | SESSION_PRESENT: false | RETURN_CODE: 0x5
Error: Time:Wed Dec 5 15:38:15 2018 File:/home/test/Azure_Blob_Check/azure-iot-sdk-c/iothub_client/src/iothubtransport_mqtt_common.c Func:mqtt_operation_complete_callback Line:1619 Connection Not Accepted: 0x5: Not Authorized
-> 15:38:17 CONNECT | VER: 4 | KEEPALIVE: 240 | FLAGS: 128 | USERNAME: hub4-dev.azure-devices.net/Dlink_Dev_Pavan_Cert/?api-version=2017-11-08-preview&DeviceClientType=iothubclient%2f1.2.10%20(native%3b%20Linux%3b%20x86_64) | CLEAN: 0
<- 15:38:17 CONNACK | SESSION_PRESENT: false | RETURN_CODE: 0x5
Error: Time:Wed Dec 5 15:38:17 2018 File:/home/test/Azure_Blob_Check/azure-iot-sdk-c/iothub_client/src/iothubtransport_mqtt_common.c Func:mqtt_operation_complete_callback Line:1619 Connection Not Accepted: 0x5: Not Authorized
-> 15:38:21 CONNECT | VER: 4 | KEEPALIVE: 240 | FLAGS: 128 | USERNAME: hub4-dev.azure-devices.net/Dlink_Dev_Pavan_Cert/?api-version=2017-11-08-preview&DeviceClientType=iothubclient%2f1.2.10%20(native%3b%20Linux%3b%20x86_64) | CLEAN: 0
^C
[test@HounBU-Test iothub_ll_cli
Please Check this issue

Update: It was a Key mismatch error
I was able to do it with newly certificates(Please do not use Capital letters for Device Id)
You can verify your Certificates using below atached python code, its saves time

mqttTest - Copy.txt

If you get below error

mqttTest.py
Traceback (most recent call last):
File "E:\X509_Certificates\mqttTest.py", line 26, in
client.tls_set(ca_certs=path_to_root_cert, certfile=pathToDeviceCert, keyfile=key, cert_reqs=ssl.CERT_REQUIRED, tls_version=ssl.PROTOCOL_TLSv1, ciphers=None)
File "C:\Python27\lib\site-packagespaho\mqtt\client.py", line 694, in tls_set
context.load_cert_chain(certfile, keyfile)
ssl.SSLError: [X509: KEY_VALUES_MISMATCH] key values mismatch (_ssl.c:2712)

then its Key error

you should get

E:\X509_Certificates>mqttTest.py
Device connected with result code: 0
Device sent message

we want c code solution for the CA-signed certificate mode for Azure.
python code is already given in the documentation.
we need to fix the return code 05
I hope u get it

We are seeing this issue as well. I filed a Severity A ticket in our support plan as this is blocking critical business operations for our org.

I have the same issue with x509 and prov. center (group enrollment). To create certificates I used https://github.com/Azure/azure-iot-sdk-c/blob/master/tools/CACertificates/CACertificateOverview.md.
All protocols threw an authorization error.

@bearrito Did you receive an answer from the support team?

schannel not sending the chain information on the TLS connection

can you please explain this issue in the case of windows

@Pronyuk Our issue was self-inflicted. We didn't realize that you cannot use the same cert/key for a device as for a module.

@Manikandan84 This sounds like a certificate chain issue. Are you running this on windows or linux. If you are using this on windows there is an issue with schannel not sending the chain information on the TLS connection (We can talk about the solution if this is the case). If this is Linux then you need to make sure that the full certificate chain is included in the cert variable. Let me know if you have the full chain in the cert.

i am running this on windows can you please give a solution to this issue

@naznaaa Windows has a strange quirk that you have to install the certificate chain in the windows store for schannel to send the chain on the TLS stream. For our SDK I usually tell people that they must install the certificate in the store (which for development is distasteful), or you can use OpenSSL which will let the user add the certificate chain from code.

@naznaaa If you have any more issues or concerns let us know.

@jebrando, @Manikandan84, @lakshmisivareddy, @vanti, @Pavan2358, @baluzealster, @bearrito, @Pronyuk, @naznaaa, thank you for your contribution to our open-sourced project! Please help us improve by filling out this 2-minute customer satisfaction survey

Was this page helpful?
0 / 5 - 0 ratings

Related issues

wlisac picture wlisac  路  4Comments

duvitech picture duvitech  路  6Comments

moncef-bibani picture moncef-bibani  路  4Comments

bakarydiarra picture bakarydiarra  路  5Comments

kiranpradeep picture kiranpradeep  路  5Comments