Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit97018a5

Browse files
authored
various minor web fixes (esp8266#8885)
* httpclient: use refs - httpserver: add chunks in examples* basic https client: update cert* debug log: read() returning -1 is usual and means "nothing to read"* emulation on host: SSL server has never been and is now working* style* move SSL server certs from examples into a single place with appropriate warnings* web-hello-servers: make chunks bigger* factorize template declaration* http-client: add getString(pre-reservation)* mock: add umm_info()* style* comment API in example* style* fix per review
1 parentd3c102e commit97018a5

File tree

18 files changed

+251
-298
lines changed

18 files changed

+251
-298
lines changed

‎libraries/ESP8266HTTPClient/examples/BasicHttpsClient/BasicHttpsClient.ino‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ void loop() {
6262
// file found at server
6363
if (httpCode == HTTP_CODE_OK || httpCode == HTTP_CODE_MOVED_PERMANENTLY) {
6464
String payload = https.getString();
65+
// String payload = https.getString(1024); // optionally pre-reserve string to avoid reallocations in chunk mode
6566
Serial.println(payload);
6667
}
6768
}else {

‎libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.cpp‎

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ bool HTTPClient::begin(WiFiClient &client, const String& host, uint16_t port, co
107107
_canReuse =false;
108108
disconnect(true);
109109
}
110-
110+
111111
_client = client.clone();
112112

113113
clear();
@@ -483,7 +483,7 @@ int HTTPClient::sendRequest(const char * type, const uint8_t * payload, size_t s
483483
//
484484
redirect =false;
485485
if (
486-
_followRedirects != HTTPC_DISABLE_FOLLOW_REDIRECTS &&
486+
_followRedirects != HTTPC_DISABLE_FOLLOW_REDIRECTS &&
487487
redirectCount < _redirectLimit &&
488488
_location.length() >0
489489
) {
@@ -496,7 +496,7 @@ int HTTPClient::sendRequest(const char * type, const uint8_t * payload, size_t s
496496
// (the RFC require user to accept the redirection)
497497
_followRedirects == HTTPC_FORCE_FOLLOW_REDIRECTS ||
498498
// allow GET and HEAD methods without force
499-
!strcmp(type,"GET") ||
499+
!strcmp(type,"GET") ||
500500
!strcmp(type,"HEAD")
501501
) {
502502
redirectCount +=1;
@@ -631,20 +631,20 @@ WiFiClient* HTTPClient::getStreamPtr(void)
631631
* return all payload as String (may need lot of ram or trigger out of memory!)
632632
* @return String
633633
*/
634-
const String&HTTPClient::getString(void)
634+
const String&HTTPClient::getString(int reserve)
635635
{
636636
if (_payload) {
637637
return *_payload;
638638
}
639639

640640
_payload.reset(newStreamString());
641641

642-
if(_size >0) {
643-
// try toreserveneeded memory
644-
if(!_payload->reserve((_size +1))) {
645-
DEBUG_HTTPCLIENT("[HTTP-Client][getString] not enough memory toreservea string! need: %d\n", (_size +1));
646-
return *_payload;
647-
}
642+
if(_size >0 && _size > reserve)
643+
reserve= _size;
644+
645+
if (reserve>0 && !_payload->reserve(reserve)) {
646+
DEBUG_HTTPCLIENT("[HTTP-Client][getString] not enough memory to reserve a string! need: %d\n", reserve);
647+
return *_payload;
648648
}
649649

650650
writeToStream(_payload.get());
@@ -732,30 +732,30 @@ void HTTPClient::collectHeaders(const char* headerKeys[], const size_t headerKey
732732
}
733733
}
734734

735-
StringHTTPClient::header(constchar* name)
735+
constString&HTTPClient::header(constchar* name)
736736
{
737737
for(size_t i =0; i < _headerKeysCount; ++i) {
738738
if(_currentHeaders[i].key == name) {
739739
return _currentHeaders[i].value;
740740
}
741741
}
742-
returnString();
742+
returnemptyString;
743743
}
744744

745-
StringHTTPClient::header(size_t i)
745+
constString&HTTPClient::header(size_t i)
746746
{
747747
if(i < _headerKeysCount) {
748748
return _currentHeaders[i].value;
749749
}
750-
returnString();
750+
returnemptyString;
751751
}
752752

753-
StringHTTPClient::headerName(size_t i)
753+
constString&HTTPClient::headerName(size_t i)
754754
{
755755
if(i < _headerKeysCount) {
756756
return _currentHeaders[i].key;
757757
}
758-
returnString();
758+
returnemptyString;
759759
}
760760

761761
intHTTPClient::headers()

‎libraries/ESP8266HTTPClient/src/ESP8266HTTPClient.h‎

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -203,9 +203,9 @@ class HTTPClient
203203

204204
/// Response handling
205205
voidcollectHeaders(constchar* headerKeys[],constsize_t headerKeysCount);
206-
Stringheader(constchar* name);// get request header value by name
207-
Stringheader(size_t i);// get request header value by number
208-
StringheaderName(size_t i);// get request header name by number
206+
constString&header(constchar* name);// get request header value by name
207+
constString&header(size_t i);// get request header value by number
208+
constString&headerName(size_t i);// get request header name by number
209209
intheaders();// get header count
210210
boolhasHeader(constchar* name);// check if header exists
211211

@@ -217,7 +217,13 @@ class HTTPClient
217217
WiFiClient*getStreamPtr(void);
218218
template<typename S>intwriteToPrint(S* print) [[deprecated]] {returnwriteToStream(print); }
219219
template<typename S>intwriteToStream(S* output);
220-
const String&getString(void);
220+
221+
// In case of chunks = when size cannot be known in advance
222+
// by the library, it might be useful to pre-reserve enough
223+
// space instead of offending memory with a growing String
224+
const String&getString() {returngetString(0); }
225+
const String&getString(int reserve);
226+
221227
static StringerrorToString(int error);
222228

223229
protected:

‎libraries/ESP8266WebServer/examples/HelloServer/HelloServer.ino‎

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ const char* password = STAPSK;
1313

1414
ESP8266WebServerserver(80);
1515

16+
String bigChunk;
17+
1618
constint led =13;
1719

1820
voidhandleRoot() {
@@ -36,6 +38,16 @@ void handleNotFound() {
3638
digitalWrite(led,0);
3739
}
3840

41+
voidhandleChunked() {
42+
server.chunkedResponseModeStart(200,F("text/html"));
43+
44+
server.sendContent(bigChunk);
45+
server.sendContent(F("chunk 2"));
46+
server.sendContent(bigChunk);
47+
48+
server.chunkedResponseFinalize();
49+
}
50+
3951
voidsetup(void) {
4052
pinMode(led, OUTPUT);
4153
digitalWrite(led,0);
@@ -80,6 +92,8 @@ void setup(void) {
8092
server.send(200,"image/gif", gif_colored,sizeof(gif_colored));
8193
});
8294

95+
server.on("/chunks", handleChunked);
96+
8397
server.onNotFound(handleNotFound);
8498

8599
/////////////////////////////////////////////////////////
@@ -142,6 +156,15 @@ void setup(void) {
142156
// Hook examples
143157
/////////////////////////////////////////////////////////
144158

159+
// prepare chunk in ram for sending
160+
constexprint chunkLen =4000;// ~4KB chunk
161+
bigChunk.reserve(chunkLen);
162+
bigChunk =F("chunk of len");
163+
bigChunk += chunkLen;
164+
String piece =F("-blah");
165+
while (bigChunk.length() < chunkLen - piece.length())
166+
bigChunk += piece;
167+
145168
server.begin();
146169
Serial.println("HTTP server started");
147170
}

‎libraries/ESP8266WebServer/examples/HelloServerBearSSL/HelloServerBearSSL.ino‎

Lines changed: 25 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -27,59 +27,10 @@ const char* password = STAPSK;
2727
BearSSL::ESP8266WebServerSecureserver(443);
2828
BearSSL::ServerSessionsserverCache(5);
2929

30-
staticconstchar serverCert[] PROGMEM =R"EOF(
31-
-----BEGIN CERTIFICATE-----
32-
MIIDSzCCAjMCCQD2ahcfZAwXxDANBgkqhkiG9w0BAQsFADCBiTELMAkGA1UEBhMC
33-
VVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcMDU9yYW5nZSBDb3VudHkx
34-
EDAOBgNVBAoMB1ByaXZhZG8xGjAYBgNVBAMMEXNlcnZlci56bGFiZWwuY29tMR8w
35-
HQYJKoZIhvcNAQkBFhBlYXJsZUB6bGFiZWwuY29tMB4XDTE4MDMwNjA1NDg0NFoX
36-
DTE5MDMwNjA1NDg0NFowRTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3Rh
37-
dGUxITAfBgNVBAoMGEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDCCASIwDQYJKoZI
38-
hvcNAQEBBQADggEPADCCAQoCggEBAPVKBwbZ+KDSl40YCDkP6y8Sv4iNGvEOZg8Y
39-
X7sGvf/xZH7UiCBWPFIRpNmDSaZ3yjsmFqm6sLiYSGSdrBCFqdt9NTp2r7hga6Sj
40-
oASSZY4B9pf+GblDy5m10KDx90BFKXdPMCLT+o76Nx9PpCvw13A848wHNG3bpBgI
41-
t+w/vJCX3bkRn8yEYAU6GdMbYe7v446hX3kY5UmgeJFr9xz1kq6AzYrMt/UHhNzO
42-
S+QckJaY0OGWvmTNspY3xCbbFtIDkCdBS8CZAw+itnofvnWWKQEXlt6otPh5njwy
43-
+O1t/Q+Z7OMDYQaH02IQx3188/kW3FzOY32knER1uzjmRO+jhA8CAwEAATANBgkq
44-
hkiG9w0BAQsFAAOCAQEAnDrROGRETB0woIcI1+acY1yRq4yAcH2/hdq2MoM+DCyM
45-
E8CJaOznGR9ND0ImWpTZqomHOUkOBpvu7u315blQZcLbL1LfHJGRTCHVhvVrcyEb
46-
fWTnRtAQdlirUm/obwXIitoz64VSbIVzcqqfg9C6ZREB9JbEX98/9Wp2gVY+31oC
47-
JfUvYadSYxh3nblvA4OL+iEZiW8NE3hbW6WPXxvS7Euge0uWMPc4uEcnsE0ZVG3m
48-
+TGimzSdeWDvGBRWZHXczC2zD4aoE5vrl+GD2i++c6yjL/otHfYyUpzUfbI2hMAA
49-
5tAF1D5vAAwA8nfPysumlLsIjohJZo4lgnhB++AlOg==
50-
-----END CERTIFICATE-----
51-
)EOF";
52-
53-
staticconstchar serverKey[] PROGMEM =R"EOF(
54-
-----BEGIN RSA PRIVATE KEY-----
55-
MIIEpQIBAAKCAQEA9UoHBtn4oNKXjRgIOQ/rLxK/iI0a8Q5mDxhfuwa9//FkftSI
56-
IFY8UhGk2YNJpnfKOyYWqbqwuJhIZJ2sEIWp2301OnavuGBrpKOgBJJljgH2l/4Z
57-
uUPLmbXQoPH3QEUpd08wItP6jvo3H0+kK/DXcDzjzAc0bdukGAi37D+8kJfduRGf
58-
zIRgBToZ0xth7u/jjqFfeRjlSaB4kWv3HPWSroDNisy39QeE3M5L5ByQlpjQ4Za+
59-
ZM2yljfEJtsW0gOQJ0FLwJkDD6K2eh++dZYpAReW3qi0+HmePDL47W39D5ns4wNh
60-
BofTYhDHfXzz+RbcXM5jfaScRHW7OOZE76OEDwIDAQABAoIBAQDKov5NFbNFQNR8
61-
djcM1O7Is6dRaqiwLeH4ZH1pZ3d9QnFwKanPdQ5eCj9yhfhJMrr5xEyCqT0nMn7T
62-
yEIGYDXjontfsf8WxWkH2TjvrfWBrHOIOx4LJEvFzyLsYxiMmtZXvy6YByD+Dw2M
63-
q2GH/24rRdI2klkozIOyazluTXU8yOsSGxHr/aOa9/sZISgLmaGOOuKI/3Zqjdhr
64-
eHeSqoQFt3xXa8jw01YubQUDw/4cv9rk2ytTdAoQUimiKtgtjsggpP1LTq4xcuqN
65-
d4jWhTcnorWpbD2cVLxrEbnSR3VuBCJEZv5axg5ZPxLEnlcId8vMtvTRb5nzzszn
66-
geYUWDPhAoGBAPyKVNqqwQl44oIeiuRM2FYenMt4voVaz3ExJX2JysrG0jtCPv+Y
67-
84R6Cv3nfITz3EZDWp5sW3OwoGr77lF7Tv9tD6BptEmgBeuca3SHIdhG2MR+tLyx
68-
/tkIAarxQcTGsZaSqra3gXOJCMz9h2P5dxpdU+0yeMmOEnAqgQ8qtNBfAoGBAPim
69-
RAtnrd0WSlCgqVGYFCvDh1kD5QTNbZc+1PcBHbVV45EmJ2fLXnlDeplIZJdYxmzu
70-
DMOxZBYgfeLY9exje00eZJNSj/csjJQqiRftrbvYY7m5njX1kM5K8x4HlynQTDkg
71-
rtKO0YZJxxmjRTbFGMegh1SLlFLRIMtehNhOgipRAoGBAPnEEpJGCS9GGLfaX0HW
72-
YqwiEK8Il12q57mqgsq7ag7NPwWOymHesxHV5mMh/Dw+NyBi4xAGWRh9mtrUmeqK
73-
iyICik773Gxo0RIqnPgd4jJWN3N3YWeynzulOIkJnSNx5BforOCTc3uCD2s2YB5X
74-
jx1LKoNQxLeLRN8cmpIWicf/AoGBANjRSsZTKwV9WWIDJoHyxav/vPb+8WYFp8lZ
75-
zaRxQbGM6nn4NiZI7OF62N3uhWB/1c7IqTK/bVHqFTuJCrCNcsgld3gLZ2QWYaMV
76-
kCPgaj1BjHw4AmB0+EcajfKilcqtSroJ6MfMJ6IclVOizkjbByeTsE4lxDmPCDSt
77-
/9MKanBxAoGAY9xo741Pn9WUxDyRplww606ccdNf/ksHWNc/Y2B5SPwxxSnIq8nO
78-
j01SmsCUYVFAgZVOTiiycakjYLzxlc6p8BxSVqy6LlJqn95N8OXoQ+bkwUux/ekg
79-
gz5JWYhbD6c38khSzJb0pNXCo3EuYAVa36kDM96k1BtWuhRS10Q1VXk=
80-
-----END RSA PRIVATE KEY-----
81-
)EOF";
30+
#defineUSING_INSECURE_CERTS_AND_KEYS_AND_CAS1
31+
#include<ssl-tls-ca-key-cert-example.h>
8232

33+
String bigChunk;
8334

8435
constint led =13;
8536

@@ -104,6 +55,16 @@ void handleNotFound() {
10455
digitalWrite(led,0);
10556
}
10657

58+
voidhandleChunked() {
59+
server.chunkedResponseModeStart(200,F("text/html"));
60+
61+
server.sendContent(bigChunk);
62+
server.sendContent(F("chunk 2"));
63+
server.sendContent(bigChunk);
64+
65+
server.chunkedResponseFinalize();
66+
}
67+
10768
voidsetup(void) {
10869
pinMode(led, OUTPUT);
10970
digitalWrite(led,0);
@@ -127,7 +88,7 @@ void setup(void) {
12788

12889
if (MDNS.begin("esp8266")) { Serial.println("MDNS responder started"); }
12990

130-
server.getServer().setRSACert(newBearSSL::X509List(serverCert),newBearSSL::PrivateKey(serverKey));
91+
server.getServer().setRSACert(newBearSSL::X509List(server_cert),newBearSSL::PrivateKey(server_private_key));
13192

13293
// Cache SSL sessions to accelerate the TLS handshake.
13394
server.getServer().setCache(&serverCache);
@@ -138,8 +99,19 @@ void setup(void) {
13899
server.send(200,"text/plain","this works as well");
139100
});
140101

102+
server.on("/chunks", handleChunked);
103+
141104
server.onNotFound(handleNotFound);
142105

106+
// prepare chunk in ram for sending
107+
constexprint chunkLen =4000;// ~4KB chunk
108+
bigChunk.reserve(chunkLen);
109+
bigChunk =F("chunk of len");
110+
bigChunk += chunkLen;
111+
String piece =F("-blah");
112+
while (bigChunk.length() < chunkLen - piece.length())
113+
bigChunk += piece;
114+
143115
server.begin();
144116
Serial.println("HTTPS server started");
145117
}

‎libraries/ESP8266WiFi/examples/BearSSL_Server/BearSSL_Server.ino‎

Lines changed: 2 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -50,93 +50,8 @@ BearSSL::WiFiServerSecure server(443);
5050

5151
//#define USE_EC // Enable Elliptic Curve signed cert
5252

53-
#ifndef USE_EC
54-
55-
// The server's private key which must be kept secret
56-
constchar server_private_key[] PROGMEM =R"EOF(
57-
-----BEGIN PRIVATE KEY-----
58-
MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQDJblrg47vF3qlE
59-
NMRM7uG8QwE6v/AKpxOL+CLb/32s+dW9Psgf+oZKJgzGkYUoJdWpLitTmTZeykAs
60-
Sq7Iax5Rq/mGqyAc7oJAUUAupfNRU0KwkD1XqtpQWEFoiqoIqZbOZ4CRX5q8z/MN
61-
BH1aPVBMKaL33uwknkgJBzxwZJ2+uGKxRJt8+koj1CXgUCk5lEAEEG5kqE326MjN
62-
O/c4gBqulBV8AIoq6/trY3apTS7FEOiN47qh1PVzoBm/oGVwXvoZAZOj7+gGGo91
63-
sBC5oHJy5Y2BOcNB3opTNXQTiK3Z80b5wc3iQS+h83qAfHwhs6tfAW22WkAf+jtt
64-
x8KdRWFNAgMBAAECggEAPd+jFL9/d1lc/zGCNuuN9YlTgFti/bKyo2UWOCOz1AVu
65-
LVJyoLgQtggYFoqur1Vn2y7uaiB+/gD8U16hb7jPuGCuJjq8g4aUBfOvVmTtZ8a+
66-
joPQA/TcWJ+zf8xQTJbjVwWeDYmje2oZC5+cbbK1zp9fiuoz+U+RawyI+TE+700i
67-
ESCmsKFIHy2Ifruva8HgcPYIPpZ9zLxJj0Dii+WDs7zM9h2dzO4HfImSG/DPmgoV
68-
ydo9IcrUE7KoMLa8Uo7u1b2h6BnTn7GfYiMSUsYcYR3CnpDBknBWjZMwrV0uqv9q
69-
TbVc4QXt+c1q89HDg7BIJaOAzbCvJfgAfXUqZyqwQQKBgQD5ENFjicUzCqPw7fOy
70-
Q5Z8GeUbIJ5urT1MheAq7SPd2kK8TsO3hUjNC0LLNSyKPs6gsYaIiObO3wDGeZZk
71-
xeHBhrUVaz2nIjI7TrnCUpMDOrdxcPr4bc+ifV5YT4W3OFBWQ9chQEx3Nm3DbiX4
72-
fpno34AiFrJF791JkTPFj9OIUQKBgQDPCgcae1pQr77q+GL5Q2tku3RrE4cWtExf
73-
m8DzAb4Vxe3EhPz8bVr+71rqr/KqNfG1uKE3sT0fhB6VMTkHTOQU13jDrvpPUS3W
74-
Vg8cVr5/+iiyF0xb+W8LQ+GVdR5xnMPSZHUtXyURvtzT4nnTAlAtN7lEytX9BzbX
75-
xhltOOwGPQKBgA/Y/BnDSGLpCGlqGpl7J3YaB7PkLXCJYV8fHZZdpGyXWKu2r0lc
76-
F7fEQanAZmcde/RJl2/UlisPkXMPhXxAAw9XTOph+nhJ+rw/VB6DNot8DvQO5kks
77-
Y4vJQlmIJc/0q1fx1RxuhO8I7Y8D0TKwi4Z/wh1pKEq+6mul649kiWchAoGAWn8B
78-
l9uvIHGRO9eSO23ytTcSrfL9Kzln4KqN7iom0hGP2kRe6F9MVP5+ePKrWSb3Hf0z
79-
ysoX83ymeYPob352e32rda04EA9lv7giJrrrzbikrSNt5w3iMcRcCB4HTpW9Kmtq
80-
pIhgBZ+tmpf1s/vg28LtoloeqtjKagpW9tzYnekCgYAZFZ84EGqS9SHw5LELgGY4
81-
mQLMwbYZ6wBMA2PlqYi/17hoAVWz37mLDjtWDB4ir78QMoGbesQVtK9W/4vzmez4
82-
ZLKlffdL5tCtA08Gq9aond1z83Xdnh1UjtwHIJvJPc/AoCFW1r5skv/G6acAk6I2
83-
Zs0aiirNGTEymRX4rw26Qg==
84-
-----END PRIVATE KEY-----
85-
)EOF";
86-
87-
// The server's public certificate which must be shared
88-
constchar server_cert[] PROGMEM =R"EOF(
89-
-----BEGIN CERTIFICATE-----
90-
MIIDUTCCAjmgAwIBAgIJAOcfK7c3JQtnMA0GCSqGSIb3DQEBCwUAMD8xCzAJBgNV
91-
BAYTAkFVMQ0wCwYDVQQIDAROb25lMQ0wCwYDVQQKDAROb25lMRIwEAYDVQQDDAlF
92-
U1BTZXJ2ZXIwHhcNMTgwMzE0MTg1NTQ1WhcNMjkwNTMxMTg1NTQ1WjA/MQswCQYD
93-
VQQGEwJBVTENMAsGA1UECAwETm9uZTENMAsGA1UECgwETm9uZTESMBAGA1UEAwwJ
94-
RVNQU2VydmVyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyW5a4OO7
95-
xd6pRDTETO7hvEMBOr/wCqcTi/gi2/99rPnVvT7IH/qGSiYMxpGFKCXVqS4rU5k2
96-
XspALEquyGseUav5hqsgHO6CQFFALqXzUVNCsJA9V6raUFhBaIqqCKmWzmeAkV+a
97-
vM/zDQR9Wj1QTCmi997sJJ5ICQc8cGSdvrhisUSbfPpKI9Ql4FApOZRABBBuZKhN
98-
9ujIzTv3OIAarpQVfACKKuv7a2N2qU0uxRDojeO6odT1c6AZv6BlcF76GQGTo+/o
99-
BhqPdbAQuaBycuWNgTnDQd6KUzV0E4it2fNG+cHN4kEvofN6gHx8IbOrXwFttlpA
100-
H/o7bcfCnUVhTQIDAQABo1AwTjAdBgNVHQ4EFgQUBEk8LqgV+sMjdl/gpP1OlcNW
101-
14EwHwYDVR0jBBgwFoAUBEk8LqgV+sMjdl/gpP1OlcNW14EwDAYDVR0TBAUwAwEB
102-
/zANBgkqhkiG9w0BAQsFAAOCAQEAO1IrqW21KfzrxKmtuDSHdH5YrC3iOhiF/kaK
103-
xXbigdtw6KHW/pIhGiA3BY5u+d5eVuHTR5YSwIbbRvOjuoNBATAw/8f5mt5Wa+C3
104-
PDpLNxDys561VbCW45RMQ0x5kybvDYi0D1R/grqZ18veuFSfE6QMJ/mzvr575fje
105-
8r5Ou0IZOYYF8cyqG5rA4U7BYXEnH44VgwlpkF8pitPsnyUWaAYqE0KnZ0qw0Py4
106-
HCkfGJNlNOOamnr6KakVlocwKY0SdxcLoXSs5ogTQvTSrAOjwcm1RA0hOCXr8f/f
107-
UsQIIGpPVh1plR1vYNndDeBpRJSFkoJTkgAIrlFzSMwNebU0pg==
108-
-----END CERTIFICATE-----
109-
)EOF";
110-
111-
#else
112-
constchar server_cert[] PROGMEM =R"EOF(
113-
-----BEGIN CERTIFICATE-----
114-
MIIB0zCCAXqgAwIBAgIJALANi2eTiGD/MAoGCCqGSM49BAMCMEUxCzAJBgNVBAYT
115-
AkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRn
116-
aXRzIFB0eSBMdGQwHhcNMTkwNjExMjIyOTU2WhcNMjAwNjEwMjIyOTU2WjBFMQsw
117-
CQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50ZXJu
118-
ZXQgV2lkZ2l0cyBQdHkgTHRkMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAExIkZ
119-
w7zjk6TGcScff1PAehuEGmKZTf8VfnkjyJH0IbBgZibZ+qwYGBEnkz4KpKv7TkHo
120-
W+j7F5EMcLcSrUIpy6NTMFEwHQYDVR0OBBYEFI6A0f+g0HyxUT6xrbVmRU79urbj
121-
MB8GA1UdIwQYMBaAFI6A0f+g0HyxUT6xrbVmRU79urbjMA8GA1UdEwEB/wQFMAMB
122-
Af8wCgYIKoZIzj0EAwIDRwAwRAIgWvy7ofQTGZMNqxUfe4gjtkU+C9AkQtaOMW2U
123-
5xFFSvcCICvcGrQpoi7tRTq8xsXFmr8MYWgQTpVAtj6opXMQct/l
124-
-----END CERTIFICATE-----
125-
)EOF";
126-
127-
// The server's private key which must be kept secret
128-
constchar server_private_key[] PROGMEM =R"EOF(
129-
-----BEGIN EC PARAMETERS-----
130-
BggqhkjOPQMBBw==
131-
-----END EC PARAMETERS-----
132-
-----BEGIN EC PRIVATE KEY-----
133-
MHcCAQEEIKyLR9/NT7ZdWM+2rklehveuk+jyIHJ+P8ZUQ392HOYvoAoGCCqGSM49
134-
AwEHoUQDQgAExIkZw7zjk6TGcScff1PAehuEGmKZTf8VfnkjyJH0IbBgZibZ+qwY
135-
GBEnkz4KpKv7TkHoW+j7F5EMcLcSrUIpyw==
136-
-----END EC PRIVATE KEY-----
137-
)EOF";
138-
139-
#endif
53+
#defineUSING_INSECURE_CERTS_AND_KEYS_AND_CAS1
54+
#include<ssl-tls-ca-key-cert-example.h>
14055

14156
#defineCACHE_SIZE5// Number of sessions to cache.
14257
#defineUSE_CACHE// Enable SSL session caching.

‎libraries/ESP8266WiFi/examples/BearSSL_Server/DO-NOT-USE-THESE-CERTS-IN-YOUR-OWN-APPS‎

Whitespace-only changes.

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp