This adds a function to WiFiClientSecure to set the ALPN protocol.
This is required for an MQTT client to connect to AWS IoT when using an AWS Custom Authorizer, as described here.
Example code snippet:
...
WiFiClientSecure wiFiClient;
// ALPN protocol, needed with AWS custom authorizer
const char *aws_protos[] = {"mqtt", NULL};
void setup() {
wiFiClient.setCACert(AWSCAPEM);
wiFiClient.setAlpnProtocols(aws_protos);
}
...
If you develop on windows and need cr/lf files, see this:
https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_formatting_and_whitespace
Git can handle this by auto-converting CRLF line endings into LF
when you add a file to the index, and vice versa when it checks out
code onto your filesystem. You can turn on this functionality with
the core.autocrlf setting. If you're on a Windows machine, set it
to true - this converts LF endings into CRLF when you check out code:
$ git config --global core.autocrlf true
* Added a lastError method to WiFiClientSecure so that a connection error from mbedTLS can be retrieved if connection fails (and then presented to a user).
* Changed to dos CRLF
* Made buffer size a const\nMore cleanup to match source
* Fix possible infinite loop in the example
* Remove workaround of sockets always return -76
Remove workaround of sockets always return -76 (because it's fixed on IDF now)
Remove delay during handshake (improving stability)
* Remove unusable mbedtls_net of context creation
* Fix bad destructor
* Compatibility with WiFiClient for HTTPClient
* Initial port from ESP8266
Changed SHA1 fingerprint by Root CA verification
Changed log system
* Remove deprecated function
* Add CA certificate in example
SHA1 fingerprint is broken now: more info: https://shattered.io
* Best error handling
When occur an error in WiFiClientSecure library just return the error message
and clean the context avoiding crash - fix for https://github.com/espressif/arduino-esp32/issues/211
Translate MbedTLS error codes in messages for best understanding
* Declarate certificates as const
mbedtls_pk_parse_key needs a const unsigned char * certificate. In old implementation the certificate was declarated as char * so first it converts to unsigned and after to const.
When we convert signed to unsigned it may result in a +1 larger output.
Fix issue https://github.com/espressif/arduino-esp32/issues/223