set certificate within CommandHandler, setCertKey call for certificate
This commit is contained in:
@@ -30,6 +30,30 @@
|
||||
|
||||
const char FIRMWARE_VERSION[6] = "1.4.0";
|
||||
|
||||
// AWS Device Certificate
|
||||
// NOTE: I'm aware this certificate is here :)
|
||||
char AWS_CERT_CRT[1300] = "-----BEGIN CERTIFICATE-----\n"\
|
||||
"MIIDWTCCAkGgAwIBAgIUHi7YIHwvdKnUKTKE4MzqaVvVW7QwDQYJKoZIhvcNAQEL\n"\
|
||||
"BQAwTTFLMEkGA1UECwxCQW1hem9uIFdlYiBTZXJ2aWNlcyBPPUFtYXpvbi5jb20g\n"\
|
||||
"SW5jLiBMPVNlYXR0bGUgU1Q9V2FzaGluZ3RvbiBDPVVTMB4XDTE5MDkyNTE2NDA1\n"\
|
||||
"NVoXDTQ5MTIzMTIzNTk1OVowHjEcMBoGA1UEAwwTQVdTIElvVCBDZXJ0aWZpY2F0\n"\
|
||||
"ZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMygEW9cO1ZXQY4Fo3PY\n"\
|
||||
"vBGV6WHwJYKIOd5iTZ4MQmkYNqn9q2YnuXEwYJ+sw6QxSYyZ9O8yniZfviggJ2Dg\n"\
|
||||
"GdTGKIbSK7B/C3w6cLnwPNsKbA2xsxnQU3yoQ99noaue4kG+WL7a5SHJHwzcFpT4\n"\
|
||||
"tVffsUlFtI9fTyGg75+0X4OJiKtzPhpVrCDesKDl0wLewqqgfxasgXWk3bLGCcBy\n"\
|
||||
"7YPEM2x0lp6644xz0jkJ/3KO09+AuFG54K+zv7UZOi4Tph8eiKnI2/2sM58yC233\n"\
|
||||
"pCnB8gtxCegvJJ1ByM5SR3Zw5C1hq6cgN5ePv1fQ7QqOnIHygc0gDp8/nw5gnH8P\n"\
|
||||
"3LcCAwEAAaNgMF4wHwYDVR0jBBgwFoAU1YI5dEJDKJgyKP6e/lSezmki1tUwHQYD\n"\
|
||||
"VR0OBBYEFDTH23PCBu1Pw4xdOR3rY3Pcueh4MAwGA1UdEwEB/wQCMAAwDgYDVR0P\n"\
|
||||
"AQH/BAQDAgeAMA0GCSqGSIb3DQEBCwUAA4IBAQA1p78t3Tk+6V5h0SlokRaC5bVm\n"\
|
||||
"RoXwXRmmCsZJlwvIG25buBdUAWC/2odreV4anM9HmRnECxZMIV7Q0NiuVcl3Kiok\n"\
|
||||
"xtWsdsCyZkH0OMcBuiTEu+o3osTtxAp8dkzcBlh768htDXZCsAzRjFTwtZ78BqFk\n"\
|
||||
"rzduv1FDtpbxoD95X8B3MOc+ZrsZ5TTA+dpepeid6K3jmG9LPmFnahCkK31Hp5dv\n"\
|
||||
"WKKDKZn51PvOVAvti1QeAYcFabgeXFWb8OuCJcqWEKFJuvQRvKrpyLfpSR4NNq7M\n"\
|
||||
"nM12jsbhjrGYVCmQjczqOMqF+LMnXYUSY+o6gsBCM5XRAwOLY4S7Gv53K4+l\n"\
|
||||
"-----END CERTIFICATE-----\n";
|
||||
|
||||
|
||||
/*IPAddress*/uint32_t resolvedHostname;
|
||||
|
||||
#define MAX_SOCKETS CONFIG_LWIP_MAX_SOCKETS
|
||||
@@ -1052,31 +1076,21 @@ int wpa2EntEnable(const uint8_t command[], uint8_t response[]) {
|
||||
int setClientCert(const uint8_t command[], uint8_t response[]){
|
||||
ets_printf("*** Called setClientCert\n");
|
||||
ets_printf("\nFree internal heap: %u\n", heap_caps_get_free_size(MALLOC_CAP_8BIT));
|
||||
//size_t ca_cert_buf_size = (command[3] << 8 | command[4]);
|
||||
//char* ca_cert_buf = (char*)malloc(ca_cert_buf_size+1);
|
||||
|
||||
size_t ca_cert_buf_size = (command[3] << 8 | command[4]);
|
||||
char* ca_cert_buf = (char*)malloc(ca_cert_buf_size+1);
|
||||
if (!ca_cert_buf) {
|
||||
ets_printf("Certificate allocation failed!\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
//ets_printf("\nCert Sz: %d\n", sizeof(AWS_CERT_CRT));
|
||||
//memset(cert_buf, 0x00, sizeof(cert_buf));
|
||||
//memcpy(cert_buf, &command[4], sizeof(cert_buf));
|
||||
//ets_printf("\nCert: \n %s", cert_buf);
|
||||
// todo: add statement for allocation failing.
|
||||
|
||||
ets_printf("\nCert Sz: %d\n", ca_cert_buf_size);
|
||||
memset(ca_cert_buf, 0x00, ca_cert_buf_size+1);
|
||||
memcpy(ca_cert_buf, &command[4], ca_cert_buf_size);
|
||||
ets_printf("\nCert: \n %s", ca_cert_buf);
|
||||
|
||||
// todo: remove in favor of max_sockets impl. below
|
||||
ets_printf("\nFree internal heap: %u\n", heap_caps_get_free_size(MALLOC_CAP_8BIT));
|
||||
tlsClients[0].setCertificate(ca_cert_buf);
|
||||
tlsClients[0].setCertificate(AWS_CERT_CRT);
|
||||
ets_printf("\nFree internal heap: %u\n", heap_caps_get_free_size(MALLOC_CAP_8BIT));
|
||||
|
||||
/*
|
||||
// we're not sure which socket will be allocated in
|
||||
// connect, so setCertificate for MAX_SOCKETS
|
||||
for (int socket=0; socket<MAX_SOCKETS; socket++){
|
||||
tlsClients[socket].setCertificate(ca_cert_buf);
|
||||
}
|
||||
*/
|
||||
|
||||
response[2] = 1; // number of parameters
|
||||
response[3] = 1; // parameter 1 length
|
||||
response[4] = 1;
|
||||
|
||||
Reference in New Issue
Block a user