SparkFun_u-blox_GNSS_Arduino_Library/examples/ZED-F9P/Example18_PointPerfectClient/

Any ideas how to duplicate this example for the Arduino MKR1010 or 1500? They use a ATECC508 crypto chip so typical AWS communication is you give upload the public key (private key stays in the ATECC508) and then ASW provide the certificate:

// Fill in the hostname of your AWS IoT broker

#define SECRET_BROKER “xxxxxxxxxxxxxx.iot.xx-xxxx-x.amazonaws.com

// Fill in the boards public certificate

const char SECRET_CERTIFICATE = R"(

But in the PointPerfect Example you need:

// → Credentials → Client Id

static const char MQTT_CLIENT_ID = “”;

// → Credentials → Amazon Root Certificate

static const char AWS_CERT_CA PROGMEM = R"EOF(

-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----

)EOF";

// → Credentials → Client Certificate

static const char AWS_CERT_CRT PROGMEM = R"KEY(

-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----

)KEY";

// Get this from Thingstream Portal

// → Credentials → Client Key

static const char AWS_CERT_PRIVATE PROGMEM = R"KEY(

-----BEGIN RSA PRIVATE KEY-----

-----END RSA PRIVATE KEY-----

)KEY";

The MQTT client ID is optional for AWS but can be utilized in the permissions.

Not sure how to do this with the MKR 1010/or 1500. ArduinoBearSSL seems to be set up for using the crypto while the ESP32 WiFiClientSecure follow the above credentialing. AWS seems to be able to work in both methods but not Thingstream.

Any ideas would be helpful.

Thanks

Bruce

Bruce

So I few pieces I found was:

When filling in the ‘SECRET_CERTIFICATE’ the Root CA + your Signed Certificates stacked in this format (literally, with the ‘\n’ characters):

-----BEGIN CERTIFICATE-----\n<CERTIFICATE_FILLING>\n-----END CERTIFICATE-----

Also, “setkey” was added to the ArduinoBearSSL libary.

const char SECRET_CERTIFICATE = R"(

-----BEGIN CERTIFICATE-----

// …

-----END CERTIFICATE-----

)";

const char SECRET_KEY = R"(

-----BEGIN RSA PRIVATE KEY-----

-----END RSA PRIVATE KEY-----

)";

// …

sslClient.setKey(SECRET_KEY, SECRET_CERTIFICATE);

A more standard Arduino example would be helpful.

A wifi based/ESP32 based example does not seem like a very mobile solution for field/mobile RTK correction service example.

Thanks

Bruce

John Trepke suggested I ping the thread again…“PING!”.

Thanks

Bruce

Hi Bruce,

As I mentioned in my private message, we have no experience with the crypto chip on those boards and no plans - currently - to produce a dedicated example for it.

If you do get your own code working, please send us a Pull Request. We will be very happy to include it in the library.

Best wishes,

Paul