1
1
#include " mbed.h"
2
2
#include " mbed_trace.h"
3
3
4
- const char * cert = \
5
- " -----BEGIN CERTIFICATE-----\n " \
6
- " MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU\n " \
7
- " MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs\n " \
8
- " IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290\n " \
9
- " MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux\n " \
10
- " FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h\n " \
11
- " bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v\n " \
12
- " dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt\n " \
13
- " H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9\n " \
14
- " uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX\n " \
15
- " mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX\n " \
16
- " a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN\n " \
17
- " E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0\n " \
18
- " WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD\n " \
19
- " VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0\n " \
20
- " Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU\n " \
21
- " cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx\n " \
22
- " IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN\n " \
23
- " AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH\n " \
24
- " YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5\n " \
25
- " 6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC\n " \
26
- " Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX\n " \
27
- " c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a\n " \
28
- " mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=\n " \
4
+ const char cert[] = \
5
+ " -----BEGIN CERTIFICATE-----\n "
6
+ " MIIENjCCAx6gAwIBAgIBATANBgkqhkiG9w0BAQUFADBvMQswCQYDVQQGEwJTRTEU\n "
7
+ " MBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFkZFRydXN0IEV4dGVybmFs\n "
8
+ " IFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBFeHRlcm5hbCBDQSBSb290\n "
9
+ " MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFowbzELMAkGA1UEBhMCU0Ux\n "
10
+ " FDASBgNVBAoTC0FkZFRydXN0IEFCMSYwJAYDVQQLEx1BZGRUcnVzdCBFeHRlcm5h\n "
11
+ " bCBUVFAgTmV0d29yazEiMCAGA1UEAxMZQWRkVHJ1c3QgRXh0ZXJuYWwgQ0EgUm9v\n "
12
+ " dDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALf3GjPm8gAELTngTlvt\n "
13
+ " H7xsD821+iO2zt6bETOXpClMfZOfvUq8k+0DGuOPz+VtUFrWlymUWoCwSXrbLpX9\n "
14
+ " uMq/NzgtHj6RQa1wVsfwTz/oMp50ysiQVOnGXw94nZpAPA6sYapeFI+eh6FqUNzX\n "
15
+ " mk6vBbOmcZSccbNQYArHE504B4YCqOmoaSYYkKtMsE8jqzpPhNjfzp/haW+710LX\n "
16
+ " a0Tkx63ubUFfclpxCDezeWWkWaCUN/cALw3CknLa0Dhy2xSoRcRdKn23tNbE7qzN\n "
17
+ " E0S3ySvdQwAl+mG5aWpYIxG3pzOPVnVZ9c0p10a3CitlttNCbxWyuHv77+ldU9U0\n "
18
+ " WicCAwEAAaOB3DCB2TAdBgNVHQ4EFgQUrb2YejS0Jvf6xCZU7wO94CTLVBowCwYD\n "
19
+ " VR0PBAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wgZkGA1UdIwSBkTCBjoAUrb2YejS0\n "
20
+ " Jvf6xCZU7wO94CTLVBqhc6RxMG8xCzAJBgNVBAYTAlNFMRQwEgYDVQQKEwtBZGRU\n "
21
+ " cnVzdCBBQjEmMCQGA1UECxMdQWRkVHJ1c3QgRXh0ZXJuYWwgVFRQIE5ldHdvcmsx\n "
22
+ " IjAgBgNVBAMTGUFkZFRydXN0IEV4dGVybmFsIENBIFJvb3SCAQEwDQYJKoZIhvcN\n "
23
+ " AQEFBQADggEBALCb4IUlwtYj4g+WBpKdQZic2YR5gdkeWxQHIzZlj7DYd7usQWxH\n "
24
+ " YINRsPkyPef89iYTx4AWpb9a/IfPeHmJIZriTAcKhjW88t5RxNKWt9x+Tu5w/Rw5\n "
25
+ " 6wwCURQtjr0W4MHfRnXnJK3s9EK0hZNwEGe6nQY1ShjTK3rMUUKhemPR5ruhxSvC\n "
26
+ " Nr4TDea9Y355e6cJDUCrat2PisP29owaQgVR1EX1n6diIWgVIEM8med8vSTYqZEX\n "
27
+ " c4g/VhsxOBi0cQ+azcgOno4uG+GMmIPLHzHxREzGBHNJdmAPx/i9F4BrLunMTA5a\n "
28
+ " mnkPIAou1Z5jJh5VkpTYghdae9C8x49OhgQ=\n "
29
29
" -----END CERTIFICATE-----" ;
30
30
31
31
int main (void )
@@ -55,7 +55,11 @@ int main(void)
55
55
}
56
56
57
57
TLSSocket *socket = new TLSSocket;
58
- socket->set_root_ca_cert (cert);
58
+ result = socket->set_root_ca_cert (cert);
59
+ if (result != 0 ) {
60
+ printf (" Error: socket->set_root_ca_cert() returned %d\n " , result);
61
+ return result;
62
+ }
59
63
60
64
result = socket->open (net);
61
65
if (result != 0 ) {
@@ -72,22 +76,18 @@ int main(void)
72
76
73
77
// Send a simple http request
74
78
size = strlen (query);
75
-
76
- // Loop until whole request sent
77
- while (size) {
78
- result = socket->send (query+result, size);
79
- if (result < 0 ) {
80
- printf (" Error! socket->send() returned: %d\n " , result);
81
- goto DISCONNECT;
82
- }
83
- size -= result;
79
+ result = socket->send (query+result, size);
80
+ if (result != size) {
81
+ printf (" Error! socket->send() returned: %d\n " , result);
82
+ goto DISCONNECT;
84
83
}
85
84
86
85
// Receieve an HTTP response and print out the response line
87
- while (0 < (result = socket->recv (buffer, 255 ))) {
88
- buffer[255 ] = 0 ;
89
- printf (" %s\n " , buffer);
86
+ while ((result = socket->recv (buffer, 255 )) > 0 ) {
87
+ buffer[result ] = 0 ;
88
+ printf (" %s" , buffer);
90
89
}
90
+ printf (" \n " );
91
91
92
92
if (result < 0 ) {
93
93
printf (" Error! socket->recv() returned: %d\n " , result);
@@ -103,4 +103,4 @@ int main(void)
103
103
// Bring down the ethernet interface
104
104
net->disconnect ();
105
105
printf (" Done\n " );
106
- }
106
+ }
0 commit comments