1*1c60b9acSAndroid Build Coastguard Worker# lws minimal http client certinfo
2*1c60b9acSAndroid Build Coastguard Worker
3*1c60b9acSAndroid Build Coastguard WorkerThis demonstrates how to dump information from the peer
4*1c60b9acSAndroid Build Coastguard Workercertificate largely independent of the tls backend.
5*1c60b9acSAndroid Build Coastguard Worker
6*1c60b9acSAndroid Build Coastguard WorkerThe application goes to https://warmcat.com and receives the page data.
7*1c60b9acSAndroid Build Coastguard Worker
8*1c60b9acSAndroid Build Coastguard WorkerBefore receiving the page it dumps information on the server's cert.
9*1c60b9acSAndroid Build Coastguard Worker
10*1c60b9acSAndroid Build Coastguard WorkerThis works independently of the tls backend being OpenSSL or mbedTLS.
11*1c60b9acSAndroid Build Coastguard Worker
12*1c60b9acSAndroid Build Coastguard WorkerHowever the public keys cannot be compared between the two tls
13*1c60b9acSAndroid Build Coastguard Workerbackends, since they produce different representations.
14*1c60b9acSAndroid Build Coastguard Worker
15*1c60b9acSAndroid Build Coastguard Worker## build
16*1c60b9acSAndroid Build Coastguard Worker
17*1c60b9acSAndroid Build Coastguard Worker```
18*1c60b9acSAndroid Build Coastguard Worker $ cmake . && make
19*1c60b9acSAndroid Build Coastguard Worker```
20*1c60b9acSAndroid Build Coastguard Worker
21*1c60b9acSAndroid Build Coastguard Worker## usage
22*1c60b9acSAndroid Build Coastguard Worker
23*1c60b9acSAndroid Build Coastguard WorkerCommandline option|Meaning
24*1c60b9acSAndroid Build Coastguard Worker---|---
25*1c60b9acSAndroid Build Coastguard Worker-d <loglevel>|Debug verbosity in decimal, eg, -d15
26*1c60b9acSAndroid Build Coastguard Worker-l| Connect to https://localhost:7681 and accept selfsigned cert
27*1c60b9acSAndroid Build Coastguard Worker--h1|Specify http/1.1 only using ALPN, rejects h2 even if server supports it
28*1c60b9acSAndroid Build Coastguard Worker
29*1c60b9acSAndroid Build Coastguard Worker```
30*1c60b9acSAndroid Build Coastguard Worker $ ./lws-minimal-http-client-certinfo
31*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:26:5882] USER: LWS minimal http client
32*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:26:5897] NOTICE: Creating Vhost 'default' (serving disabled), 1 protocols, IPv6 on
33*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:26:5955] NOTICE: created client ssl context for default
34*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0824] NOTICE: lws_http_client_http_response 200
35*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0824] NOTICE:  Peer Cert CN        : warmcat.com
36*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0824] NOTICE:  Peer Cert issuer    : /C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited
37*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0825] NOTICE:  Peer Cert Valid from: Mon Nov  3 00:00:00 2014
38*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0825] NOTICE:  Peer Cert Valid to  : Sat Nov  2 23:59:59 2019
39*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0825] NOTICE:  Peer Cert usage bits: 0xa0
40*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0825] NOTICE:  Peer Cert public key:
41*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0825] NOTICE:
42*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0825] NOTICE: 0000: 30 82 01 22 30 0D 06 09 2A 86 48 86 F7 0D 01 01    0.."0...*.H.....
43*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0825] NOTICE: 0010: 01 05 00 03 82 01 0F 00 30 82 01 0A 02 82 01 01    ........0.......
44*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0825] NOTICE: 0020: 00 EC 39 C1 98 25 A8 99 AC 01 9B D2 16 C0 CA A3    ..9..%..........
45*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0825] NOTICE: 0030: 0E 19 57 E5 3D 23 F3 79 7E 63 BF CD B8 88 D1 16    ..W.=#.y~c......
46*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0825] NOTICE: 0040: C6 F0 A6 ED 66 CB F3 C3 D6 7E A7 A3 AB 00 0A 3E    ....f....~.....>
47*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0825] NOTICE: 0050: AD EF 20 44 85 5A 61 F0 71 20 BD E3 D1 4B B6 53    .. D.Za.q ...K.S
48*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0825] NOTICE: 0060: 57 AA 81 E6 ED 74 36 40 E7 FC 62 24 AD E8 82 1D    [email protected]$....
49*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0826] NOTICE: 0070: 89 C4 3D 64 6C A8 34 4B DB FB DD 7D D2 2D FB 86    ..=dl.4K...}.-..
50*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0826] NOTICE: 0080: 97 EA 6B E2 C9 39 D6 19 DE A8 90 E7 86 8F CF 0A    ..k..9..........
51*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0826] NOTICE: 0090: CD 09 3C AF FB 0A FF 85 E8 93 D1 4B A0 C5 21 AD    ..<........K..!.
52*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0826] NOTICE: 00A0: 58 52 30 0E 4B FE 4F C8 01 B9 BD 0F D4 E4 64 7B    XR0.K.O.......d{
53*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0826] NOTICE: 00B0: 04 B4 D2 68 69 8F F1 D5 FD B0 1A CE 55 43 08 B7    ...hi.......UC..
54*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0826] NOTICE: 00C0: 9F 57 0D 4E E1 CA E8 5C B4 2A 6B AB 05 B5 57 67    .W.N...\.*k...Wg
55*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0826] NOTICE: 00D0: B8 FD 20 F4 4F 6B 0E 47 7C AD EB B4 99 2C 9B 53    .. .Ok.G|....,.S
56*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0826] NOTICE: 00E0: DF EA 67 8D 8A 9D A7 17 01 F9 4E BD 56 43 50 53    ..g.......N.VCPS
57*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0826] NOTICE: 00F0: 08 4E FE 6A 85 4A 4D 45 03 DA 01 00 96 7A C0 A9    .N.j.JME.....z..
58*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0826] NOTICE: 0100: C2 32 5E 1A 9F 6F 7B E2 02 5E 70 12 D3 8E 76 6A    .2^..o{..^p...vj
59*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0826] NOTICE: 0110: 0B 59 A4 D7 31 9D C6 86 08 53 2E 02 8A 1E B1 FB    .Y..1....S......
60*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0826] NOTICE: 0120: 7B 02 03 01 00 01                                  {.....
61*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0826] NOTICE:
62*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0829] USER: RECEIVE_CLIENT_HTTP_READ: read 503
63*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0829] USER: RECEIVE_CLIENT_HTTP_READ: read 512
64*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0829] USER: RECEIVE_CLIENT_HTTP_READ: read 512
65*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:0829] USER: RECEIVE_CLIENT_HTTP_READ: read 512
66*1c60b9acSAndroid Build Coastguard Worker...
67*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:3777] USER: RECEIVE_CLIENT_HTTP_READ: read 512
68*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:3777] USER: RECEIVE_CLIENT_HTTP_READ: read 512
69*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:3778] USER: RECEIVE_CLIENT_HTTP_READ: read 503
70*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:3778] USER: RECEIVE_CLIENT_HTTP_READ: read 512
71*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:3778] USER: RECEIVE_CLIENT_HTTP_READ: read 512
72*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:3778] USER: RECEIVE_CLIENT_HTTP_READ: read 471
73*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:3778] USER: LWS_CALLBACK_COMPLETED_CLIENT_HTTP
74*1c60b9acSAndroid Build Coastguard Worker[2018/04/05 21:39:28:3787] USER: Completed
75*1c60b9acSAndroid Build Coastguard Worker```
76*1c60b9acSAndroid Build Coastguard Worker
77*1c60b9acSAndroid Build Coastguard Worker
78