2
3
4
5
6
7
8
9
11#ifndef HEADER_SSLERR_H
12# define HEADER_SSLERR_H
14# ifndef HEADER_SYMHACKS_H
15# include <openssl/symhacks.h>
24
25
26# define SSL_F_ADD_CLIENT_KEY_SHARE_EXT 438
27# define SSL_F_ADD_KEY_SHARE 512
28# define SSL_F_BYTES_TO_CIPHER_LIST 519
29# define SSL_F_CHECK_SUITEB_CIPHER_LIST 331
30# define SSL_F_CIPHERSUITE_CB 622
31# define SSL_F_CONSTRUCT_CA_NAMES 552
32# define SSL_F_CONSTRUCT_KEY_EXCHANGE_TBS 553
33# define SSL_F_CONSTRUCT_STATEFUL_TICKET 636
34# define SSL_F_CONSTRUCT_STATELESS_TICKET 637
35# define SSL_F_CREATE_SYNTHETIC_MESSAGE_HASH 539
36# define SSL_F_CREATE_TICKET_PREQUEL 638
37# define SSL_F_CT_MOVE_SCTS 345
38# define SSL_F_CT_STRICT 349
39# define SSL_F_CUSTOM_EXT_ADD 554
40# define SSL_F_CUSTOM_EXT_PARSE 555
41# define SSL_F_D2I_SSL_SESSION 103
42# define SSL_F_DANE_CTX_ENABLE 347
43# define SSL_F_DANE_MTYPE_SET 393
44# define SSL_F_DANE_TLSA_ADD 394
45# define SSL_F_DERIVE_SECRET_KEY_AND_IV 514
46# define SSL_F_DO_DTLS1_WRITE 245
47# define SSL_F_DO_SSL3_WRITE 104
48# define SSL_F_DTLS1_BUFFER_RECORD 247
49# define SSL_F_DTLS1_CHECK_TIMEOUT_NUM 318
50# define SSL_F_DTLS1_HEARTBEAT 305
51# define SSL_F_DTLS1_HM_FRAGMENT_NEW 623
52# define SSL_F_DTLS1_PREPROCESS_FRAGMENT 288
53# define SSL_F_DTLS1_PROCESS_BUFFERED_RECORDS 424
54# define SSL_F_DTLS1_PROCESS_RECORD 257
55# define SSL_F_DTLS1_READ_BYTES 258
56# define SSL_F_DTLS1_READ_FAILED 339
57# define SSL_F_DTLS1_RETRANSMIT_MESSAGE 390
58# define SSL_F_DTLS1_WRITE_APP_DATA_BYTES 268
59# define SSL_F_DTLS1_WRITE_BYTES 545
60# define SSL_F_DTLSV1_LISTEN 350
61# define SSL_F_DTLS_CONSTRUCT_CHANGE_CIPHER_SPEC 371
62# define SSL_F_DTLS_CONSTRUCT_HELLO_VERIFY_REQUEST 385
63# define SSL_F_DTLS_GET_REASSEMBLED_MESSAGE 370
64# define SSL_F_DTLS_PROCESS_HELLO_VERIFY 386
65# define SSL_F_DTLS_RECORD_LAYER_NEW 635
66# define SSL_F_DTLS_WAIT_FOR_DRY 592
67# define SSL_F_EARLY_DATA_COUNT_OK 532
68# define SSL_F_FINAL_EARLY_DATA 556
69# define SSL_F_FINAL_EC_PT_FORMATS 485
70# define SSL_F_FINAL_EMS 486
71# define SSL_F_FINAL_KEY_SHARE 503
72# define SSL_F_FINAL_MAXFRAGMENTLEN 557
73# define SSL_F_FINAL_RENEGOTIATE 483
74# define SSL_F_FINAL_SERVER_NAME 558
75# define SSL_F_FINAL_SIG_ALGS 497
76# define SSL_F_GET_CERT_VERIFY_TBS_DATA 588
77# define SSL_F_NSS_KEYLOG_INT 500
78# define SSL_F_OPENSSL_INIT_SSL 342
79# define SSL_F_OSSL_STATEM_CLIENT13_READ_TRANSITION 436
80# define SSL_F_OSSL_STATEM_CLIENT13_WRITE_TRANSITION 598
81# define SSL_F_OSSL_STATEM_CLIENT_CONSTRUCT_MESSAGE 430
82# define SSL_F_OSSL_STATEM_CLIENT_POST_PROCESS_MESSAGE 593
83# define SSL_F_OSSL_STATEM_CLIENT_PROCESS_MESSAGE 594
84# define SSL_F_OSSL_STATEM_CLIENT_READ_TRANSITION 417
85# define SSL_F_OSSL_STATEM_CLIENT_WRITE_TRANSITION 599
86# define SSL_F_OSSL_STATEM_SERVER13_READ_TRANSITION 437
87# define SSL_F_OSSL_STATEM_SERVER13_WRITE_TRANSITION 600
88# define SSL_F_OSSL_STATEM_SERVER_CONSTRUCT_MESSAGE 431
89# define SSL_F_OSSL_STATEM_SERVER_POST_PROCESS_MESSAGE 601
90# define SSL_F_OSSL_STATEM_SERVER_POST_WORK 602
91# define SSL_F_OSSL_STATEM_SERVER_PRE_WORK 640
92# define SSL_F_OSSL_STATEM_SERVER_PROCESS_MESSAGE 603
93# define SSL_F_OSSL_STATEM_SERVER_READ_TRANSITION 418
94# define SSL_F_OSSL_STATEM_SERVER_WRITE_TRANSITION 604
95# define SSL_F_PARSE_CA_NAMES 541
96# define SSL_F_PITEM_NEW 624
97# define SSL_F_PQUEUE_NEW 625
98# define SSL_F_PROCESS_KEY_SHARE_EXT 439
99# define SSL_F_READ_STATE_MACHINE 352
100# define SSL_F_SET_CLIENT_CIPHERSUITE 540
101# define SSL_F_SRP_GENERATE_CLIENT_MASTER_SECRET 595
102# define SSL_F_SRP_GENERATE_SERVER_MASTER_SECRET 589
103# define SSL_F_SRP_VERIFY_SERVER_PARAM 596
104# define SSL_F_SSL3_CHANGE_CIPHER_STATE 129
105# define SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM 130
106# define SSL_F_SSL3_CTRL 213
107# define SSL_F_SSL3_CTX_CTRL 133
108# define SSL_F_SSL3_DIGEST_CACHED_RECORDS 293
109# define SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC 292
110# define SSL_F_SSL3_ENC 608
111# define SSL_F_SSL3_FINAL_FINISH_MAC 285
112# define SSL_F_SSL3_FINISH_MAC 587
113# define SSL_F_SSL3_GENERATE_KEY_BLOCK 238
114# define SSL_F_SSL3_GENERATE_MASTER_SECRET 388
115# define SSL_F_SSL3_GET_RECORD 143
116# define SSL_F_SSL3_INIT_FINISHED_MAC 397
117# define SSL_F_SSL3_OUTPUT_CERT_CHAIN 147
118# define SSL_F_SSL3_READ_BYTES 148
119# define SSL_F_SSL3_READ_N 149
120# define SSL_F_SSL3_SETUP_KEY_BLOCK 157
121# define SSL_F_SSL3_SETUP_READ_BUFFER 156
122# define SSL_F_SSL3_SETUP_WRITE_BUFFER 291
123# define SSL_F_SSL3_WRITE_BYTES 158
124# define SSL_F_SSL3_WRITE_PENDING 159
125# define SSL_F_SSL_ADD_CERT_CHAIN 316
126# define SSL_F_SSL_ADD_CERT_TO_BUF 319
127# define SSL_F_SSL_ADD_CERT_TO_WPACKET 493
128# define SSL_F_SSL_ADD_CLIENTHELLO_RENEGOTIATE_EXT 298
129# define SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT 277
130# define SSL_F_SSL_ADD_CLIENTHELLO_USE_SRTP_EXT 307
131# define SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK 215
132# define SSL_F_SSL_ADD_FILE_CERT_SUBJECTS_TO_STACK 216
133# define SSL_F_SSL_ADD_SERVERHELLO_RENEGOTIATE_EXT 299
134# define SSL_F_SSL_ADD_SERVERHELLO_TLSEXT 278
135# define SSL_F_SSL_ADD_SERVERHELLO_USE_SRTP_EXT 308
136# define SSL_F_SSL_BAD_METHOD 160
137# define SSL_F_SSL_BUILD_CERT_CHAIN 332
138# define SSL_F_SSL_BYTES_TO_CIPHER_LIST 161
139# define SSL_F_SSL_CACHE_CIPHERLIST 520
140# define SSL_F_SSL_CERT_ADD0_CHAIN_CERT 346
141# define SSL_F_SSL_CERT_DUP 221
142# define SSL_F_SSL_CERT_NEW 162
143# define SSL_F_SSL_CERT_SET0_CHAIN 340
144# define SSL_F_SSL_CHECK_PRIVATE_KEY 163
145# define SSL_F_SSL_CHECK_SERVERHELLO_TLSEXT 280
146# define SSL_F_SSL_CHECK_SRP_EXT_CLIENTHELLO 606
147# define SSL_F_SSL_CHECK_SRVR_ECC_CERT_AND_ALG 279
148# define SSL_F_SSL_CHOOSE_CLIENT_VERSION 607
149# define SSL_F_SSL_CIPHER_DESCRIPTION 626
150# define SSL_F_SSL_CIPHER_LIST_TO_BYTES 425
151# define SSL_F_SSL_CIPHER_PROCESS_RULESTR 230
152# define SSL_F_SSL_CIPHER_STRENGTH_SORT 231
153# define SSL_F_SSL_CLEAR 164
154# define SSL_F_SSL_CLIENT_HELLO_GET1_EXTENSIONS_PRESENT 627
155# define SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD 165
156# define SSL_F_SSL_CONF_CMD 334
157# define SSL_F_SSL_CREATE_CIPHER_LIST 166
158# define SSL_F_SSL_CTRL 232
159# define SSL_F_SSL_CTX_CHECK_PRIVATE_KEY 168
160# define SSL_F_SSL_CTX_ENABLE_CT 398
161# define SSL_F_SSL_CTX_MAKE_PROFILES 309
162# define SSL_F_SSL_CTX_NEW 169
163# define SSL_F_SSL_CTX_SET_ALPN_PROTOS 343
164# define SSL_F_SSL_CTX_SET_CIPHER_LIST 269
165# define SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE 290
166# define SSL_F_SSL_CTX_SET_CT_VALIDATION_CALLBACK 396
167# define SSL_F_SSL_CTX_SET_SESSION_ID_CONTEXT 219
168# define SSL_F_SSL_CTX_SET_SSL_VERSION 170
169# define SSL_F_SSL_CTX_SET_TLSEXT_MAX_FRAGMENT_LENGTH 551
170# define SSL_F_SSL_CTX_USE_CERTIFICATE 171
171# define SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1 172
172# define SSL_F_SSL_CTX_USE_CERTIFICATE_FILE 173
173# define SSL_F_SSL_CTX_USE_PRIVATEKEY 174
174# define SSL_F_SSL_CTX_USE_PRIVATEKEY_ASN1 175
175# define SSL_F_SSL_CTX_USE_PRIVATEKEY_FILE 176
176# define SSL_F_SSL_CTX_USE_PSK_IDENTITY_HINT 272
177# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY 177
178# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_ASN1 178
179# define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_FILE 179
180# define SSL_F_SSL_CTX_USE_SERVERINFO 336
181# define SSL_F_SSL_CTX_USE_SERVERINFO_EX 543
182# define SSL_F_SSL_CTX_USE_SERVERINFO_FILE 337
183# define SSL_F_SSL_DANE_DUP 403
184# define SSL_F_SSL_DANE_ENABLE 395
185# define SSL_F_SSL_DERIVE 590
186# define SSL_F_SSL_DO_CONFIG 391
187# define SSL_F_SSL_DO_HANDSHAKE 180
188# define SSL_F_SSL_DUP_CA_LIST 408
189# define SSL_F_SSL_ENABLE_CT 402
190# define SSL_F_SSL_GENERATE_PKEY_GROUP 559
191# define SSL_F_SSL_GENERATE_SESSION_ID 547
192# define SSL_F_SSL_GET_NEW_SESSION 181
193# define SSL_F_SSL_GET_PREV_SESSION 217
194# define SSL_F_SSL_GET_SERVER_CERT_INDEX 322
195# define SSL_F_SSL_GET_SIGN_PKEY 183
196# define SSL_F_SSL_HANDSHAKE_HASH 560
197# define SSL_F_SSL_INIT_WBIO_BUFFER 184
198# define SSL_F_SSL_KEY_UPDATE 515
199# define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185
200# define SSL_F_SSL_LOG_MASTER_SECRET 498
201# define SSL_F_SSL_LOG_RSA_CLIENT_KEY_EXCHANGE 499
202# define SSL_F_SSL_MODULE_INIT 392
203# define SSL_F_SSL_NEW 186
204# define SSL_F_SSL_NEXT_PROTO_VALIDATE 565
205# define SSL_F_SSL_PARSE_CLIENTHELLO_RENEGOTIATE_EXT 300
206# define SSL_F_SSL_PARSE_CLIENTHELLO_TLSEXT 302
207# define SSL_F_SSL_PARSE_CLIENTHELLO_USE_SRTP_EXT 310
208# define SSL_F_SSL_PARSE_SERVERHELLO_RENEGOTIATE_EXT 301
209# define SSL_F_SSL_PARSE_SERVERHELLO_TLSEXT 303
210# define SSL_F_SSL_PARSE_SERVERHELLO_USE_SRTP_EXT 311
211# define SSL_F_SSL_PEEK 270
212# define SSL_F_SSL_PEEK_EX 432
213# define SSL_F_SSL_PEEK_INTERNAL 522
214# define SSL_F_SSL_READ 223
215# define SSL_F_SSL_READ_EARLY_DATA 529
216# define SSL_F_SSL_READ_EX 434
217# define SSL_F_SSL_READ_INTERNAL 523
218# define SSL_F_SSL_RENEGOTIATE 516
219# define SSL_F_SSL_RENEGOTIATE_ABBREVIATED 546
220# define SSL_F_SSL_SCAN_CLIENTHELLO_TLSEXT 320
221# define SSL_F_SSL_SCAN_SERVERHELLO_TLSEXT 321
222# define SSL_F_SSL_SESSION_DUP 348
223# define SSL_F_SSL_SESSION_NEW 189
224# define SSL_F_SSL_SESSION_PRINT_FP 190
225# define SSL_F_SSL_SESSION_SET1_ID 423
226# define SSL_F_SSL_SESSION_SET1_ID_CONTEXT 312
227# define SSL_F_SSL_SET_ALPN_PROTOS 344
228# define SSL_F_SSL_SET_CERT 191
229# define SSL_F_SSL_SET_CERT_AND_KEY 621
230# define SSL_F_SSL_SET_CIPHER_LIST 271
231# define SSL_F_SSL_SET_CT_VALIDATION_CALLBACK 399
232# define SSL_F_SSL_SET_FD 192
233# define SSL_F_SSL_SET_PKEY 193
234# define SSL_F_SSL_SET_RFD 194
235# define SSL_F_SSL_SET_SESSION 195
236# define SSL_F_SSL_SET_SESSION_ID_CONTEXT 218
237# define SSL_F_SSL_SET_SESSION_TICKET_EXT 294
238# define SSL_F_SSL_SET_TLSEXT_MAX_FRAGMENT_LENGTH 550
239# define SSL_F_SSL_SET_WFD 196
240# define SSL_F_SSL_SHUTDOWN 224
241# define SSL_F_SSL_SRP_CTX_INIT 313
242# define SSL_F_SSL_START_ASYNC_JOB 389
243# define SSL_F_SSL_UNDEFINED_FUNCTION 197
244# define SSL_F_SSL_UNDEFINED_VOID_FUNCTION 244
245# define SSL_F_SSL_USE_CERTIFICATE 198
246# define SSL_F_SSL_USE_CERTIFICATE_ASN1 199
247# define SSL_F_SSL_USE_CERTIFICATE_FILE 200
248# define SSL_F_SSL_USE_PRIVATEKEY 201
249# define SSL_F_SSL_USE_PRIVATEKEY_ASN1 202
250# define SSL_F_SSL_USE_PRIVATEKEY_FILE 203
251# define SSL_F_SSL_USE_PSK_IDENTITY_HINT 273
252# define SSL_F_SSL_USE_RSAPRIVATEKEY 204
253# define SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1 205
254# define SSL_F_SSL_USE_RSAPRIVATEKEY_FILE 206
255# define SSL_F_SSL_VALIDATE_CT 400
256# define SSL_F_SSL_VERIFY_CERT_CHAIN 207
257# define SSL_F_SSL_VERIFY_CLIENT_POST_HANDSHAKE 616
258# define SSL_F_SSL_WRITE 208
259# define SSL_F_SSL_WRITE_EARLY_DATA 526
260# define SSL_F_SSL_WRITE_EARLY_FINISH 527
261# define SSL_F_SSL_WRITE_EX 433
262# define SSL_F_SSL_WRITE_INTERNAL 524
263# define SSL_F_STATE_MACHINE 353
264# define SSL_F_TLS12_CHECK_PEER_SIGALG 333
265# define SSL_F_TLS12_COPY_SIGALGS 533
266# define SSL_F_TLS13_CHANGE_CIPHER_STATE 440
267# define SSL_F_TLS13_ENC 609
268# define SSL_F_TLS13_FINAL_FINISH_MAC 605
269# define SSL_F_TLS13_GENERATE_SECRET 591
270# define SSL_F_TLS13_HKDF_EXPAND 561
271# define SSL_F_TLS13_RESTORE_HANDSHAKE_DIGEST_FOR_PHA 617
272# define SSL_F_TLS13_SAVE_HANDSHAKE_DIGEST_FOR_PHA 618
273# define SSL_F_TLS13_SETUP_KEY_BLOCK 441
274# define SSL_F_TLS1_CHANGE_CIPHER_STATE 209
275# define SSL_F_TLS1_CHECK_DUPLICATE_EXTENSIONS 341
276# define SSL_F_TLS1_ENC 401
277# define SSL_F_TLS1_EXPORT_KEYING_MATERIAL 314
278# define SSL_F_TLS1_GET_CURVELIST 338
279# define SSL_F_TLS1_PRF 284
280# define SSL_F_TLS1_SAVE_U16 628
281# define SSL_F_TLS1_SETUP_KEY_BLOCK 211
282# define SSL_F_TLS1_SET_GROUPS 629
283# define SSL_F_TLS1_SET_RAW_SIGALGS 630
284# define SSL_F_TLS1_SET_SERVER_SIGALGS 335
285# define SSL_F_TLS1_SET_SHARED_SIGALGS 631
286# define SSL_F_TLS1_SET_SIGALGS 632
287# define SSL_F_TLS_CHOOSE_SIGALG 513
288# define SSL_F_TLS_CLIENT_KEY_EXCHANGE_POST_WORK 354
289# define SSL_F_TLS_COLLECT_EXTENSIONS 435
290# define SSL_F_TLS_CONSTRUCT_CERTIFICATE_AUTHORITIES 542
291# define SSL_F_TLS_CONSTRUCT_CERTIFICATE_REQUEST 372
292# define SSL_F_TLS_CONSTRUCT_CERT_STATUS 429
293# define SSL_F_TLS_CONSTRUCT_CERT_STATUS_BODY 494
294# define SSL_F_TLS_CONSTRUCT_CERT_VERIFY 496
295# define SSL_F_TLS_CONSTRUCT_CHANGE_CIPHER_SPEC 427
296# define SSL_F_TLS_CONSTRUCT_CKE_DHE 404
297# define SSL_F_TLS_CONSTRUCT_CKE_ECDHE 405
298# define SSL_F_TLS_CONSTRUCT_CKE_GOST 406
299# define SSL_F_TLS_CONSTRUCT_CKE_PSK_PREAMBLE 407
300# define SSL_F_TLS_CONSTRUCT_CKE_RSA 409
301# define SSL_F_TLS_CONSTRUCT_CKE_SRP 410
302# define SSL_F_TLS_CONSTRUCT_CLIENT_CERTIFICATE 484
303# define SSL_F_TLS_CONSTRUCT_CLIENT_HELLO 487
304# define SSL_F_TLS_CONSTRUCT_CLIENT_KEY_EXCHANGE 488
305# define SSL_F_TLS_CONSTRUCT_CLIENT_VERIFY 489
306# define SSL_F_TLS_CONSTRUCT_CTOS_ALPN 466
307# define SSL_F_TLS_CONSTRUCT_CTOS_CERTIFICATE 355
308# define SSL_F_TLS_CONSTRUCT_CTOS_COOKIE 535
309# define SSL_F_TLS_CONSTRUCT_CTOS_EARLY_DATA 530
310# define SSL_F_TLS_CONSTRUCT_CTOS_EC_PT_FORMATS 467
311# define SSL_F_TLS_CONSTRUCT_CTOS_EMS 468
312# define SSL_F_TLS_CONSTRUCT_CTOS_ETM 469
313# define SSL_F_TLS_CONSTRUCT_CTOS_HELLO 356
314# define SSL_F_TLS_CONSTRUCT_CTOS_KEY_EXCHANGE 357
315# define SSL_F_TLS_CONSTRUCT_CTOS_KEY_SHARE 470
316# define SSL_F_TLS_CONSTRUCT_CTOS_MAXFRAGMENTLEN 549
317# define SSL_F_TLS_CONSTRUCT_CTOS_NPN 471
318# define SSL_F_TLS_CONSTRUCT_CTOS_PADDING 472
319# define SSL_F_TLS_CONSTRUCT_CTOS_POST_HANDSHAKE_AUTH 619
320# define SSL_F_TLS_CONSTRUCT_CTOS_PSK 501
321# define SSL_F_TLS_CONSTRUCT_CTOS_PSK_KEX_MODES 509
322# define SSL_F_TLS_CONSTRUCT_CTOS_RENEGOTIATE 473
323# define SSL_F_TLS_CONSTRUCT_CTOS_SCT 474
324# define SSL_F_TLS_CONSTRUCT_CTOS_SERVER_NAME 475
325# define SSL_F_TLS_CONSTRUCT_CTOS_SESSION_TICKET 476
326# define SSL_F_TLS_CONSTRUCT_CTOS_SIG_ALGS 477
327# define SSL_F_TLS_CONSTRUCT_CTOS_SRP 478
328# define SSL_F_TLS_CONSTRUCT_CTOS_STATUS_REQUEST 479
329# define SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_GROUPS 480
330# define SSL_F_TLS_CONSTRUCT_CTOS_SUPPORTED_VERSIONS 481
331# define SSL_F_TLS_CONSTRUCT_CTOS_USE_SRTP 482
332# define SSL_F_TLS_CONSTRUCT_CTOS_VERIFY 358
333# define SSL_F_TLS_CONSTRUCT_ENCRYPTED_EXTENSIONS 443
334# define SSL_F_TLS_CONSTRUCT_END_OF_EARLY_DATA 536
335# define SSL_F_TLS_CONSTRUCT_EXTENSIONS 447
336# define SSL_F_TLS_CONSTRUCT_FINISHED 359
337# define SSL_F_TLS_CONSTRUCT_HELLO_REQUEST 373
338# define SSL_F_TLS_CONSTRUCT_HELLO_RETRY_REQUEST 510
339# define SSL_F_TLS_CONSTRUCT_KEY_UPDATE 517
340# define SSL_F_TLS_CONSTRUCT_NEW_SESSION_TICKET 428
341# define SSL_F_TLS_CONSTRUCT_NEXT_PROTO 426
342# define SSL_F_TLS_CONSTRUCT_SERVER_CERTIFICATE 490
343# define SSL_F_TLS_CONSTRUCT_SERVER_HELLO 491
344# define SSL_F_TLS_CONSTRUCT_SERVER_KEY_EXCHANGE 492
345# define SSL_F_TLS_CONSTRUCT_STOC_ALPN 451
346# define SSL_F_TLS_CONSTRUCT_STOC_CERTIFICATE 374
347# define SSL_F_TLS_CONSTRUCT_STOC_COOKIE 613
348# define SSL_F_TLS_CONSTRUCT_STOC_CRYPTOPRO_BUG 452
349# define SSL_F_TLS_CONSTRUCT_STOC_DONE 375
350# define SSL_F_TLS_CONSTRUCT_STOC_EARLY_DATA 531
351# define SSL_F_TLS_CONSTRUCT_STOC_EARLY_DATA_INFO 525
352# define SSL_F_TLS_CONSTRUCT_STOC_EC_PT_FORMATS 453
353# define SSL_F_TLS_CONSTRUCT_STOC_EMS 454
354# define SSL_F_TLS_CONSTRUCT_STOC_ETM 455
355# define SSL_F_TLS_CONSTRUCT_STOC_HELLO 376
356# define SSL_F_TLS_CONSTRUCT_STOC_KEY_EXCHANGE 377
357# define SSL_F_TLS_CONSTRUCT_STOC_KEY_SHARE 456
358# define SSL_F_TLS_CONSTRUCT_STOC_MAXFRAGMENTLEN 548
359# define SSL_F_TLS_CONSTRUCT_STOC_NEXT_PROTO_NEG 457
360# define SSL_F_TLS_CONSTRUCT_STOC_PSK 504
361# define SSL_F_TLS_CONSTRUCT_STOC_RENEGOTIATE 458
362# define SSL_F_TLS_CONSTRUCT_STOC_SERVER_NAME 459
363# define SSL_F_TLS_CONSTRUCT_STOC_SESSION_TICKET 460
364# define SSL_F_TLS_CONSTRUCT_STOC_STATUS_REQUEST 461
365# define SSL_F_TLS_CONSTRUCT_STOC_SUPPORTED_GROUPS 544
366# define SSL_F_TLS_CONSTRUCT_STOC_SUPPORTED_VERSIONS 611
367# define SSL_F_TLS_CONSTRUCT_STOC_USE_SRTP 462
368# define SSL_F_TLS_EARLY_POST_PROCESS_CLIENT_HELLO 521
369# define SSL_F_TLS_FINISH_HANDSHAKE 597
370# define SSL_F_TLS_GET_MESSAGE_BODY 351
371# define SSL_F_TLS_GET_MESSAGE_HEADER 387
372# define SSL_F_TLS_HANDLE_ALPN 562
373# define SSL_F_TLS_HANDLE_STATUS_REQUEST 563
374# define SSL_F_TLS_PARSE_CERTIFICATE_AUTHORITIES 566
375# define SSL_F_TLS_PARSE_CLIENTHELLO_TLSEXT 449
376# define SSL_F_TLS_PARSE_CTOS_ALPN 567
377# define SSL_F_TLS_PARSE_CTOS_COOKIE 614
378# define SSL_F_TLS_PARSE_CTOS_EARLY_DATA 568
379# define SSL_F_TLS_PARSE_CTOS_EC_PT_FORMATS 569
380# define SSL_F_TLS_PARSE_CTOS_EMS 570
381# define SSL_F_TLS_PARSE_CTOS_KEY_SHARE 463
382# define SSL_F_TLS_PARSE_CTOS_MAXFRAGMENTLEN 571
383# define SSL_F_TLS_PARSE_CTOS_POST_HANDSHAKE_AUTH 620
384# define SSL_F_TLS_PARSE_CTOS_PSK 505
385# define SSL_F_TLS_PARSE_CTOS_PSK_KEX_MODES 572
386# define SSL_F_TLS_PARSE_CTOS_RENEGOTIATE 464
387# define SSL_F_TLS_PARSE_CTOS_SERVER_NAME 573
388# define SSL_F_TLS_PARSE_CTOS_SESSION_TICKET 574
389# define SSL_F_TLS_PARSE_CTOS_SIG_ALGS 575
390# define SSL_F_TLS_PARSE_CTOS_SIG_ALGS_CERT 615
391# define SSL_F_TLS_PARSE_CTOS_SRP 576
392# define SSL_F_TLS_PARSE_CTOS_STATUS_REQUEST 577
393# define SSL_F_TLS_PARSE_CTOS_SUPPORTED_GROUPS 578
394# define SSL_F_TLS_PARSE_CTOS_USE_SRTP 465
395# define SSL_F_TLS_PARSE_STOC_ALPN 579
396# define SSL_F_TLS_PARSE_STOC_COOKIE 534
397# define SSL_F_TLS_PARSE_STOC_EARLY_DATA 538
398# define SSL_F_TLS_PARSE_STOC_EARLY_DATA_INFO 528
399# define SSL_F_TLS_PARSE_STOC_EC_PT_FORMATS 580
400# define SSL_F_TLS_PARSE_STOC_KEY_SHARE 445
401# define SSL_F_TLS_PARSE_STOC_MAXFRAGMENTLEN 581
402# define SSL_F_TLS_PARSE_STOC_NPN 582
403# define SSL_F_TLS_PARSE_STOC_PSK 502
404# define SSL_F_TLS_PARSE_STOC_RENEGOTIATE 448
405# define SSL_F_TLS_PARSE_STOC_SCT 564
406# define SSL_F_TLS_PARSE_STOC_SERVER_NAME 583
407# define SSL_F_TLS_PARSE_STOC_SESSION_TICKET 584
408# define SSL_F_TLS_PARSE_STOC_STATUS_REQUEST 585
409# define SSL_F_TLS_PARSE_STOC_SUPPORTED_VERSIONS 612
410# define SSL_F_TLS_PARSE_STOC_USE_SRTP 446
411# define SSL_F_TLS_POST_PROCESS_CLIENT_HELLO 378
412# define SSL_F_TLS_POST_PROCESS_CLIENT_KEY_EXCHANGE 384
413# define SSL_F_TLS_PREPARE_CLIENT_CERTIFICATE 360
414# define SSL_F_TLS_PROCESS_AS_HELLO_RETRY_REQUEST 610
415# define SSL_F_TLS_PROCESS_CERTIFICATE_REQUEST 361
416# define SSL_F_TLS_PROCESS_CERT_STATUS 362
417# define SSL_F_TLS_PROCESS_CERT_STATUS_BODY 495
418# define SSL_F_TLS_PROCESS_CERT_VERIFY 379
419# define SSL_F_TLS_PROCESS_CHANGE_CIPHER_SPEC 363
420# define SSL_F_TLS_PROCESS_CKE_DHE 411
421# define SSL_F_TLS_PROCESS_CKE_ECDHE 412
422# define SSL_F_TLS_PROCESS_CKE_GOST 413
423# define SSL_F_TLS_PROCESS_CKE_PSK_PREAMBLE 414
424# define SSL_F_TLS_PROCESS_CKE_RSA 415
425# define SSL_F_TLS_PROCESS_CKE_SRP 416
426# define SSL_F_TLS_PROCESS_CLIENT_CERTIFICATE 380
427# define SSL_F_TLS_PROCESS_CLIENT_HELLO 381
428# define SSL_F_TLS_PROCESS_CLIENT_KEY_EXCHANGE 382
429# define SSL_F_TLS_PROCESS_ENCRYPTED_EXTENSIONS 444
430# define SSL_F_TLS_PROCESS_END_OF_EARLY_DATA 537
431# define SSL_F_TLS_PROCESS_FINISHED 364
432# define SSL_F_TLS_PROCESS_HELLO_REQ 507
433# define SSL_F_TLS_PROCESS_HELLO_RETRY_REQUEST 511
434# define SSL_F_TLS_PROCESS_INITIAL_SERVER_FLIGHT 442
435# define SSL_F_TLS_PROCESS_KEY_EXCHANGE 365
436# define SSL_F_TLS_PROCESS_KEY_UPDATE 518
437# define SSL_F_TLS_PROCESS_NEW_SESSION_TICKET 366
438# define SSL_F_TLS_PROCESS_NEXT_PROTO 383
439# define SSL_F_TLS_PROCESS_SERVER_CERTIFICATE 367
440# define SSL_F_TLS_PROCESS_SERVER_DONE 368
441# define SSL_F_TLS_PROCESS_SERVER_HELLO 369
442# define SSL_F_TLS_PROCESS_SKE_DHE 419
443# define SSL_F_TLS_PROCESS_SKE_ECDHE 420
444# define SSL_F_TLS_PROCESS_SKE_PSK_PREAMBLE 421
445# define SSL_F_TLS_PROCESS_SKE_SRP 422
446# define SSL_F_TLS_PSK_DO_BINDER 506
447# define SSL_F_TLS_SCAN_CLIENTHELLO_TLSEXT 450
448# define SSL_F_TLS_SETUP_HANDSHAKE 508
449# define SSL_F_USE_CERTIFICATE_CHAIN_FILE 220
450# define SSL_F_WPACKET_INTERN_INIT_LEN 633
451# define SSL_F_WPACKET_START_SUB_PACKET_LEN__ 634
452# define SSL_F_WRITE_STATE_MACHINE 586
455
456
457# define SSL_R_APPLICATION_DATA_AFTER_CLOSE_NOTIFY 291
458# define SSL_R_APP_DATA_IN_HANDSHAKE 100
459# define SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT 272
460# define SSL_R_AT_LEAST_TLS_1_0_NEEDED_IN_FIPS_MODE 143
461# define SSL_R_AT_LEAST_TLS_1_2_NEEDED_IN_SUITEB_MODE 158
462# define SSL_R_BAD_CHANGE_CIPHER_SPEC 103
463# define SSL_R_BAD_CIPHER 186
464# define SSL_R_BAD_DATA 390
465# define SSL_R_BAD_DATA_RETURNED_BY_CALLBACK 106
466# define SSL_R_BAD_DECOMPRESSION 107
467# define SSL_R_BAD_DH_VALUE 102
468# define SSL_R_BAD_DIGEST_LENGTH 111
469# define SSL_R_BAD_EARLY_DATA 233
470# define SSL_R_BAD_ECC_CERT 304
471# define SSL_R_BAD_ECPOINT 306
472# define SSL_R_BAD_EXTENSION 110
473# define SSL_R_BAD_HANDSHAKE_LENGTH 332
474# define SSL_R_BAD_HANDSHAKE_STATE 236
475# define SSL_R_BAD_HELLO_REQUEST 105
476# define SSL_R_BAD_HRR_VERSION 263
477# define SSL_R_BAD_KEY_SHARE 108
478# define SSL_R_BAD_KEY_UPDATE 122
479# define SSL_R_BAD_LEGACY_VERSION 292
480# define SSL_R_BAD_LENGTH 271
481# define SSL_R_BAD_PACKET 240
482# define SSL_R_BAD_PACKET_LENGTH 115
483# define SSL_R_BAD_PROTOCOL_VERSION_NUMBER 116
484# define SSL_R_BAD_PSK 219
485# define SSL_R_BAD_PSK_IDENTITY 114
486# define SSL_R_BAD_RECORD_TYPE 443
487# define SSL_R_BAD_RSA_ENCRYPT 119
488# define SSL_R_BAD_SIGNATURE 123
489# define SSL_R_BAD_SRP_A_LENGTH 347
490# define SSL_R_BAD_SRP_PARAMETERS 371
491# define SSL_R_BAD_SRTP_MKI_VALUE 352
492# define SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST 353
493# define SSL_R_BAD_SSL_FILETYPE 124
494# define SSL_R_BAD_VALUE 384
495# define SSL_R_BAD_WRITE_RETRY 127
496# define SSL_R_BINDER_DOES_NOT_VERIFY 253
497# define SSL_R_BIO_NOT_SET 128
498# define SSL_R_BLOCK_CIPHER_PAD_IS_WRONG 129
499# define SSL_R_BN_LIB 130
500# define SSL_R_CALLBACK_FAILED 234
501# define SSL_R_CANNOT_CHANGE_CIPHER 109
502# define SSL_R_CA_DN_LENGTH_MISMATCH 131
503# define SSL_R_CA_KEY_TOO_SMALL 397
504# define SSL_R_CA_MD_TOO_WEAK 398
505# define SSL_R_CCS_RECEIVED_EARLY 133
506# define SSL_R_CERTIFICATE_VERIFY_FAILED 134
507# define SSL_R_CERT_CB_ERROR 377
508# define SSL_R_CERT_LENGTH_MISMATCH 135
509# define SSL_R_CIPHERSUITE_DIGEST_HAS_CHANGED 218
510# define SSL_R_CIPHER_CODE_WRONG_LENGTH 137
511# define SSL_R_CIPHER_OR_HASH_UNAVAILABLE 138
512# define SSL_R_CLIENTHELLO_TLSEXT 226
513# define SSL_R_COMPRESSED_LENGTH_TOO_LONG 140
514# define SSL_R_COMPRESSION_DISABLED 343
515# define SSL_R_COMPRESSION_FAILURE 141
516# define SSL_R_COMPRESSION_ID_NOT_WITHIN_PRIVATE_RANGE 307
517# define SSL_R_COMPRESSION_LIBRARY_ERROR 142
518# define SSL_R_CONNECTION_TYPE_NOT_SET 144
519# define SSL_R_CONTEXT_NOT_DANE_ENABLED 167
520# define SSL_R_COOKIE_GEN_CALLBACK_FAILURE 400
521# define SSL_R_COOKIE_MISMATCH 308
522# define SSL_R_CUSTOM_EXT_HANDLER_ALREADY_INSTALLED 206
523# define SSL_R_DANE_ALREADY_ENABLED 172
524# define SSL_R_DANE_CANNOT_OVERRIDE_MTYPE_FULL 173
525# define SSL_R_DANE_NOT_ENABLED 175
526# define SSL_R_DANE_TLSA_BAD_CERTIFICATE 180
527# define SSL_R_DANE_TLSA_BAD_CERTIFICATE_USAGE 184
528# define SSL_R_DANE_TLSA_BAD_DATA_LENGTH 189
529# define SSL_R_DANE_TLSA_BAD_DIGEST_LENGTH 192
530# define SSL_R_DANE_TLSA_BAD_MATCHING_TYPE 200
531# define SSL_R_DANE_TLSA_BAD_PUBLIC_KEY 201
532# define SSL_R_DANE_TLSA_BAD_SELECTOR 202
533# define SSL_R_DANE_TLSA_NULL_DATA 203
534# define SSL_R_DATA_BETWEEN_CCS_AND_FINISHED 145
535# define SSL_R_DATA_LENGTH_TOO_LONG 146
536# define SSL_R_DECRYPTION_FAILED 147
537# define SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC 281
538# define SSL_R_DH_KEY_TOO_SMALL 394
539# define SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG 148
540# define SSL_R_DIGEST_CHECK_FAILED 149
541# define SSL_R_DTLS_MESSAGE_TOO_BIG 334
542# define SSL_R_DUPLICATE_COMPRESSION_ID 309
543# define SSL_R_ECC_CERT_NOT_FOR_SIGNING 318
544# define SSL_R_ECDH_REQUIRED_FOR_SUITEB_MODE 374
545# define SSL_R_EE_KEY_TOO_SMALL 399
546# define SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST 354
547# define SSL_R_ENCRYPTED_LENGTH_TOO_LONG 150
548# define SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST 151
549# define SSL_R_ERROR_SETTING_TLSA_BASE_DOMAIN 204
550# define SSL_R_EXCEEDS_MAX_FRAGMENT_SIZE 194
551# define SSL_R_EXCESSIVE_MESSAGE_SIZE 152
552# define SSL_R_EXTENSION_NOT_RECEIVED 279
553# define SSL_R_EXTRA_DATA_IN_MESSAGE 153
554# define SSL_R_EXT_LENGTH_MISMATCH 163
555# define SSL_R_FAILED_TO_INIT_ASYNC 405
556# define SSL_R_FRAGMENTED_CLIENT_HELLO 401
557# define SSL_R_GOT_A_FIN_BEFORE_A_CCS 154
558# define SSL_R_HTTPS_PROXY_REQUEST 155
559# define SSL_R_HTTP_REQUEST 156
560# define SSL_R_ILLEGAL_POINT_COMPRESSION 162
561# define SSL_R_ILLEGAL_SUITEB_DIGEST 380
562# define SSL_R_INAPPROPRIATE_FALLBACK 373
563# define SSL_R_INCONSISTENT_COMPRESSION 340
564# define SSL_R_INCONSISTENT_EARLY_DATA_ALPN 222
565# define SSL_R_INCONSISTENT_EARLY_DATA_SNI 231
566# define SSL_R_INCONSISTENT_EXTMS 104
567# define SSL_R_INSUFFICIENT_SECURITY 241
568# define SSL_R_INVALID_ALERT 205
569# define SSL_R_INVALID_CCS_MESSAGE 260
570# define SSL_R_INVALID_CERTIFICATE_OR_ALG 238
571# define SSL_R_INVALID_COMMAND 280
572# define SSL_R_INVALID_COMPRESSION_ALGORITHM 341
573# define SSL_R_INVALID_CONFIG 283
574# define SSL_R_INVALID_CONFIGURATION_NAME 113
575# define SSL_R_INVALID_CONTEXT 282
576# define SSL_R_INVALID_CT_VALIDATION_TYPE 212
577# define SSL_R_INVALID_KEY_UPDATE_TYPE 120
578# define SSL_R_INVALID_MAX_EARLY_DATA 174
579# define SSL_R_INVALID_NULL_CMD_NAME 385
580# define SSL_R_INVALID_SEQUENCE_NUMBER 402
581# define SSL_R_INVALID_SERVERINFO_DATA 388
582# define SSL_R_INVALID_SESSION_ID 999
583# define SSL_R_INVALID_SRP_USERNAME 357
584# define SSL_R_INVALID_STATUS_RESPONSE 328
585# define SSL_R_INVALID_TICKET_KEYS_LENGTH 325
586# define SSL_R_LENGTH_MISMATCH 159
587# define SSL_R_LENGTH_TOO_LONG 404
588# define SSL_R_LENGTH_TOO_SHORT 160
589# define SSL_R_LIBRARY_BUG 274
590# define SSL_R_LIBRARY_HAS_NO_CIPHERS 161
591# define SSL_R_MISSING_DSA_SIGNING_CERT 165
592# define SSL_R_MISSING_ECDSA_SIGNING_CERT 381
593# define SSL_R_MISSING_FATAL 256
594# define SSL_R_MISSING_PARAMETERS 290
595# define SSL_R_MISSING_RSA_CERTIFICATE 168
596# define SSL_R_MISSING_RSA_ENCRYPTING_CERT 169
597# define SSL_R_MISSING_RSA_SIGNING_CERT 170
598# define SSL_R_MISSING_SIGALGS_EXTENSION 112
599# define SSL_R_MISSING_SIGNING_CERT 221
600# define SSL_R_MISSING_SRP_PARAM 358
601# define SSL_R_MISSING_SUPPORTED_GROUPS_EXTENSION 209
602# define SSL_R_MISSING_TMP_DH_KEY 171
603# define SSL_R_MISSING_TMP_ECDH_KEY 311
604# define SSL_R_MIXED_HANDSHAKE_AND_NON_HANDSHAKE_DATA 293
605# define SSL_R_NOT_ON_RECORD_BOUNDARY 182
606# define SSL_R_NOT_REPLACING_CERTIFICATE 289
607# define SSL_R_NOT_SERVER 284
608# define SSL_R_NO_APPLICATION_PROTOCOL 235
609# define SSL_R_NO_CERTIFICATES_RETURNED 176
610# define SSL_R_NO_CERTIFICATE_ASSIGNED 177
611# define SSL_R_NO_CERTIFICATE_SET 179
612# define SSL_R_NO_CHANGE_FOLLOWING_HRR 214
613# define SSL_R_NO_CIPHERS_AVAILABLE 181
614# define SSL_R_NO_CIPHERS_SPECIFIED 183
615# define SSL_R_NO_CIPHER_MATCH 185
616# define SSL_R_NO_CLIENT_CERT_METHOD 331
617# define SSL_R_NO_COMPRESSION_SPECIFIED 187
618# define SSL_R_NO_COOKIE_CALLBACK_SET 287
619# define SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER 330
620# define SSL_R_NO_METHOD_SPECIFIED 188
621# define SSL_R_NO_PEM_EXTENSIONS 389
622# define SSL_R_NO_PRIVATE_KEY_ASSIGNED 190
623# define SSL_R_NO_PROTOCOLS_AVAILABLE 191
624# define SSL_R_NO_RENEGOTIATION 339
625# define SSL_R_NO_REQUIRED_DIGEST 324
626# define SSL_R_NO_SHARED_CIPHER 193
627# define SSL_R_NO_SHARED_GROUPS 410
628# define SSL_R_NO_SHARED_SIGNATURE_ALGORITHMS 376
629# define SSL_R_NO_SRTP_PROFILES 359
630# define SSL_R_NO_SUITABLE_KEY_SHARE 101
631# define SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM 118
632# define SSL_R_NO_VALID_SCTS 216
633# define SSL_R_NO_VERIFY_COOKIE_CALLBACK 403
634# define SSL_R_NULL_SSL_CTX 195
635# define SSL_R_NULL_SSL_METHOD_PASSED 196
636# define SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED 197
637# define SSL_R_OLD_SESSION_COMPRESSION_ALGORITHM_NOT_RETURNED 344
638# define SSL_R_OVERFLOW_ERROR 237
639# define SSL_R_PACKET_LENGTH_TOO_LONG 198
640# define SSL_R_PARSE_TLSEXT 227
641# define SSL_R_PATH_TOO_LONG 270
642# define SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE 199
643# define SSL_R_PEM_NAME_BAD_PREFIX 391
644# define SSL_R_PEM_NAME_TOO_SHORT 392
645# define SSL_R_PIPELINE_FAILURE 406
646# define SSL_R_POST_HANDSHAKE_AUTH_ENCODING_ERR 278
647# define SSL_R_PRIVATE_KEY_MISMATCH 288
648# define SSL_R_PROTOCOL_IS_SHUTDOWN 207
649# define SSL_R_PSK_IDENTITY_NOT_FOUND 223
650# define SSL_R_PSK_NO_CLIENT_CB 224
651# define SSL_R_PSK_NO_SERVER_CB 225
652# define SSL_R_READ_BIO_NOT_SET 211
653# define SSL_R_READ_TIMEOUT_EXPIRED 312
654# define SSL_R_RECORD_LENGTH_MISMATCH 213
655# define SSL_R_RECORD_TOO_SMALL 298
656# define SSL_R_RENEGOTIATE_EXT_TOO_LONG 335
657# define SSL_R_RENEGOTIATION_ENCODING_ERR 336
658# define SSL_R_RENEGOTIATION_MISMATCH 337
659# define SSL_R_REQUEST_PENDING 285
660# define SSL_R_REQUEST_SENT 286
661# define SSL_R_REQUIRED_CIPHER_MISSING 215
662# define SSL_R_REQUIRED_COMPRESSION_ALGORITHM_MISSING 342
663# define SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING 345
664# define SSL_R_SCT_VERIFICATION_FAILED 208
665# define SSL_R_SERVERHELLO_TLSEXT 275
666# define SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED 277
667# define SSL_R_SHUTDOWN_WHILE_IN_INIT 407
668# define SSL_R_SIGNATURE_ALGORITHMS_ERROR 360
669# define SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE 220
670# define SSL_R_SRP_A_CALC 361
671# define SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES 362
672# define SSL_R_SRTP_PROTECTION_PROFILE_LIST_TOO_LONG 363
673# define SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE 364
674# define SSL_R_SSL3_EXT_INVALID_MAX_FRAGMENT_LENGTH 232
675# define SSL_R_SSL3_EXT_INVALID_SERVERNAME 319
676# define SSL_R_SSL3_EXT_INVALID_SERVERNAME_TYPE 320
677# define SSL_R_SSL3_SESSION_ID_TOO_LONG 300
678# define SSL_R_SSLV3_ALERT_BAD_CERTIFICATE 1042
679# define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020
680# define SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED 1045
681# define SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED 1044
682# define SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN 1046
683# define SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE 1030
684# define SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE 1040
685# define SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER 1047
686# define SSL_R_SSLV3_ALERT_NO_CERTIFICATE 1041
687# define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010
688# define SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE 1043
689# define SSL_R_SSL_COMMAND_SECTION_EMPTY 117
690# define SSL_R_SSL_COMMAND_SECTION_NOT_FOUND 125
691# define SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION 228
692# define SSL_R_SSL_HANDSHAKE_FAILURE 229
693# define SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS 230
694# define SSL_R_SSL_NEGATIVE_LENGTH 372
695# define SSL_R_SSL_SECTION_EMPTY 126
696# define SSL_R_SSL_SECTION_NOT_FOUND 136
697# define SSL_R_SSL_SESSION_ID_CALLBACK_FAILED 301
698# define SSL_R_SSL_SESSION_ID_CONFLICT 302
699# define SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG 273
700# define SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH 303
701# define SSL_R_SSL_SESSION_ID_TOO_LONG 408
702# define SSL_R_SSL_SESSION_VERSION_MISMATCH 210
703# define SSL_R_STILL_IN_INIT 121
704# define SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED 1116
705# define SSL_R_TLSV13_ALERT_MISSING_EXTENSION 1109
706# define SSL_R_TLSV1_ALERT_ACCESS_DENIED 1049
707# define SSL_R_TLSV1_ALERT_DECODE_ERROR 1050
708# define SSL_R_TLSV1_ALERT_DECRYPTION_FAILED 1021
709# define SSL_R_TLSV1_ALERT_DECRYPT_ERROR 1051
710# define SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION 1060
711# define SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK 1086
712# define SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY 1071
713# define SSL_R_TLSV1_ALERT_INTERNAL_ERROR 1080
714# define SSL_R_TLSV1_ALERT_NO_RENEGOTIATION 1100
715# define SSL_R_TLSV1_ALERT_PROTOCOL_VERSION 1070
716# define SSL_R_TLSV1_ALERT_RECORD_OVERFLOW 1022
717# define SSL_R_TLSV1_ALERT_UNKNOWN_CA 1048
718# define SSL_R_TLSV1_ALERT_USER_CANCELLED 1090
719# define SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE 1114
720# define SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE 1113
721# define SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE 1111
722# define SSL_R_TLSV1_UNRECOGNIZED_NAME 1112
723# define SSL_R_TLSV1_UNSUPPORTED_EXTENSION 1110
724# define SSL_R_TLS_HEARTBEAT_PEER_DOESNT_ACCEPT 365
725# define SSL_R_TLS_HEARTBEAT_PENDING 366
726# define SSL_R_TLS_ILLEGAL_EXPORTER_LABEL 367
727# define SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST 157
728# define SSL_R_TOO_MANY_KEY_UPDATES 132
729# define SSL_R_TOO_MANY_WARN_ALERTS 409
730# define SSL_R_TOO_MUCH_EARLY_DATA 164
731# define SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS 314
732# define SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS 239
733# define SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES 242
734# define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES 243
735# define SSL_R_UNEXPECTED_CCS_MESSAGE 262
736# define SSL_R_UNEXPECTED_END_OF_EARLY_DATA 178
737# define SSL_R_UNEXPECTED_MESSAGE 244
738# define SSL_R_UNEXPECTED_RECORD 245
739# define SSL_R_UNINITIALIZED 276
740# define SSL_R_UNKNOWN_ALERT_TYPE 246
741# define SSL_R_UNKNOWN_CERTIFICATE_TYPE 247
742# define SSL_R_UNKNOWN_CIPHER_RETURNED 248
743# define SSL_R_UNKNOWN_CIPHER_TYPE 249
744# define SSL_R_UNKNOWN_CMD_NAME 386
745# define SSL_R_UNKNOWN_COMMAND 139
746# define SSL_R_UNKNOWN_DIGEST 368
747# define SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE 250
748# define SSL_R_UNKNOWN_PKEY_TYPE 251
749# define SSL_R_UNKNOWN_PROTOCOL 252
750# define SSL_R_UNKNOWN_SSL_VERSION 254
751# define SSL_R_UNKNOWN_STATE 255
752# define SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED 338
753# define SSL_R_UNSOLICITED_EXTENSION 217
754# define SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM 257
755# define SSL_R_UNSUPPORTED_ELLIPTIC_CURVE 315
756# define SSL_R_UNSUPPORTED_PROTOCOL 258
757# define SSL_R_UNSUPPORTED_SSL_VERSION 259
758# define SSL_R_UNSUPPORTED_STATUS_TYPE 329
759# define SSL_R_USE_SRTP_NOT_NEGOTIATED 369
760# define SSL_R_VERSION_TOO_HIGH 166
761# define SSL_R_VERSION_TOO_LOW 396
762# define SSL_R_WRONG_CERTIFICATE_TYPE 383
763# define SSL_R_WRONG_CIPHER_RETURNED 261
764# define SSL_R_WRONG_CURVE 378
765# define SSL_R_WRONG_SIGNATURE_LENGTH 264
766# define SSL_R_WRONG_SIGNATURE_SIZE 265
767# define SSL_R_WRONG_SIGNATURE_TYPE 370
768# define SSL_R_WRONG_SSL_VERSION 266
769# define SSL_R_WRONG_VERSION_NUMBER 267
770# define SSL_R_X509_LIB 268
771# define SSL_R_X509_VERIFICATION_SETUP_PROBLEMS 269
#define poco_unexpected()
#define poco_assert_dbg(cond)
#define POCO_EXTERNAL_OPENSSL
#define POCO_DECLARE_EXCEPTION(API, CLS, BASE)
#define POCO_DECLARE_EXCEPTION_CODE(API, CLS, BASE, CODE)
#define POCO_DO_JOIN2(X, Y)
#define POCO_DO_JOIN(X, Y)
#define OPENSSL_VERSION_PREREQ(maj, min)
RSAPaddingMode
The padding mode used for RSA public key encryption.
@ RSA_PADDING_PKCS1_OAEP
PKCS #1 v1.5 padding. This currently is the most widely used mode.
#define POCO_EXTERNAL_OPENSSL_SLPRO
void ASN1_STRING_clear_free(ASN1_STRING *a)
#define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name)
int UTF8_getc(const unsigned char *str, int len, unsigned long *val)
ASN1_INTEGER * BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai)
#define ASN1_STRFLGS_ESC_QUOTE
void ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags)
ASN1_TYPE * ASN1_TYPE_pack_sequence(const ASN1_ITEM *it, void *s, ASN1_TYPE **t)
int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str)
int ASN1_STRING_set_default_mask_asc(const char *p)
ASN1_STRING * ASN1_STRING_set_by_NID(ASN1_STRING **out, const unsigned char *in, int inlen, int inform, int nid)
const ASN1_ITEM * ASN1_ITEM_lookup(const char *name)
int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, int ctype_nid, int econt_nid, STACK_OF(X509_ALGOR) *mdalgs, const ASN1_ITEM *it)
#define DECLARE_ASN1_PRINT_FUNCTION_fname(stname, fname)
#define B_ASN1_PRINTABLESTRING
#define DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name)
#define B_ASN1_NUMERICSTRING
ASN1_GENERALIZEDTIME * ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, time_t t, int offset_day, long offset_sec)
#define ASN1_STRFLGS_UTF8_CONVERT
int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v)
void ASN1_PCTX_free(ASN1_PCTX *p)
void ASN1_STRING_length_set(ASN1_STRING *x, int n)
unsigned long ASN1_SCTX_get_flags(ASN1_SCTX *p)
const ASN1_ITEM * ASN1_SCTX_get_item(ASN1_SCTX *p)
int ASN1_TIME_set_string(ASN1_TIME *s, const char *str)
#define DECLARE_ASN1_FUNCTIONS_name(type, name)
int ASN1_mbstring_copy(ASN1_STRING **out, const unsigned char *in, int len, int inform, unsigned long mask)
#define DECLARE_ASN1_PRINT_FUNCTION(stname)
int a2d_ASN1_OBJECT(unsigned char *out, int olen, const char *buf, int num)
int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b)
ASN1_ENUMERATED * BN_to_ASN1_ENUMERATED(const BIGNUM *bn, ASN1_ENUMERATED *ai)
int i2a_ASN1_ENUMERATED(BIO *bp, const ASN1_ENUMERATED *a)
int ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags)
#define ASN1_STRFLGS_ESC_CTRL
#define TYPEDEF_D2I2D_OF(type)
ASN1_VALUE * ASN1_item_d2i(ASN1_VALUE **val, const unsigned char **in, long len, const ASN1_ITEM *it)
int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b)
#define B_ASN1_UTF8STRING
void ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags)
int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, const char *hdr, const ASN1_ITEM *it)
long ASN1_INTEGER_get(const ASN1_INTEGER *a)
int ASN1_TIME_normalize(ASN1_TIME *s)
unsigned long ASN1_PCTX_get_nm_flags(const ASN1_PCTX *p)
#define TYPEDEF_I2D_OF(type)
int ASN1_GENERALIZEDTIME_print(BIO *fp, const ASN1_GENERALIZEDTIME *a)
BIO * BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it)
#define DECLARE_ASN1_NDEF_FUNCTION(name)
int a2i_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *bs, char *buf, int size)
#define ASN1_STRFLGS_ESC_MSB
int i2t_ASN1_OBJECT(char *buf, int buf_len, const ASN1_OBJECT *a)
ASN1_TIME * ASN1_TIME_adj(ASN1_TIME *s, time_t t, int offset_day, long offset_sec)
int ASN1_STRING_to_UTF8(unsigned char **out, const ASN1_STRING *in)
int ASN1_STRING_TABLE_add(int, long, long, unsigned long, unsigned long)
int ASN1_check_infinite_end(unsigned char **p, long len)
int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s)
int ASN1_TIME_cmp_time_t(const ASN1_TIME *s, time_t t)
int ASN1_INTEGER_set(ASN1_INTEGER *a, long v)
int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a)
#define ASN1_i2d_bio_of_const(type, i2d, out, x)
void ASN1_SCTX_set_app_data(ASN1_SCTX *p, void *data)
int ASN1_BIT_STRING_check(const ASN1_BIT_STRING *a, const unsigned char *flags, int flags_len)
int ASN1_ENUMERATED_get_int64(int64_t *pr, const ASN1_ENUMERATED *a)
int ASN1_TYPE_get_int_octetstring(const ASN1_TYPE *a, long *num, unsigned char *data, int max_len)
unsigned long ASN1_tag2bit(int tag)
int UTF8_putc(unsigned char *str, int len, unsigned long value)
ASN1_SCTX * ASN1_SCTX_new(int(*scan_cb)(ASN1_SCTX *ctx))
int a2i_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *bs, char *buf, int size)
int ASN1_TIME_check(const ASN1_TIME *t)
void ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags)
int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str)
int ASN1_UTCTIME_check(const ASN1_UTCTIME *a)
void ASN1_STRING_TABLE_cleanup(void)
int ASN1_object_size(int constructed, int length, int tag)
int ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *a, int n)
int ASN1_buf_print(BIO *bp, const unsigned char *buf, size_t buflen, int off)
struct ASN1_TEMPLATE_st ASN1_TEMPLATE
ASN1_UTCTIME * ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t)
int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v)
#define ASN1_ITEM_rptr(ref)
int ASN1_TIME_diff(int *pday, int *psec, const ASN1_TIME *from, const ASN1_TIME *to)
struct ASN1_TLC_st ASN1_TLC
BIGNUM * ASN1_ENUMERATED_to_BN(const ASN1_ENUMERATED *ai, BIGNUM *bn)
void * ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x)
#define V_ASN1_PRIMITIVE_TAG
#define ASN1_d2i_bio_of(type, xnew, d2i, in, x)
#define CHECKED_D2I_OF(type, d2i)
ASN1_GENERALIZEDTIME * ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s, time_t t)
BIGNUM * ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn)
int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, unsigned char *data, int len)
ASN1_TYPE * ASN1_generate_v3(const char *str, X509V3_CTX *cnf)
int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value)
#define CHECKED_NEW_OF(type, xnew)
#define DECLARE_ASN1_FUNCTIONS(type)
#define ASN1_STRFLGS_DUMP_UNKNOWN
ASN1_VALUE * SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it)
void ASN1_put_object(unsigned char **pp, int constructed, int length, int tag, int xclass)
int i2a_ASN1_INTEGER(BIO *bp, const ASN1_INTEGER *a)
void * ASN1_SCTX_get_app_data(ASN1_SCTX *p)
int ASN1_STRING_type(const ASN1_STRING *x)
int ASN1_ENUMERATED_set_int64(ASN1_ENUMERATED *a, int64_t r)
#define CHECKED_I2D_OF(type, i2d)
#define ASN1_dup_of(type, i2d, d2i, x)
int ASN1_str2mask(const char *str, unsigned long *pmask)
int ASN1_item_ndef_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it)
int ASN1_TIME_to_tm(const ASN1_TIME *s, struct tm *tm)
ASN1_VALUE * ASN1_item_new(const ASN1_ITEM *it)
int ASN1_parse_dump(BIO *bp, const unsigned char *pp, long len, int indent, int dump)
void * ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x)
int ASN1_INTEGER_get_int64(int64_t *pr, const ASN1_INTEGER *a)
ASN1_GENERALIZEDTIME * ASN1_TIME_to_generalizedtime(const ASN1_TIME *t, ASN1_GENERALIZEDTIME **out)
ASN1_OBJECT * d2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, long length)
void * ASN1_item_unpack(const ASN1_STRING *oct, const ASN1_ITEM *it)
const char * ASN1_tag2str(int tag)
#define B_ASN1_BIT_STRING
int SMIME_crlf_copy(BIO *in, BIO *out, int flags)
int ASN1_put_eoc(unsigned char **pp)
ASN1_STRING * ASN1_STRING_type_new(int type)
void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value)
void ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags)
int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, const ASN1_OCTET_STRING *b)
unsigned long ASN1_STRING_get_default_mask(void)
int ASN1_PRINTABLE_type(const unsigned char *s, int max)
#define ASN1_STRFLGS_RFC2253
ASN1_OCTET_STRING * ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *a)
void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it)
int ASN1_const_check_infinite_end(const unsigned char **p, long len)
unsigned long ASN1_PCTX_get_flags(const ASN1_PCTX *p)
int SMIME_text(BIO *in, BIO *out)
void ASN1_add_oid_module(void)
ASN1_INTEGER * d2i_ASN1_UINTEGER(ASN1_INTEGER **a, const unsigned char **pp, long length)
int ASN1_GENERALIZEDTIME_check(const ASN1_GENERALIZEDTIME *a)
void ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags)
int ASN1_INTEGER_set_uint64(ASN1_INTEGER *a, uint64_t r)
#define TYPEDEF_D2I_OF(type)
int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x)
int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, const char *name, int value, BIT_STRING_BITNAME *tbl)
int ASN1_BIT_STRING_num_asc(const char *name, BIT_STRING_BITNAME *tbl)
int ASN1_TIME_print(BIO *fp, const ASN1_TIME *a)
struct ASN1_VALUE_st ASN1_VALUE
void ASN1_SCTX_free(ASN1_SCTX *p)
void * ASN1_d2i_bio(void *(*xnew)(void), d2i_of_void *d2i, BIO *in, void **x)
#define CHECKED_PTR_OF(type, p)
int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y)
int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag, int *pclass, long omax)
int ASN1_i2d_bio(i2d_of_void *i2d, BIO *out, unsigned char *x)
int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len)
int ASN1_INTEGER_set_int64(ASN1_INTEGER *a, int64_t r)
int ASN1_i2d_fp(i2d_of_void *i2d, FILE *out, void *x)
void ASN1_STRING_free(ASN1_STRING *a)
void * ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x)
ASN1_TYPE * ASN1_generate_nconf(const char *str, CONF *nconf)
unsigned long ASN1_PCTX_get_oid_flags(const ASN1_PCTX *p)
int i2d_ASN1_OBJECT(const ASN1_OBJECT *a, unsigned char **pp)
int ASN1_INTEGER_get_uint64(uint64_t *pr, const ASN1_INTEGER *a)
#define B_ASN1_UNIVERSALSTRING
ASN1_OBJECT * ASN1_OBJECT_new(void)
int i2a_ASN1_STRING(BIO *bp, const ASN1_STRING *a, int type)
int i2a_ASN1_OBJECT(BIO *bp, const ASN1_OBJECT *a)
#define CHECKED_PPTR_OF(type, p)
int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len)
ASN1_STRING * ASN1_item_pack(void *obj, const ASN1_ITEM *it, ASN1_OCTET_STRING **oct)
int a2i_ASN1_STRING(BIO *bp, ASN1_STRING *bs, char *buf, int size)
int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, BIT_STRING_BITNAME *tbl, int indent)
void * ASN1_d2i_fp(void *(*xnew)(void), d2i_of_void *d2i, FILE *in, void **x)
ASN1_UTCTIME * ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, int offset_day, long offset_sec)
#define DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name)
ASN1_STRING * ASN1_STRING_dup(const ASN1_STRING *a)
const unsigned char * ASN1_STRING_get0_data(const ASN1_STRING *x)
ASN1_INTEGER * ASN1_INTEGER_dup(const ASN1_INTEGER *x)
int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data, int len)
ASN1_PCTX * ASN1_PCTX_new(void)
int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x)
unsigned long ASN1_PCTX_get_str_flags(const ASN1_PCTX *p)
const ASN1_ITEM * ASN1_ITEM_get(size_t i)
unsigned long ASN1_PCTX_get_cert_flags(const ASN1_PCTX *p)
int ASN1_BIT_STRING_set(ASN1_BIT_STRING *a, unsigned char *d, int length)
void ASN1_OBJECT_free(ASN1_OBJECT *a)
int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str)
#define ASN1_STRFLGS_ESC_2253
ASN1_STRING * ASN1_STRING_new(void)
#define B_ASN1_VISIBLESTRING
int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, const ASN1_ITEM *it)
#define DECLARE_ASN1_ALLOC_FUNCTIONS(type)
int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it)
#define B_ASN1_TELETEXSTRING
void ASN1_add_stable_module(void)
void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len)
#define DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name)
int ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num, unsigned char *buf, int off)
int ASN1_parse(BIO *bp, const unsigned char *pp, long len, int indent)
#define DECLARE_ASN1_ITEM(name)
int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, int inform, unsigned long mask, long minsize, long maxsize)
#define ASN1_i2d_bio_of(type, i2d, out, x)
int ASN1_STRING_length(const ASN1_STRING *x)
int ASN1_item_print(BIO *out, ASN1_VALUE *ifld, int indent, const ASN1_ITEM *it, const ASN1_PCTX *pctx)
void * ASN1_TYPE_unpack_sequence(const ASN1_ITEM *it, const ASN1_TYPE *t)
ASN1_OBJECT * ASN1_OBJECT_create(int nid, unsigned char *data, int len, const char *sn, const char *ln)
int ASN1_TYPE_get_octetstring(const ASN1_TYPE *a, unsigned char *data, int max_len)
#define ASN1_STRFLGS_DUMP_DER
void ASN1_STRING_set_default_mask(unsigned long mask)
const ASN1_TEMPLATE * ASN1_SCTX_get_template(ASN1_SCTX *p)
#define B_ASN1_GENERALIZEDTIME
#define STABLE_FLAGS_MALLOC
void * ASN1_item_dup(const ASN1_ITEM *it, void *x)
ASN1_STRING_TABLE * ASN1_STRING_TABLE_get(int nid)
int ASN1_TIME_compare(const ASN1_TIME *a, const ASN1_TIME *b)
int ASN1_TIME_set_string_X509(ASN1_TIME *s, const char *str)
const BIO_METHOD * BIO_f_asn1(void)
int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t)
int ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned long flags)
long ASN1_ENUMERATED_get(const ASN1_ENUMERATED *a)
int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value)
int ERR_load_ASN1_strings(void)
int ASYNC_init_thread(size_t max_size, size_t init_size)
ASYNC_WAIT_CTX * ASYNC_get_wait_ctx(ASYNC_JOB *job)
struct async_wait_ctx_st ASYNC_WAIT_CTX
void ASYNC_block_pause(void)
int ASYNC_is_capable(void)
void ASYNC_unblock_pause(void)
void ASYNC_cleanup_thread(void)
struct async_job_st ASYNC_JOB
ASYNC_JOB * ASYNC_get_current_job(void)
int ASYNC_start_job(ASYNC_JOB **job, ASYNC_WAIT_CTX *ctx, int *ret, int(*func)(void *), void *args, size_t size)
int ASYNC_pause_job(void)
int ERR_load_ASYNC_strings(void)
#define BIO_C_SET_WRITE_BUF_SIZE
#define BIO_C_GET_READ_REQUEST
int(*)(BIO *, char *, size_t, size_t *) BIO_meth_get_read_ex(const BIO_METHOD *biom)
#define BIO_C_GET_CIPHER_STATUS
#define BIO_C_MAKE_BIO_PAIR
#define BIO_C_SET_BUFF_SIZE
#define BIO_C_SET_BUFF_READ_DATA
int(*)(BIO *, char *, int) BIO_meth_get_read(const BIO_METHOD *biom)
#define BIO_TYPE_DESCRIPTOR
#define BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT
#define BIO_CTRL_DGRAM_GET_MTU_OVERHEAD
#define BIO_TYPE_SOURCE_SINK
#define BIO_C_DO_STATE_MACHINE
#define BIO_C_GET_WRITE_BUF_SIZE
#define BIO_CTRL_SET_CLOSE
#define BIO_C_SET_CONNECT_MODE
int(*)(BIO *, const char *) BIO_meth_get_puts(const BIO_METHOD *biom)
#define BIO_FLAGS_IO_SPECIAL
int(*)(BIO *) BIO_meth_get_destroy(const BIO_METHOD *biom)
#define BIO_CTRL_WPENDING
int(*)(BIO *) BIO_meth_get_create(const BIO_METHOD *bion)
#define BIO_CTRL_SET_CALLBACK
#define BIO_C_SET_CONNECT
#define BIO_C_GET_WRITE_GUARANTEE
#define BIO_do_handshake(b)
#define BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP
#define BIO_C_SET_BIND_MODE
#define BIO_C_GET_BIND_MODE
#define ossl_bio__attr__(x)
#define BIO_C_GET_SSL_NUM_RENEGOTIATES
#define BIO_C_GET_BUF_MEM_PTR
#define BIO_C_SET_FILE_PTR
#define BIO_CTRL_DGRAM_SET_PEER
#define BIO_C_GET_CONNECT
#define BIO_C_DESTROY_BIO_PAIR
#define BIO_SOCK_REUSEADDR
#define BIO_C_SET_SSL_RENEGOTIATE_BYTES
#define BIO_C_GET_BUFF_NUM_LINES
#define BIO_CTRL_DGRAM_GET_PEER
#define BIO_CTRL_GET_CLOSE
#define BIO_C_SET_BUF_MEM_EOF_RETURN
#define BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP
#define BIO_C_SHUTDOWN_WR
#define BIO_C_SET_FILENAME
#define BIO_CTRL_DGRAM_CONNECT
#define BIO_CTRL_DGRAM_SET_CONNECTED
#define BIO_C_GET_CIPHER_CTX
#define BIO_C_GET_FILE_PTR
int(*)(BIO *, char *, int) BIO_meth_get_gets(const BIO_METHOD *biom)
#define BIO_C_SET_BUF_MEM
#define BIO_FLAGS_SHOULD_RETRY
long(*)(BIO *, int, BIO_info_cb *) BIO_meth_get_callback_ctrl(const BIO_METHOD *biom)
#define BIO_CTRL_GET_CALLBACK
int ERR_load_BIO_strings(void)
void BN_GENCB_set(BN_GENCB *gencb, int(*callback)(int, int, BN_GENCB *), void *cb_arg)
int BN_GENCB_call(BN_GENCB *cb, int a, int b)
BN_GENCB * BN_GENCB_new(void)
int BN_get_flags(const BIGNUM *b, int n)
void BN_set_flags(BIGNUM *b, int n)
void BN_with_flags(BIGNUM *dest, const BIGNUM *b, int flags)
void * BN_GENCB_get_arg(BN_GENCB *cb)
void BN_GENCB_free(BN_GENCB *cb)
void BN_GENCB_set_old(BN_GENCB *gencb, void(*callback)(int, int, void *), void *cb_arg)
int ERR_load_BN_strings(void)
int ERR_load_BUF_strings(void)
virtual std::unique_ptr< ArkApi::ICommands > & GetCommands()=0
void WriteRequest(std::function< void(bool, std::string)> callback, bool success, std::string result)
std::string GetResponse(Poco::Net::HTTPClientSession *session, Poco::Net::HTTPResponse &response)
Poco::Net::HTTPRequest ConstructRequest(const std::string &url, Poco::Net::HTTPClientSession *&session, const std::vector< std::string > &headers, const std::string &request_type)
std::vector< RequestData > RequestsVec_
Requests(Requests &&)=delete
ARK_API bool CreateGetRequest(const std::string &url, const std::function< void(bool, std::string)> &callback, std::vector< std::string > headers={})
Creates an async GET Request that runs in another thread but calls the callback from the main thread.
ARK_API bool CreatePostRequest(const std::string &url, const std::function< void(bool, std::string)> &callback, const std::vector< std::string > &post_ids, const std::vector< std::string > &post_data, std::vector< std::string > headers={})
Creates an async POST Request that runs in another thread but calls the callback from the main thread...
Requests & operator=(Requests &&)=delete
ARK_API bool CreateDeleteRequest(const std::string &url, const std::function< void(bool, std::string)> &callback, std::vector< std::string > headers={})
Creates an async DELETE Request that runs in another thread but calls the callback from the main thre...
Requests & operator=(const Requests &)=delete
ARK_API bool CreatePostRequest(const std::string &url, const std::function< void(bool, std::string)> &callback, const std::string &post_data, std::vector< std::string > headers={})
Creates an async POST Request with application/x-www-form-urlencoded content type that runs in anothe...
static ARK_API Requests & Get()
ARK_API bool CreatePostRequest(const std::string &url, const std::function< void(bool, std::string)> &callback, const std::string &post_data, const std::string &content_type, std::vector< std::string > headers={})
Creates an async POST Request that runs in another thread but calls the callback from the main thread...
std::unique_ptr< impl > pimpl
Requests(const Requests &)=delete
virtual void AddOnTickCallback(const FString &id, const std::function< void(float)> &callback)=0
Added function will be called every frame.
virtual bool RemoveOnTickCallback(const FString &id)=0
Removes a on-tick callback.
static std::shared_ptr< spdlog::logger > & GetLog()
ValueType operator--()
Increments the counter and returns the previous value.
ValueType operator++()
Returns the value of the counter.
ValueType operator++(int)
Increments the counter and returns the result.
AtomicCounter(ValueType initialValue)
Creates a new AtomicCounter and initializes it to zero.
operator ValueType() const
Assigns a value to the counter.
ValueType operator--(int)
Decrements the counter and returns the result.
ValueType value() const
Converts the AtomicCounter to ValueType.
AtomicCounter & operator=(const AtomicCounter &counter)
Destroys the AtomicCounter.
AtomicCounter & operator=(ValueType value)
Assigns the value of another AtomicCounter.
AtomicCounter()
The underlying integer type.
bool operator!() const
Decrements the counter and returns the previous value.
AtomicCounter(const AtomicCounter &counter)
~AtomicCounter()
Creates the counter by copying another one.
std::atomic< int > _counter
Returns true if the counter is zero, false otherwise.
static std::string what(const char *msg, const char *file, int line, const char *text=0)
static void bugcheck(const char *msg, const char *file, int line)
static void nullPointer(const char *ptr, const char *file, int line)
static void debugger(const char *msg, const char *file, int line)
static void debugger(const char *file, int line)
static void bugcheck(const char *file, int line)
static void assertion(const char *cond, const char *file, int line, const char *text=0)
static void unexpected(const char *file, int line)
static struct CRYPTO_dynlock_value * dynlockCreate(const char *file, int line)
static void uninitialize()
Initializes the OpenSSL machinery.
static void initialize()
Automatically shut down OpenSSL on exit.
~OpenSSLInitializer()
Automatically initialize OpenSSL on startup.
static void lock(int mode, int n, const char *file, int line)
static unsigned long id()
static Poco::AtomicCounter _rc
static void enableFIPSMode(bool enabled)
static Poco::FastMutex * _mutexes
static void dynlock(int mode, struct CRYPTO_dynlock_value *lock, const char *file, int line)
static bool isFIPSEnabled()
Shuts down the OpenSSL machinery.
static void dynlockDestroy(struct CRYPTO_dynlock_value *lock, const char *file, int line)
This class represents a X509 Certificate.
void swap(X509Certificate &cert)
Move assignment.
std::string subjectName(NID nid) const
Returns the certificate subject's distinguished name.
bool equals(const X509Certificate &otherCertificate) const
const X509 * certificate() const
Poco::DateTime expiresOn() const
Returns the date and time the certificate is valid from.
X509Certificate(X509 *pCert, bool shared)
@ NID_PKCS9_EMAIL_ADDRESS
@ NID_ORGANIZATION_UNIT_NAME
std::string issuerName(NID nid) const
Returns the certificate issuer's distinguished name.
const std::string & subjectName() const
X509Certificate(const X509Certificate &cert)
const std::string & serialNumber() const
Returns the version of the certificate.
X509Certificate & operator=(const X509Certificate &cert)
Creates the certificate by moving another one.
X509 * dup() const
Returns the underlying OpenSSL certificate.
~X509Certificate()
Exchanges the certificate with another one.
bool issuedBy(const X509Certificate &issuerCertificate) const
const std::string & issuerName() const
X509Certificate(X509 *pCert)
long version() const
Destroys the X509Certificate.
X509Certificate(X509Certificate &&cert) noexcept
Creates the certificate by copying another one.
void load(std::istream &stream)
Writes the list of certificates to the specified PEM file.
std::string signatureAlgorithm() const
void print(std::ostream &out) const
Returns the certificate signature algorithm long name.
Poco::DateTime validFrom() const
X509Certificate(std::istream &istr)
std::string commonName() const
void save(std::ostream &stream) const
OpenSSLInitializer _openSSLInitializer
std::string _serialNumber
X509Certificate & operator=(X509Certificate &&cert) noexcept
Assigns a certificate.
void swap(DateTime &dateTime)
bool operator<=(const DateTime &dateTime) const
DateTime & operator-=(const Timespan &span)
int millisecond() const
Returns the second (0 to 59).
static bool isValid(int year, int month, int day, int hour=0, int minute=0, int second=0, int millisecond=0, int microsecond=0)
bool operator!=(const DateTime &dateTime) const
static bool isLeapYear(int year)
Converts a UTC time into a local time, by applying the given time zone differential.
void makeUTC(int tzd)
Converts DateTime to tm struct.
DateTime(double julianDay)
int microsecond() const
Returns the millisecond (0 to 999)
Timestamp::UtcTimeVal utcTime() const
Returns the date and time expressed as a Timestamp.
Months
Symbolic names for month numbers (1 to 12).
bool operator<(const DateTime &dateTime) const
DateTime & operator=(double julianDay)
Assigns a Timestamp.
bool operator>(const DateTime &dateTime) const
bool operator>=(const DateTime &dateTime) const
bool isPM() const
Returns true if hour < 12;.
int hourAMPM() const
Returns the hour (0 to 23).
double julianDay() const
Returns the microsecond (0 to 999)
static double toJulianDay(int year, int month, int day, int hour=0, int minute=0, int second=0, int millisecond=0, int microsecond=0)
Computes the Julian day for an UTC time.
DaysOfWeek
Symbolic names for week day numbers (0 to 6).
DateTime & operator=(const DateTime &dateTime)
Destroys the DateTime.
void makeLocal(int tzd)
Converts a local time into UTC, by applying the given time zone differential.
DateTime(const Timestamp ×tamp)
Creates a DateTime from tm struct.
static double toJulianDay(Timestamp::UtcTimeVal utcTime)
Timespan operator-(const DateTime &dateTime) const
DateTime operator-(const Timespan &span) const
DateTime & operator+=(const Timespan &span)
static Timestamp::UtcTimeVal toUtcTime(double julianDay)
Timestamp timestamp() const
Returns the julian day for the date and time.
int week(int firstDayOfWeek=MONDAY) const
Returns the month (1 to 12).
int second() const
Returns the minute (0 to 59).
~DateTime()
Copy constructor. Creates the DateTime from another one.
bool operator==(const DateTime &dateTime) const
int year() const
Swaps the DateTime with another one.
static int daysOfMonth(int year, int month)
void computeGregorian(double julianDay)
Computes the UTC time for a Julian day.
int dayOfWeek() const
Returns the day within the month (1 to 31).
DateTime & assign(int year, int month, int day, int hour=0, int minute=0, int second=0, int millisecond=0, int microseconds=0)
Assigns a Julian day.
void checkLimit(short &lower, short &higher, short limit)
Extracts the daytime (hours, minutes, seconds, etc.) from the stored utcTime.
DateTime(const DateTime &dateTime)
Timestamp::UtcTimeVal _utcTime
utility functions used to correct the overflow in computeGregorian
int month() const
Returns the year.
DateTime(int year, int month, int day, int hour=0, int minute=0, int second=0, int millisecond=0, int microsecond=0)
DateTime(const tm &tmStruct)
Creates a DateTime for the current date and time.
DateTime(Timestamp::UtcTimeVal utcTime, Timestamp::TimeDiff diff)
Creates a DateTime for the given Julian day.
DateTime & operator=(const Timestamp ×tamp)
Assigns another DateTime.
DateTime operator+(const Timespan &span) const
int minute() const
Returns true if hour >= 12.
bool isAM() const
Returns the hour (0 to 12).
virtual void updateImpl(const void *data, std::size_t length)=0
virtual const Digest & digest()=0
DigestEngine & operator=(const DigestEngine &)
virtual std::size_t digestLength() const =0
Updates the digest with the given data.
DigestEngine(const DigestEngine &)
void update(const void *data, std::size_t length)
virtual void reset()=0
Returns the length of the digest in bytes.
Exception(const Exception &exc)
virtual const char * what() const noexcept
Returns the name of the exception class.
const std::string & message() const
void message(const std::string &msg)
Standard constructor.
Exception(const std::string &msg, const Exception &nested, int code=0)
Creates an exception.
std::string _msg
Sets the extended message for the exception.
Exception(const std::string &msg, const std::string &arg, int code=0)
Creates an exception.
const Exception * nested() const
virtual Exception * clone() const
Exception & operator=(const Exception &exc)
Destroys the exception and deletes the nested exception.
virtual void rethrow() const
void extendedMessage(const std::string &arg)
Sets the message for the exception.
virtual const char * name() const noexcept
Assignment operator.
int code() const
Returns the message text.
~Exception() noexcept
Copy constructor.
std::string displayText() const
Returns the exception code if defined.
Exception(const std::string &msg, int code=0)
virtual const char * className() const noexcept
Returns a static string describing the exception.
bool tryLock(long milliseconds)
~FastMutex()
creates the Mutex.
void lock()
destroys the Mutex.
FastMutex(const FastMutex &)
void lock(long milliseconds)
FastMutex & operator=(const FastMutex &)
bool tryLock(long milliseconds)
void lock(long milliseconds)
void lock()
destroys the Mutex.
Mutex & operator=(const Mutex &)
~Mutex()
creates the Mutex.
bool tryLockImpl(long milliseconds)
void init(const Params ¶ms)
void setSessionCacheSize(std::size_t size)
Returns true iff the session cache is enabled.
std::size_t getSessionCacheSize() const
Context::VerificationMode verificationMode() const
Returns true iff the context is for use by a server.
void requireMinimumProtocol(Protocols protocol)
void enableExtendedCertificateVerification(bool flag=true)
void setInvalidCertificateHandler(InvalidCertificateHandlerPtr pInvalidCertificageHandler)
Usage _usage
Create a SSL_CTX object according to Context configuration.
Usage usage() const
Returns the underlying OpenSSL SSL Context object.
SSL_CTX * sslContext() const
long getSessionTimeout() const
void usePrivateKey(const Poco::Crypto::RSAKey &key)
Add one trusted certification authority to be used by the Context.
void enableSessionCache(bool flag=true)
Returns the verification mode.
void addCertificateAuthority(const Poco::Crypto::X509Certificate &certificate)
Adds a certificate for certificate chain validation.
void usePrivateKey(const Poco::Crypto::EVPPKey &pkey)
bool extendedCertificateVerificationEnabled() const
bool isForServerUse() const
void addChainCertificate(const Poco::Crypto::X509Certificate &certificate)
bool _ocspStaplingResponseVerification
bool ocspStaplingResponseVerificationEnabled() const
bool _extendedCertificateVerification
@ SERVER_USE
DEPRECATED. Context is used by a client.
@ TLSV1_2_CLIENT_USE
DEPRECATED. Context is used by a server requiring TLSv1.1 (OpenSSL 1.0.0 or newer).
@ TLSV1_CLIENT_USE
DEPRECATED. Context is used by a server.
@ TLSV1_3_SERVER_USE
DEPRECATED. Context is used by a client requiring TLSv1.3 (OpenSSL 1.1.1 or newer).
@ CLIENT_USE
Context is used by a client for TLSv1 or higher. Use requireMinimumProtocol() or disableProtocols() t...
@ TLSV1_2_SERVER_USE
DEPRECATED. Context is used by a client requiring TLSv1.2 (OpenSSL 1.0.1 or newer).
@ TLSV1_SERVER_USE
DEPRECATED. Context is used by a client requiring TLSv1.
@ TLSV1_3_CLIENT_USE
DEPRECATED. Context is used by a server requiring TLSv1.2 (OpenSSL 1.0.1 or newer).
@ TLS_SERVER_USE
Context is used by a client for TLSv1 or higher. Use requireMinimumProtocol() or disableProtocols() t...
@ TLSV1_1_CLIENT_USE
DEPRECATED. Context is used by a server requiring TLSv1.
@ TLSV1_1_SERVER_USE
DEPRECATED. Context is used by a client requiring TLSv1.1 (OpenSSL 1.0.0 or newer).
void useCertificate(const Poco::Crypto::X509Certificate &certificate)
Destroys the Context.
void preferServerCiphers()
Context(Usage usage, const Params ¶ms)
InvalidCertificateHandlerPtr _pInvalidCertificateHandler
void setSessionTimeout(long seconds)
InvalidCertificateHandlerPtr getInvalidCertificateHandler() const
void disableStatelessSessionResumption()
bool sessionCacheEnabled() const
void disableProtocols(int protocols)
virtual std::istream & receiveResponse(HTTPResponse &response)
virtual std::ostream & sendRequest(HTTPRequest &request)
Returns the connection timeout for HTTP connections.
static const std::string HTTP_1_1
void setContentLength(std::streamsize length)
Returns the HTTP version for this message.
HTTPRequest(const std::string &method, const std::string &uri, const std::string &version)
Creates a HTTP/1.0 request with the given method and URI.
static const std::string HTTP_GET
static const std::string HTTP_DELETE
static const std::string HTTP_POST
const std::string & getReason() const
Sets the HTTP reason phrase.
HTTPResponse(HTTPStatus status)
HTTPStatus getStatus() const
HTTPSClientSession(const std::string &host, Poco::UInt16 port, Context::Ptr pContext, Session::Ptr pSession)
std::string proxyRequestPrefix() const
Sends the given HTTPRequest over an existing connection.
HTTPSClientSession(Context::Ptr pContext, Session::Ptr pSession)
Session::Ptr sslSession()
HTTPSClientSession(Context::Ptr pContext)
Creates a HTTPSClientSession using the given host and port.
void proxyAuthenticate(HTTPRequest &request)
Checks if we can reuse a persistent connection.
int read(char *buffer, std::streamsize length)
HTTPSClientSession(const HTTPSClientSession &)
void connect(const SocketAddress &address)
Refills the internal buffer.
HTTPSClientSession(const SecureStreamSocket &socket, Session::Ptr pSession)
X509Certificate serverCertificate()
HTTPSClientSession & operator=(const HTTPSClientSession &)
HTTPSClientSession(const std::string &host, Poco::UInt16 port=HTTPS_PORT)
HTTPSClientSession(const SecureStreamSocket &socket)
Creates an unconnected HTTPSClientSession.
HTTPSClientSession(const std::string &host, Poco::UInt16 port, Context::Ptr pContext)
bool _handleErrorsOnServerSide
InvalidCertificateHandler(bool handleErrorsOnServerSide)
virtual void onInvalidCertificate(const void *pSender, VerificationErrorArgs &errorCert)=0
Destroys the InvalidCertificateHandler.
virtual ~InvalidCertificateHandler()
RejectCertificateHandler(bool handleErrorsOnServerSide)
void initializeClient(PrivateKeyPassphraseHandlerPtr ptrPassphraseHandler, InvalidCertificateHandlerPtr ptrHandler, Context::Ptr ptrContext)
static SSLManager & instance()
static std::string convertCertificateError(long errCode)
static std::string getLastError()
Converts an SSL certificate handling error code into an error message.
static void clearErrorStack()
Returns the last error from the error stack.
A utility class for certificate error handling.
void unlock()
Does nothing.
void lock(long)
Does nothing.
NullMutex()
Creates the NullMutex.
bool tryLock()
Does nothing and always returns true.
~NullMutex()
Destroys the NullMutex.
bool tryLock(long)
Does nothing and always returns true.
This stream discards all characters written to it.
Simple ReferenceCounter object, does not delete itself when count reaches 0.
int referenceCount() const
The release policy for SharedPtr holding arrays.
static void release(C *pObj) noexcept
static void release(C *pObj) noexcept
ScopedLock(M &mutex, long milliseconds)
ScopedLock(const ScopedLock &)
ScopedLock & operator=(const ScopedLock &)
ScopedLockWithUnlock(M &mutex)
ScopedLockWithUnlock & operator=(const ScopedLockWithUnlock &)
ScopedLockWithUnlock(const ScopedLockWithUnlock &)
ScopedLockWithUnlock(M &mutex, long milliseconds)
bool operator!=(const SharedPtr &ptr) const
SharedPtr(SharedPtr &&ptr) noexcept
SharedPtr & operator=(SharedPtr &&ptr) noexcept
SharedPtr< Other, RC, RP > cast() const
bool operator<=(C *ptr) const
bool operator<(const C *ptr) const
bool operator<=(const C *ptr) const
bool operator>=(C *ptr) const
void swap(SharedPtr &ptr)
SharedPtr(const SharedPtr< Other, RC, OtherRP > &ptr)
void reset(const SharedPtr< Other, RC, OtherRP > &ptr)
bool operator==(const SharedPtr &ptr) const
bool operator>=(const C *ptr) const
bool operator!=(const C *ptr) const
bool operator>(C *ptr) const
bool operator>(const C *ptr) const
void reset(const SharedPtr &ptr)
bool operator==(C *ptr) const
bool operator<=(const SharedPtr &ptr) const
bool operator!=(C *ptr) const
bool operator>=(const SharedPtr &ptr) const
bool operator==(std::nullptr_t ptr) const
SharedPtr(const SharedPtr &ptr)
SharedPtr(RC *pCounter, C *ptr)
SharedPtr< Other, RC, RP > unsafeCast() const
SharedPtr & assign(const SharedPtr &ptr)
SharedPtr & operator=(const SharedPtr &ptr)
operator const C *() const
SharedPtr & assign(C *ptr)
const C & operator*() const
const C * operator->() const
int referenceCount() const
SharedPtr & assign(const SharedPtr< Other, RC, OtherRP > &ptr)
bool operator==(const C *ptr) const
bool operator>(const SharedPtr &ptr) const
SharedPtr & operator=(const SharedPtr< Other, RC, OtherRP > &ptr)
bool operator<(const SharedPtr &ptr) const
SharedPtr & operator=(C *ptr)
bool operator<(C *ptr) const
bool operator!=(std::nullptr_t ptr) const
static std::streamsize copyStream(std::istream &istr, std::ostream &ostr, std::size_t bufferSize=8192)
A class that represents time spans up to microsecond resolution.
Timespan(const Timespan ×pan)
Creates a Timespan.
int totalMinutes() const
Returns the number of minutes (0 to 59).
static const TimeDiff SECONDS
The number of microseconds in a millisecond.
bool operator>=(TimeDiff microSeconds) const
bool operator>(TimeDiff microSeconds) const
int seconds() const
Returns the total number of minutes.
Timespan(int days, int hours, int minutes, int seconds, int microSeconds)
Timespan & operator=(TimeDiff microseconds)
Assignment operator.
Timespan operator-(TimeDiff microSeconds) const
bool operator<=(const Timespan &ts) const
static const TimeDiff HOURS
The number of microseconds in a minute.
Timespan & assign(long seconds, long microseconds)
Assigns a new span.
bool operator==(const Timespan &ts) const
Swaps the Timespan with another one.
void swap(Timespan ×pan)
bool operator==(TimeDiff microSeconds) const
TimeDiff _span
The number of microseconds in a day.
Timespan & operator-=(TimeDiff microSeconds)
Timespan(long seconds, long microseconds)
Creates a Timespan.
TimeDiff totalMicroseconds() const
int totalHours() const
Returns the number of hours (0 to 23).
Timespan & operator=(const Timespan ×pan)
Destroys the Timespan.
int totalSeconds() const
Returns the number of seconds (0 to 59).
TimeDiff totalMilliseconds() const
Returns the number of milliseconds (0 to 999).
Timespan & operator-=(const Timespan &d)
bool operator>=(const Timespan &ts) const
int hours() const
Returns the number of days.
Timespan(TimeDiff microseconds)
Creates a zero Timespan.
int minutes() const
Returns the total number of hours.
bool operator!=(const Timespan &ts) const
Timespan operator+(TimeDiff microSeconds) const
bool operator>(const Timespan &ts) const
bool operator<(TimeDiff microSeconds) const
static const TimeDiff DAYS
The number of microseconds in a hour.
int microseconds() const
Returns the total number of milliseconds.
int milliseconds() const
Returns the total number of seconds.
Timespan & operator+=(TimeDiff microSeconds)
static const TimeDiff MINUTES
The number of microseconds in a second.
~Timespan()
Creates a Timespan from another one.
Timespan & operator+=(const Timespan &d)
static const TimeDiff MILLISECONDS
Returns the total number of microseconds.
bool operator<(const Timespan &ts) const
Timespan operator-(const Timespan &d) const
Timespan & assign(int days, int hours, int minutes, int seconds, int microSeconds)
Assignment operator.
Timespan operator+(const Timespan &d) const
bool operator<=(TimeDiff microSeconds) const
bool operator!=(TimeDiff microSeconds) const
Timestamp & operator=(const Timestamp &other)
Destroys the timestamp.
Timestamp & operator+=(TimeDiff d)
Timestamp & operator-=(TimeDiff d)
Timestamp(TimeVal tv)
Creates a timestamp with the current time.
Timestamp & operator=(TimeVal tv)
bool isElapsed(TimeDiff interval) const
static const TimeVal TIMEVAL_MIN
Difference between two TimeVal values in microseconds.
TimeVal epochMicroseconds() const
static Timestamp fromUtcTime(UtcTimeVal val)
Creates a timestamp from a std::time_t.
static TimeDiff resolution()
bool operator<=(const Timestamp &ts) const
Timestamp operator+(const Timespan &span) const
std::time_t epochTime() const
~Timestamp()
Copy constructor.
Timestamp operator-(const Timespan &span) const
bool operator==(const Timestamp &ts) const
Updates the Timestamp with the current time.
bool operator>=(const Timestamp &ts) const
Timestamp & operator-=(const Timespan &span)
UtcTimeVal utcTime() const
Timestamp operator+(TimeDiff d) const
bool operator<(const Timestamp &ts) const
static Timestamp fromEpochTime(std::time_t t)
Timestamp()
Maximum timestamp value.
bool operator!=(const Timestamp &ts) const
static const TimeVal TIMEVAL_MAX
Minimum timestamp value.
TimeDiff operator-(const Timestamp &ts) const
Timestamp & operator+=(const Timespan &span)
bool operator>(const Timestamp &ts) const
Timestamp(const Timestamp &other)
void swap(Timestamp ×tamp)
Timestamp operator-(TimeDiff d) const
void update()
Swaps the Timestamp with another one.
const std::string & getHost() const
Sets the user-info part of the URI.
const std::string & getScheme() const
URI(const std::string &uri)
Creates an empty URI.
unsigned short getPort() const
Sets the host part of the URI.
std::string getPathAndQuery() const
Returns the encoded path, query and fragment parts of the URI.
int COMP_CTX_get_type(const COMP_CTX *comp)
int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen, unsigned char *in, int ilen)
int COMP_get_type(const COMP_METHOD *meth)
int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen, unsigned char *in, int ilen)
const COMP_METHOD * COMP_CTX_get_method(const COMP_CTX *ctx)
const char * COMP_get_name(const COMP_METHOD *meth)
COMP_CTX * COMP_CTX_new(COMP_METHOD *meth)
void COMP_CTX_free(COMP_CTX *ctx)
COMP_METHOD * COMP_zlib(void)
int ERR_load_COMP_strings(void)
int ERR_load_CRYPTO_strings(void)
const char * CTLOG_get0_name(const CTLOG *log)
void SCT_print(const SCT *sct, BIO *out, int indent, const CTLOG_STORE *logs)
int SCT_get_signature_nid(const SCT *sct)
int CTLOG_new_from_base64(CTLOG **ct_log, const char *pkey_base64, const char *name)
sct_validation_status_t SCT_get_validation_status(const SCT *sct)
void SCT_LIST_free(STACK_OF(SCT) *a)
__owur int SCT_set_log_entry_type(SCT *sct, ct_log_entry_type_t entry_type)
X509 * CT_POLICY_EVAL_CTX_get0_issuer(const CT_POLICY_EVAL_CTX *ctx)
X509 * CT_POLICY_EVAL_CTX_get0_cert(const CT_POLICY_EVAL_CTX *ctx)
const CTLOG_STORE * CT_POLICY_EVAL_CTX_get0_log_store(const CT_POLICY_EVAL_CTX *ctx)
uint64_t SCT_get_timestamp(const SCT *sct)
SCT * SCT_new_from_base64(unsigned char version, const char *logid_base64, ct_log_entry_type_t entry_type, uint64_t timestamp, const char *extensions_base64, const char *signature_base64)
const CTLOG * CTLOG_STORE_get0_log_by_id(const CTLOG_STORE *store, const uint8_t *log_id, size_t log_id_len)
const unsigned char ** pp
const char * SCT_validation_status_string(const SCT *sct)
void CT_POLICY_EVAL_CTX_set_time(CT_POLICY_EVAL_CTX *ctx, uint64_t time_in_ms)
__owur int i2o_SCT(const SCT *sct, unsigned char **out)
size_t SCT_get0_extensions(const SCT *sct, unsigned char **ext)
__owur int i2d_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp)
SCT * o2i_SCT(SCT **psct, const unsigned char **in, size_t len)
__owur int CTLOG_STORE_load_file(CTLOG_STORE *store, const char *file)
size_t SCT_get0_log_id(const SCT *sct, unsigned char **log_id)
__owur int SCT_set_version(SCT *sct, sct_version_t version)
void CTLOG_STORE_free(CTLOG_STORE *store)
__owur int SCT_set_source(SCT *sct, sct_source_t source)
void SCT_set0_signature(SCT *sct, unsigned char *sig, size_t sig_len)
void CT_POLICY_EVAL_CTX_set_shared_CTLOG_STORE(CT_POLICY_EVAL_CTX *ctx, CTLOG_STORE *log_store)
CTLOG * CTLOG_new(EVP_PKEY *public_key, const char *name)
int CT_POLICY_EVAL_CTX_set1_issuer(CT_POLICY_EVAL_CTX *ctx, X509 *issuer)
__owur int CTLOG_STORE_load_default_file(CTLOG_STORE *store)
size_t SCT_get0_signature(const SCT *sct, unsigned char **sig)
__owur int SCT_validate(SCT *sct, const CT_POLICY_EVAL_CTX *ctx)
void SCT_set_timestamp(SCT *sct, uint64_t timestamp)
__owur int SCT_set0_log_id(SCT *sct, unsigned char *log_id, size_t log_id_len)
ct_log_entry_type_t SCT_get_log_entry_type(const SCT *sct)
uint64_t CT_POLICY_EVAL_CTX_get_time(const CT_POLICY_EVAL_CTX *ctx)
sct_source_t SCT_get_source(const SCT *sct)
EVP_PKEY * CTLOG_get0_public_key(const CTLOG *log)
@ SCT_VALIDATION_STATUS_UNKNOWN_VERSION
@ SCT_VALIDATION_STATUS_UNVERIFIED
@ SCT_VALIDATION_STATUS_INVALID
@ SCT_VALIDATION_STATUS_NOT_SET
@ SCT_VALIDATION_STATUS_UNKNOWN_LOG
@ SCT_VALIDATION_STATUS_VALID
__owur int SCT_set_signature_nid(SCT *sct, int nid)
void CTLOG_free(CTLOG *log)
int CT_POLICY_EVAL_CTX_set1_cert(CT_POLICY_EVAL_CTX *ctx, X509 *cert)
sct_version_t SCT_get_version(const SCT *sct)
__owur int SCT_set1_extensions(SCT *sct, const unsigned char *ext, size_t ext_len)
@ CT_LOG_ENTRY_TYPE_PRECERT
@ CT_LOG_ENTRY_TYPE_NOT_SET
void CTLOG_get0_log_id(const CTLOG *log, const uint8_t **log_id, size_t *log_id_len)
__owur int i2o_SCT_LIST(const STACK_OF(SCT) *a, unsigned char **pp)
@ SCT_SOURCE_X509V3_EXTENSION
@ SCT_SOURCE_TLS_EXTENSION
@ SCT_SOURCE_OCSP_STAPLED_RESPONSE
__owur int SCT_set1_log_id(SCT *sct, const unsigned char *log_id, size_t log_id_len)
CT_POLICY_EVAL_CTX * CT_POLICY_EVAL_CTX_new(void)
const unsigned char size_t len
void SCT_LIST_print(const STACK_OF(SCT) *sct_list, BIO *out, int indent, const char *separator, const CTLOG_STORE *logs)
void CT_POLICY_EVAL_CTX_free(CT_POLICY_EVAL_CTX *ctx)
CTLOG_STORE * CTLOG_STORE_new(void)
void SCT_set0_extensions(SCT *sct, unsigned char *ext, size_t ext_len)
__owur int SCT_LIST_validate(const STACK_OF(SCT) *scts, CT_POLICY_EVAL_CTX *ctx)
__owur int SCT_set1_signature(SCT *sct, const unsigned char *sig, size_t sig_len)
int ERR_load_CT_strings(void)
const BIGNUM * DH_get0_p(const DH *dh)
int DH_check_pub_key(const DH *dh, const BIGNUM *pub_key, int *codes)
#define EVP_PKEY_CTRL_DH_KDF_OUTLEN
int i2d_DHxparams(const DH *a, unsigned char **pp)
const BIGNUM * DH_get0_priv_key(const DH *dh)
#define EVP_PKEY_CTRL_DH_PAD
int DH_check_params(const DH *dh, int *ret)
const DH_METHOD * DH_get_default_method(void)
const char * DH_meth_get0_name(const DH_METHOD *dhm)
int i2d_DHparams(const DH *a, unsigned char **pp)
int(*)(unsigned char *key, const BIGNUM *pub_key, DH *dh) DH_meth_get_compute_key(const DH_METHOD *dhm)
int DHparams_print_fp(FILE *fp, const DH *x)
DH * d2i_DHparams(DH **a, const unsigned char **pp, long length)
DH * DH_new_method(ENGINE *engine)
int DH_set_method(DH *dh, const DH_METHOD *meth)
DH * DH_get_2048_224(void)
#define EVP_PKEY_CTRL_DH_KDF_TYPE
int DH_KDF_X9_42(unsigned char *out, size_t outlen, const unsigned char *Z, size_t Zlen, ASN1_OBJECT *key_oid, const unsigned char *ukm, size_t ukmlen, const EVP_MD *md)
int DH_meth_set_compute_key(DH_METHOD *dhm, int(*compute_key)(unsigned char *key, const BIGNUM *pub_key, DH *dh))
#define EVP_PKEY_CTRL_GET_DH_KDF_MD
int(*)(DH *) DH_meth_get_finish(const DH_METHOD *dhm)
int DH_check_pub_key_ex(const DH *dh, const BIGNUM *pub_key)
#define EVP_PKEY_CTRL_DH_KDF_OID
int DH_meth_get_flags(const DH_METHOD *dhm)
void DH_clear_flags(DH *dh, int flags)
int DH_set_ex_data(DH *d, int idx, void *arg)
int DH_test_flags(const DH *dh, int flags)
#define EVP_PKEY_CTRL_GET_DH_KDF_UKM
#define EVP_PKEY_CTRL_DH_NID
int(*)(DH *) DH_meth_get_init(const DH_METHOD *dhm)
void DH_set_default_method(const DH_METHOD *meth)
void DH_get0_key(const DH *dh, const BIGNUM **pub_key, const BIGNUM **priv_key)
int DH_security_bits(const DH *dh)
const DH_METHOD * DH_OpenSSL(void)
void DH_get0_pqg(const DH *dh, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
DH * DH_new_by_nid(int nid)
int DH_set0_key(DH *dh, BIGNUM *pub_key, BIGNUM *priv_key)
int DH_meth_set_init(DH_METHOD *dhm, int(*init)(DH *))
DH * DH_get_2048_256(void)
DH * DH_get_1024_160(void)
int DH_meth_set_generate_key(DH_METHOD *dhm, int(*generate_key)(DH *))
int DH_bits(const DH *dh)
int DH_meth_set_generate_params(DH_METHOD *dhm, int(*generate_params)(DH *, int, int, BN_GENCB *))
void * DH_get_ex_data(DH *d, int idx)
ENGINE * DH_get0_engine(DH *d)
int DHparams_print(BIO *bp, const DH *x)
const BIGNUM * DH_get0_q(const DH *dh)
int DH_get_nid(const DH *dh)
#define EVP_PKEY_CTRL_GET_DH_KDF_OID
int DH_meth_set_bn_mod_exp(DH_METHOD *dhm, int(*bn_mod_exp)(const DH *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *, BN_MONT_CTX *))
int DH_size(const DH *dh)
int DH_meth_set1_name(DH_METHOD *dhm, const char *name)
int DH_meth_set0_app_data(DH_METHOD *dhm, void *app_data)
DH * d2i_DHxparams(DH **a, const unsigned char **pp, long length)
#define EVP_PKEY_CTRL_DH_KDF_MD
int DH_meth_set_finish(DH_METHOD *dhm, int(*finish)(DH *))
#define DH_CHECK_P_NOT_SAFE_PRIME
int(*)(DH *, int, int, BN_GENCB *) DH_meth_get_generate_params(const DH_METHOD *dhm)
void DH_meth_free(DH_METHOD *dhm)
#define EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR
int DH_generate_key(DH *dh)
DH_METHOD * DH_meth_new(const char *name, int flags)
#define EVP_PKEY_CTRL_DH_PARAMGEN_TYPE
int(*)(const DH *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *, BN_MONT_CTX *) DH_meth_get_bn_mod_exp(const DH_METHOD *dhm)
int DH_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh)
int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g)
#define EVP_PKEY_CTRL_DH_PARAMGEN_SUBPRIME_LEN
const BIGNUM * DH_get0_pub_key(const DH *dh)
long DH_get_length(const DH *dh)
int(*)(DH *) DH_meth_get_generate_key(const DH_METHOD *dhm)
int DH_set_length(DH *dh, long length)
#define EVP_PKEY_CTRL_GET_DH_KDF_OUTLEN
#define EVP_PKEY_CTRL_DH_KDF_UKM
int DH_compute_key_padded(unsigned char *key, const BIGNUM *pub_key, DH *dh)
#define EVP_PKEY_CTRL_DH_RFC5114
void DH_set_flags(DH *dh, int flags)
#define EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN
int DH_check(const DH *dh, int *codes)
void * DH_meth_get0_app_data(const DH_METHOD *dhm)
const BIGNUM * DH_get0_g(const DH *dh)
int DH_meth_set_flags(DH_METHOD *dhm, int flags)
DH_METHOD * DH_meth_dup(const DH_METHOD *dhm)
int DH_check_params_ex(const DH *dh)
int DH_check_ex(const DH *dh)
int ERR_load_DH_strings(void)
void DSA_meth_free(DSA_METHOD *dsam)
DSA_METHOD * DSA_meth_new(const char *name, int flags)
int DSA_do_verify(const unsigned char *dgst, int dgst_len, DSA_SIG *sig, DSA *dsa)
int(*)(DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *, BN_MONT_CTX *) DSA_meth_get_bn_mod_exp(const DSA_METHOD *dsam)
int i2d_DSAPrivateKey(const DSA *a, unsigned char **pp)
const BIGNUM * DSA_get0_pub_key(const DSA *d)
int DSA_meth_set_verify(DSA_METHOD *dsam, int(*verify)(const unsigned char *, int, DSA_SIG *, DSA *))
DSA_SIG * DSA_SIG_new(void)
int DSA_set0_key(DSA *d, BIGNUM *pub_key, BIGNUM *priv_key)
int i2d_DSA_SIG(const DSA_SIG *a, unsigned char **pp)
DSA_SIG * DSA_do_sign(const unsigned char *dgst, int dlen, DSA *dsa)
int DSA_bits(const DSA *d)
int(*)(const unsigned char *, int, DSA_SIG *, DSA *) DSA_meth_get_verify(const DSA_METHOD *dsam)
int DSA_verify(int type, const unsigned char *dgst, int dgst_len, const unsigned char *sigbuf, int siglen, DSA *dsa)
int DSA_meth_set_keygen(DSA_METHOD *dsam, int(*keygen)(DSA *))
int DSA_meth_set1_name(DSA_METHOD *dsam, const char *name)
int(*)(DSA *) DSA_meth_get_init(const DSA_METHOD *dsam)
int const unsigned char int seed_len
int DSA_size(const DSA *)
void DSA_set_default_method(const DSA_METHOD *)
DSA * DSA_new_method(ENGINE *engine)
int const unsigned char * seed
const DSA_METHOD * DSA_get_method(DSA *d)
int DSA_meth_set_flags(DSA_METHOD *dsam, int flags)
void DSA_SIG_get0(const DSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps)
DSA_METHOD * DSA_meth_dup(const DSA_METHOD *dsam)
DSA * d2i_DSAPublicKey(DSA **a, const unsigned char **pp, long length)
int DSA_meth_set_paramgen(DSA_METHOD *dsam, int(*paramgen)(DSA *, int, const unsigned char *, int, int *, unsigned long *, BN_GENCB *))
int(*)(DSA *) DSA_meth_get_keygen(const DSA_METHOD *dsam)
void DSA_clear_flags(DSA *d, int flags)
int DSA_security_bits(const DSA *d)
int(*)(DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *, BN_MONT_CTX *) DSA_meth_get_mod_exp(const DSA_METHOD *dsam)
#define EVP_PKEY_CTRL_DSA_PARAMGEN_BITS
DH * DSA_dup_DH(const DSA *r)
int DSAparams_print_fp(FILE *fp, const DSA *x)
int DSA_meth_set_bn_mod_exp(DSA_METHOD *dsam, int(*bn_mod_exp)(DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *, BN_MONT_CTX *))
#define EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS
const BIGNUM * DSA_get0_q(const DSA *d)
const BIGNUM * DSA_get0_g(const DSA *d)
int DSA_meth_set_sign(DSA_METHOD *dsam, DSA_SIG *(*sign)(const unsigned char *, int, DSA *))
int const unsigned char int int unsigned long * h_ret
DSA * d2i_DSAparams(DSA **a, const unsigned char **pp, long length)
int DSA_meth_set_finish(DSA_METHOD *dsam, int(*finish)(DSA *))
void * DSA_get_ex_data(DSA *d, int idx)
void DSA_SIG_free(DSA_SIG *a)
int DSAparams_print(BIO *bp, const DSA *x)
DSA * d2i_DSAPrivateKey(DSA **a, const unsigned char **pp, long length)
int DSA_set0_pqg(DSA *d, BIGNUM *p, BIGNUM *q, BIGNUM *g)
int DSA_meth_set0_app_data(DSA_METHOD *dsam, void *app_data)
int DSA_meth_set_mod_exp(DSA_METHOD *dsam, int(*mod_exp)(DSA *, BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *, BN_MONT_CTX *))
const BIGNUM * DSA_get0_priv_key(const DSA *d)
int(*)(DSA *, BN_CTX *, BIGNUM **, BIGNUM **) DSA_meth_get_sign_setup(const DSA_METHOD *dsam)
const BIGNUM * DSA_get0_p(const DSA *d)
int DSA_meth_set_sign_setup(DSA_METHOD *dsam, int(*sign_setup)(DSA *, BN_CTX *, BIGNUM **, BIGNUM **))
const char * DSA_meth_get0_name(const DSA_METHOD *dsam)
void DSA_set_flags(DSA *d, int flags)
const DSA_METHOD * DSA_OpenSSL(void)
int i2d_DSAPublicKey(const DSA *a, unsigned char **pp)
int DSA_generate_key(DSA *a)
void * DSA_meth_get0_app_data(const DSA_METHOD *dsam)
int const unsigned char int int * counter_ret
int DSA_meth_get_flags(const DSA_METHOD *dsam)
struct DSA_SIG_st DSA_SIG
int const unsigned char int int unsigned long BN_GENCB * cb
int DSA_print(BIO *bp, const DSA *x, int off)
void DSA_get0_key(const DSA *d, const BIGNUM **pub_key, const BIGNUM **priv_key)
int DSA_SIG_set0(DSA_SIG *sig, BIGNUM *r, BIGNUM *s)
int(*)(DSA *) DSA_meth_get_finish(const DSA_METHOD *dsam)
int DSA_set_method(DSA *dsa, const DSA_METHOD *)
int DSA_meth_set_init(DSA_METHOD *dsam, int(*init)(DSA *))
int DSA_test_flags(const DSA *d, int flags)
ENGINE * DSA_get0_engine(DSA *d)
int DSA_set_ex_data(DSA *d, int idx, void *arg)
int DSA_print_fp(FILE *bp, const DSA *x, int off)
#define EVP_PKEY_CTRL_DSA_PARAMGEN_MD
DSA_SIG * d2i_DSA_SIG(DSA_SIG **v, const unsigned char **pp, long length)
const DSA_METHOD * DSA_get_default_method(void)
void DSA_get0_pqg(const DSA *d, const BIGNUM **p, const BIGNUM **q, const BIGNUM **g)
int i2d_DSAparams(const DSA *a, unsigned char **pp)
int(*)(DSA *, int, const unsigned char *, int, int *, unsigned long *, BN_GENCB *) DSA_meth_get_paramgen(const DSA_METHOD *dsam)
DSA * DSAparams_dup(DSA *x)
int DSA_sign(int type, const unsigned char *dgst, int dlen, unsigned char *sig, unsigned int *siglen, DSA *dsa)
int ERR_load_DSA_strings(void)
int EC_GROUP_get_pentanomial_basis(const EC_GROUP *, unsigned int *k1, unsigned int *k2, unsigned int *k3)
unsigned EC_KEY_get_enc_flags(const EC_KEY *key)
int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp)
int EC_curve_nist2nid(const char *name)
ECDSA_SIG * d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, long len)
ECDSA_SIG * ECDSA_SIG_new(void)
EC_GROUP * EC_GROUP_new_from_ecparameters(const ECPARAMETERS *params)
void EC_GROUP_clear_free(EC_GROUP *group)
size_t EC_KEY_priv2oct(const EC_KEY *key, unsigned char *buf, size_t len)
const EC_METHOD * EC_GFp_mont_method(void)
void EC_KEY_METHOD_set_compute_key(EC_KEY_METHOD *meth, int(*ckey)(unsigned char **psec, size_t *pseclen, const EC_POINT *pub_key, const EC_KEY *ecdh))
const EC_POINT * EC_KEY_get0_public_key(const EC_KEY *key)
int EC_POINTs_make_affine(const EC_GROUP *group, size_t num, EC_POINT *points[], BN_CTX *ctx)
size_t EC_POINT_point2buf(const EC_GROUP *group, const EC_POINT *point, point_conversion_form_t form, unsigned char **pbuf, BN_CTX *ctx)
int EC_GROUP_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
EC_POINT const BIGNUM const BIGNUM BN_CTX *ctx EC_POINT const BIGNUM int BN_CTX *ctx size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *p, point_conversion_form_t form, unsigned char *buf, size_t len, BN_CTX *ctx)
size_t EC_KEY_priv2buf(const EC_KEY *eckey, unsigned char **pbuf)
EC_KEY * d2i_ECParameters(EC_KEY **key, const unsigned char **in, long len)
struct ecpk_parameters_st ECPKPARAMETERS
int EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx)
void EC_KEY_METHOD_get_init(const EC_KEY_METHOD *meth, int(**pinit)(EC_KEY *key), void(**pfinish)(EC_KEY *key), int(**pcopy)(EC_KEY *dest, const EC_KEY *src), int(**pset_group)(EC_KEY *key, const EC_GROUP *grp), int(**pset_private)(EC_KEY *key, const BIGNUM *priv_key), int(**pset_public)(EC_KEY *key, const EC_POINT *pub_key))
BIGNUM BIGNUM BIGNUM BN_CTX *ctx BIGNUM BIGNUM BIGNUM BN_CTX *ctx int EC_GROUP_get_degree(const EC_GROUP *group)
void EC_KEY_set_default_method(const EC_KEY_METHOD *meth)
int EC_KEY_up_ref(EC_KEY *key)
void EC_KEY_METHOD_set_init(EC_KEY_METHOD *meth, int(*init)(EC_KEY *key), void(*finish)(EC_KEY *key), int(*copy)(EC_KEY *dest, const EC_KEY *src), int(*set_group)(EC_KEY *key, const EC_GROUP *grp), int(*set_private)(EC_KEY *key, const BIGNUM *priv_key), int(*set_public)(EC_KEY *key, const EC_POINT *pub_key))
void EC_KEY_METHOD_free(EC_KEY_METHOD *meth)
int ECDSA_sign(int type, const unsigned char *dgst, int dgstlen, unsigned char *sig, unsigned int *siglen, EC_KEY *eckey)
ENGINE * EC_KEY_get0_engine(const EC_KEY *eckey)
#define EVP_PKEY_CTRL_EC_KDF_TYPE
BN_MONT_CTX * EC_GROUP_get_mont_data(const EC_GROUP *group)
#define EVP_PKEY_CTRL_GET1_ID_LEN
int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, size_t num, const EC_POINT *p[], const BIGNUM *m[], BN_CTX *ctx)
int EC_GROUP_order_bits(const EC_GROUP *group)
const BIGNUM * EC_GROUP_get0_order(const EC_GROUP *group)
EC_KEY * o2i_ECPublicKey(EC_KEY **key, const unsigned char **in, long len)
EC_GROUP * EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
const BIGNUM * ECDSA_SIG_get0_r(const ECDSA_SIG *sig)
void EC_KEY_METHOD_get_sign(const EC_KEY_METHOD *meth, int(**psign)(int type, const unsigned char *dgst, int dlen, unsigned char *sig, unsigned int *siglen, const BIGNUM *kinv, const BIGNUM *r, EC_KEY *eckey), int(**psign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp), ECDSA_SIG *(**psign_sig)(const unsigned char *dgst, int dgst_len, const BIGNUM *in_kinv, const BIGNUM *in_r, EC_KEY *eckey))
int i2d_ECPKParameters(const EC_GROUP *, unsigned char **out)
#define EVP_PKEY_CTRL_GET1_ID
const EC_METHOD * EC_GFp_nist_method(void)
const BIGNUM * EC_GROUP_get0_cofactor(const EC_GROUP *group)
void EC_KEY_set_conv_form(EC_KEY *eckey, point_conversion_form_t cform)
int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group)
const EC_KEY_METHOD * EC_KEY_OpenSSL(void)
#define EVP_PKEY_ECDH_KDF_X9_63
void EC_KEY_clear_flags(EC_KEY *key, int flags)
EC_KEY * EC_KEY_new_by_curve_name(int nid)
int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, const BIGNUM *y, const BIGNUM *z, BN_CTX *ctx)
#define EVP_PKEY_CTRL_EC_PARAM_ENC
int ECParameters_print_fp(FILE *fp, const EC_KEY *key)
unsigned char * EC_GROUP_get0_seed(const EC_GROUP *x)
EC_KEY * EC_KEY_copy(EC_KEY *dst, const EC_KEY *src)
int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *p, const unsigned char *buf, size_t len, BN_CTX *ctx)
const BIGNUM * EC_KEY_get0_private_key(const EC_KEY *key)
ECDSA_SIG * ECDSA_do_sign(const unsigned char *dgst, int dgst_len, EC_KEY *eckey)
const BIGNUM * ECDSA_SIG_get0_s(const ECDSA_SIG *sig)
int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x, BIGNUM *y)
const EC_GROUP * EC_KEY_get0_group(const EC_KEY *key)
int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx)
struct ec_parameters_st ECPARAMETERS
void EC_GROUP_set_point_conversion_form(EC_GROUP *group, point_conversion_form_t form)
int ECParameters_print(BIO *bp, const EC_KEY *key)
int i2o_ECPublicKey(const EC_KEY *key, unsigned char **out)
#define EVP_PKEY_CTRL_GET_EC_KDF_OUTLEN
const EC_POINT * EC_GROUP_get0_generator(const EC_GROUP *group)
int ECDSA_sign_ex(int type, const unsigned char *dgst, int dgstlen, unsigned char *sig, unsigned int *siglen, const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey)
#define EVP_PKEY_CTRL_EC_KDF_MD
int EC_GROUP_copy(EC_GROUP *dst, const EC_GROUP *src)
ECDSA_SIG * ECDSA_do_sign_ex(const unsigned char *dgst, int dgstlen, const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey)
int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator, const BIGNUM *order, const BIGNUM *cofactor)
int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off)
int EC_POINT_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *p, BIGNUM *x, BIGNUM *y, BN_CTX *ctx)
int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, BN_CTX *ctx)
size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems)
int EC_KEY_get_flags(const EC_KEY *key)
#define EVP_PKEY_CTRL_EC_KDF_OUTLEN
int EC_KEY_set_method(EC_KEY *key, const EC_KEY_METHOD *meth)
int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx)
void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag)
int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx)
char * EC_POINT_point2hex(const EC_GROUP *, const EC_POINT *, point_conversion_form_t form, BN_CTX *)
void EC_KEY_METHOD_get_compute_key(const EC_KEY_METHOD *meth, int(**pck)(unsigned char **psec, size_t *pseclen, const EC_POINT *pub_key, const EC_KEY *ecdh))
EC_GROUP * d2i_ECPKParameters(EC_GROUP **, const unsigned char **in, long len)
void EC_GROUP_set_curve_name(EC_GROUP *group, int nid)
const char * EC_curve_nid2nist(int nid)
int EC_KEY_generate_key(EC_KEY *key)
#define EVP_PKEY_CTRL_EC_ECDH_COFACTOR
struct ECDSA_SIG_st ECDSA_SIG
EC_GROUP * EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx)
EC_GROUP * EC_GROUP_new_from_ecpkparameters(const ECPKPARAMETERS *params)
int EC_GROUP_get_asn1_flag(const EC_GROUP *group)
int EC_KEY_decoded_from_explicit_params(const EC_KEY *key)
EC_POINT * EC_POINT_bn2point(const EC_GROUP *, const BIGNUM *, EC_POINT *, BN_CTX *)
const EC_METHOD * EC_GFp_simple_method(void)
int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off)
int EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx)
int EC_POINT_copy(EC_POINT *dst, const EC_POINT *src)
void EC_GROUP_free(EC_GROUP *group)
void EC_POINT_free(EC_POINT *point)
ECPARAMETERS * EC_GROUP_get_ecparameters(const EC_GROUP *group, ECPARAMETERS *params)
EC_GROUP * EC_GROUP_new_by_curve_name(int nid)
EC_POINT * EC_POINT_new(const EC_GROUP *group)
const EC_METHOD * EC_GF2m_simple_method(void)
EC_KEY * EC_KEY_new(void)
EC_POINT * EC_POINT_hex2point(const EC_GROUP *, const char *, EC_POINT *, BN_CTX *)
int ECDSA_size(const EC_KEY *eckey)
int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx)
const EC_METHOD * EC_POINT_method_of(const EC_POINT *point)
int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p)
BIGNUM * EC_POINT_point2bn(const EC_GROUP *, const EC_POINT *, point_conversion_form_t form, BIGNUM *, BN_CTX *)
int EC_KEY_can_sign(const EC_KEY *eckey)
void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag)
const EC_KEY_METHOD * EC_KEY_get_method(const EC_KEY *key)
void EC_KEY_METHOD_set_verify(EC_KEY_METHOD *meth, int(*verify)(int type, const unsigned char *dgst, int dgst_len, const unsigned char *sigbuf, int sig_len, EC_KEY *eckey), int(*verify_sig)(const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey))
const EC_KEY_METHOD * EC_KEY_get_default_method(void)
int EC_KEY_oct2key(EC_KEY *key, const unsigned char *buf, size_t len, BN_CTX *ctx)
const EC_POINT BIGNUM BIGNUM BN_CTX *ctx int EC_POINT_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, int y_bit, BN_CTX *ctx)
void EC_KEY_METHOD_get_verify(const EC_KEY_METHOD *meth, int(**pverify)(int type, const unsigned char *dgst, int dgst_len, const unsigned char *sigbuf, int sig_len, EC_KEY *eckey), int(**pverify_sig)(const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey))
int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx)
void ECDSA_SIG_get0(const ECDSA_SIG *sig, const BIGNUM **pr, const BIGNUM **ps)
EC_GROUP * EC_GROUP_dup(const EC_GROUP *src)
@ POINT_CONVERSION_UNCOMPRESSED
@ POINT_CONVERSION_COMPRESSED
@ POINT_CONVERSION_HYBRID
int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx)
int i2d_ECParameters(EC_KEY *key, unsigned char **out)
int EC_KEY_set_ex_data(EC_KEY *key, int idx, void *arg)
EC_POINT * EC_POINT_dup(const EC_POINT *src, const EC_GROUP *group)
const EC_METHOD * EC_GROUP_method_of(const EC_GROUP *group)
int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, BN_CTX *ctx)
EC_KEY_METHOD * EC_KEY_METHOD_new(const EC_KEY_METHOD *meth)
void EC_KEY_METHOD_set_keygen(EC_KEY_METHOD *meth, int(*keygen)(EC_KEY *key))
const EC_POINT BIGNUM * x
void EC_KEY_METHOD_get_keygen(const EC_KEY_METHOD *meth, int(**pkeygen)(EC_KEY *key))
#define EVP_PKEY_CTRL_EC_KDF_UKM
EC_KEY * d2i_ECPrivateKey(EC_KEY **key, const unsigned char **in, long len)
int EC_GROUP_get_basis_type(const EC_GROUP *)
void EC_POINT_clear_free(EC_POINT *point)
int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, const EC_KEY *ecdh, void *(*KDF)(const void *in, size_t inlen, void *out, size_t *outlen))
int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub)
struct ec_point_st EC_POINT
int EC_POINT_set_affine_coordinates(const EC_GROUP *group, EC_POINT *p, const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx)
#define EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID
int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point)
void EC_KEY_set_enc_flags(EC_KEY *eckey, unsigned int flags)
size_t EC_KEY_key2buf(const EC_KEY *key, point_conversion_form_t form, unsigned char **pbuf, BN_CTX *ctx)
int ECDH_KDF_X9_62(unsigned char *out, size_t outlen, const unsigned char *Z, size_t Zlen, const unsigned char *sinfo, size_t sinfolen, const EVP_MD *md)
int ECDSA_verify(int type, const unsigned char *dgst, int dgstlen, const unsigned char *sig, int siglen, EC_KEY *eckey)
int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off)
int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *prv)
struct ec_group_st EC_GROUP
void * EC_KEY_get_ex_data(const EC_KEY *key, int idx)
ECPKPARAMETERS * EC_GROUP_get_ecpkparameters(const EC_GROUP *group, ECPKPARAMETERS *params)
void ECDSA_SIG_free(ECDSA_SIG *sig)
#define EVP_PKEY_CTRL_SET1_ID
point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key)
EC_POINT const BIGNUM const BIGNUM BN_CTX *ctx EC_POINT const BIGNUM int y_bit
int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, const EC_POINT *p, BIGNUM *x, BIGNUM *y, BIGNUM *z, BN_CTX *ctx)
int EC_GROUP_get_curve_name(const EC_GROUP *group)
#define EVP_PKEY_CTRL_GET_EC_KDF_MD
EC_KEY * EC_KEY_dup(const EC_KEY *src)
int EC_GROUP_get_trinomial_basis(const EC_GROUP *, unsigned int *k)
int EC_METHOD_get_field_type(const EC_METHOD *meth)
int ECDSA_SIG_set0(ECDSA_SIG *sig, BIGNUM *r, BIGNUM *s)
int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig, EC_KEY *eckey)
int EC_GROUP_have_precompute_mult(const EC_GROUP *group)
#define EVP_PKEY_CTRL_GET_EC_KDF_UKM
int i2d_ECPrivateKey(EC_KEY *key, unsigned char **out)
int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinv, BIGNUM **rp)
struct ec_method_st EC_METHOD
int EC_KEY_oct2priv(EC_KEY *key, const unsigned char *buf, size_t len)
void EC_KEY_set_flags(EC_KEY *key, int flags)
int EC_KEY_precompute_mult(EC_KEY *key, BN_CTX *ctx)
const EC_POINT BIGNUM BIGNUM * y
int EC_KEY_print(BIO *bp, const EC_KEY *key, int off)
int EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx)
void EC_KEY_free(EC_KEY *key)
EC_KEY * EC_KEY_new_method(ENGINE *engine)
int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx)
size_t EC_GROUP_set_seed(EC_GROUP *, const unsigned char *, size_t len)
int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, BN_CTX *ctx)
int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx)
void EC_KEY_METHOD_set_sign(EC_KEY_METHOD *meth, int(*sign)(int type, const unsigned char *dgst, int dlen, unsigned char *sig, unsigned int *siglen, const BIGNUM *kinv, const BIGNUM *r, EC_KEY *eckey), int(*sign_setup)(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp), ECDSA_SIG *(*sign_sig)(const unsigned char *dgst, int dgst_len, const BIGNUM *in_kinv, const BIGNUM *in_r, EC_KEY *eckey))
point_conversion_form_t EC_GROUP_get_point_conversion_form(const EC_GROUP *)
size_t EC_GROUP_get_seed_len(const EC_GROUP *)
int EC_KEY_check_key(const EC_KEY *key)
EC_GROUP * EC_GROUP_new(const EC_METHOD *meth)
int ERR_load_EC_strings(void)
int(*)(EVP_MD_CTX *ctx) EVP_MD_meth_get_cleanup(const EVP_MD *md)
int(*)(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, size_t inl) EVP_CIPHER_meth_get_do_cipher(const EVP_CIPHER *cipher)
int EVP_MD_meth_set_app_datasize(EVP_MD *md, int datasize)
#define EVP_get_cipherbynid(a)
#define EVP_PKEY_OP_DECRYPT
EVP_MD * EVP_MD_meth_new(int md_type, int pkey_type)
#define EVP_PKEY_OP_ENCRYPT
int(*)(EVP_CIPHER_CTX *ctx, const unsigned char *key, const unsigned char *iv, int enc) EVP_CIPHER_meth_get_init(const EVP_CIPHER *cipher)
int EVP_MD_meth_get_app_datasize(const EVP_MD *md)
#define EVP_CTRL_AEAD_SET_IVLEN
#define EVP_PKEY_OP_KEYGEN
int EVP_MD_meth_set_flags(EVP_MD *md, unsigned long flags)
int(*)(EVP_MD_CTX *ctx, const void *data, size_t count) EVP_MD_CTX_update_fn(EVP_MD_CTX *ctx)
int EVP_MD_meth_set_cleanup(EVP_MD *md, int(*cleanup)(EVP_MD_CTX *ctx))
int EVP_MD_meth_set_ctrl(EVP_MD *md, int(*ctrl)(EVP_MD_CTX *ctx, int cmd, int p1, void *p2))
EVP_MD * EVP_MD_meth_dup(const EVP_MD *md)
int EVP_MD_meth_set_final(EVP_MD *md, int(*final)(EVP_MD_CTX *ctx, unsigned char *md))
int EVP_MD_meth_get_result_size(const EVP_MD *md)
int(*)(EVP_MD_CTX *ctx) EVP_MD_meth_get_init(const EVP_MD *md)
unsigned long EVP_MD_meth_get_flags(const EVP_MD *md)
#define EVP_MAX_IV_LENGTH
int EVP_MD_meth_set_copy(EVP_MD *md, int(*copy)(EVP_MD_CTX *to, const EVP_MD_CTX *from))
int EVP_MD_meth_set_result_size(EVP_MD *md, int resultsize)
#define EVP_CIPHER_mode(e)
int(*)(EVP_MD_CTX *ctx, unsigned char *md) EVP_MD_meth_get_final(const EVP_MD *md)
int EVP_MD_meth_set_init(EVP_MD *md, int(*init)(EVP_MD_CTX *ctx))
#define EVP_PKEY_OP_VERIFYCTX
int EVP_MD_meth_set_update(EVP_MD *md, int(*update)(EVP_MD_CTX *ctx, const void *data, size_t count))
int(*)(EVP_MD_CTX *to, const EVP_MD_CTX *from) EVP_MD_meth_get_copy(const EVP_MD *md)
#define EVP_PKEY_OP_VERIFY
int(*)(EVP_MD_CTX *ctx, const void *data, size_t count) EVP_MD_meth_get_update(const EVP_MD *md)
int EVP_MD_meth_get_input_blocksize(const EVP_MD *md)
#define EVP_PKEY_CTRL_SET_MAC_KEY
#define EVP_PKEY_ALG_CTRL
int(*)(EVP_MD_CTX *ctx, int cmd, int p1, void *p2) EVP_MD_meth_get_ctrl(const EVP_MD *md)
int EVP_MD_meth_set_input_blocksize(EVP_MD *md, int blocksize)
#define OPENSSL_add_all_algorithms_noconf()
#define EVP_CTRL_AEAD_GET_TAG
int(*)(EVP_CIPHER_CTX *, int type, int arg, void *ptr) EVP_CIPHER_meth_get_ctrl(const EVP_CIPHER *cipher)
#define EVP_PKEY_OP_TYPE_CRYPT
#define EVP_PKEY_OP_VERIFYRECOVER
#define EVP_CTRL_AEAD_SET_TAG
int(*)(EVP_CIPHER_CTX *) EVP_CIPHER_meth_get_cleanup(const EVP_CIPHER *cipher)
void EVP_MD_meth_free(EVP_MD *md)
#define EVP_PKEY_CTRL_GET_MD
#define EVP_PKEY_OP_TYPE_SIG
#define EVP_PKEY_OP_DERIVE
#define EVP_CTRL_AEAD_SET_IV_FIXED
#define EVP_get_digestbynid(a)
#define EVP_PKEY_POLY1305
#define EVP_PKEY_OP_SIGNCTX
#define EVP_PKEY_OP_PARAMGEN
int ERR_load_EVP_strings(void)
const void int const EVP_MD ENGINE * impl
__owur int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx)
const void int const EVP_MD * md
size_t HMAC_size(const HMAC_CTX *e)
void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags)
void HMAC_CTX_free(HMAC_CTX *ctx)
int HMAC_CTX_reset(HMAC_CTX *ctx)
unsigned char * HMAC(const EVP_MD *evp_md, const void *key, int key_len, const unsigned char *d, size_t n, unsigned char *md, unsigned int *md_len)
const EVP_MD * HMAC_CTX_get_md(const HMAC_CTX *ctx)
HMAC_CTX * HMAC_CTX_new(void)
int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len)
int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, size_t len)
void * OPENSSL_LH_retrieve(OPENSSL_LHASH *lh, const void *data)
unsigned long OPENSSL_LH_get_down_load(const OPENSSL_LHASH *lh)
unsigned long OPENSSL_LH_strhash(const char *c)
#define int_implement_lhash_doall(type, argtype, cbargtype)
void OPENSSL_LH_doall_arg(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNCARG func, void *arg)
void * OPENSSL_LH_insert(OPENSSL_LHASH *lh, void *data)
OPENSSL_LHASH * OPENSSL_LH_new(OPENSSL_LH_HASHFUNC h, OPENSSL_LH_COMPFUNC c)
void OPENSSL_LH_stats(const OPENSSL_LHASH *lh, FILE *fp)
struct lhash_st OPENSSL_LHASH
void OPENSSL_LH_node_usage_stats(const OPENSSL_LHASH *lh, FILE *fp)
void OPENSSL_LH_set_down_load(OPENSSL_LHASH *lh, unsigned long down_load)
void * OPENSSL_LH_delete(OPENSSL_LHASH *lh, const void *data)
#define DEFINE_LHASH_OF(type)
void OPENSSL_LH_doall(OPENSSL_LHASH *lh, OPENSSL_LH_DOALL_FUNC func)
void OPENSSL_LH_node_usage_stats_bio(const OPENSSL_LHASH *lh, BIO *out)
unsigned long(* OPENSSL_LH_HASHFUNC)(const void *)
void OPENSSL_LH_node_stats_bio(const OPENSSL_LHASH *lh, BIO *out)
void(* OPENSSL_LH_DOALL_FUNCARG)(void *, void *)
void(* OPENSSL_LH_DOALL_FUNC)(void *)
int(* OPENSSL_LH_COMPFUNC)(const void *, const void *)
struct lhash_node_st OPENSSL_LH_NODE
void OPENSSL_LH_stats_bio(const OPENSSL_LHASH *lh, BIO *out)
int OPENSSL_LH_error(OPENSSL_LHASH *lh)
void OPENSSL_LH_node_stats(const OPENSSL_LHASH *lh, FILE *fp)
void OPENSSL_LH_free(OPENSSL_LHASH *lh)
unsigned long OPENSSL_LH_num_items(const OPENSSL_LHASH *lh)
std::unique_ptr< IBaseApi > game_api
void Crypto_API uninitializeCrypto()
void Crypto_API initializeCrypto()
std::vector< SocketBuf > SocketBufVec
void NetSSL_API initializeSSL()
void Net_API uninitializeNetwork()
void Net_API initializeNetwork()
void NetSSL_API uninitializeSSL()
void swap(Timestamp &s1, Timestamp &s2)
void swap(SharedPtr< C, RC, RP > &p1, SharedPtr< C, RC, RP > &p2)
void swap(DateTime &d1, DateTime &d2)
void swap(Timespan &s1, Timespan &s2)
SharedPtr< T, ReferenceCounter, ReleaseArrayPolicy< T > > makeSharedArray(std::size_t size)
SharedPtr< T > makeShared(Args &&... args)
void format_arg(BasicFormatter< char, ArgFormatter > &f, const char *&format_str, const std::tm &tm)
#define OBJ_id_tc26_sign_constants
#define OBJ_wap_wsg_idm_ecid
#define OBJ_id_tc26_cipher_gostr3412_2015_kuznyechik
#define OBJ_id_tc26_cipher
#define OBJ_setAttr_IssCap_Sig
#define OBJ_ecdsa_with_Specified
#define OBJ_id_tc26_constants
#define OBJ_id_tc26_digest
#define OBJ_X9_62_id_fieldType
#define NID_pkcs7_encrypted
#define NID_pkcs7_signedAndEnveloped
#define OBJ_dsa_with_sha2
#define OBJ_holdInstruction
#define OBJ_X9_62_primeCurve
#define NID_X9_62_id_ecPublicKey
#define OBJ_pilotObjectClass
#define OBJ_ext_key_usage
#define OBJ_id_tc26_agreement
#define NID_pkcs7_enveloped
#define OBJ_nistAlgorithms
#define OBJ_netscape_data_type
#define NID_dhKeyAgreement
#define OBJ_identified_organization
#define OBJ_X9_62_id_characteristic_two_basis
#define OBJ_pkcs12_Version1
#define OBJ_X9_62_id_ecSigType
#define OBJ_international_organizations
#define NID_dhpublicnumber
#define OBJ_X9_62_id_publicKeyType
#define OBJ_setAttr_IssCap_T2
#define OBJ_id_tc26_wrap_gostr3412_2015_magma
#define OBJ_setAttr_TokenType
#define OBJ_id_tc26_wrap_gostr3412_2015_kuznyechik
#define OBJ_id_tc26_gost_28147_constants
#define OBJ_id_tc26_cipher_gostr3412_2015_magma
#define OBJ_id_tc26_signwithdigest
#define OBJ_X9_62_ellipticCurve
#define OBJ_secg_ellipticCurve
#define NID_dsaWithSHA1_2
#define OBJ_setAttr_IssCap_CVM
#define OBJ_pkcs12_BagIds
#define OBJ_pilotAttributeType
#define NID_rsaEncryption
#define OBJ_id_GostR3410_94
#define OBJ_id_tc26_gost_3410_2012_256_constants
#define OBJ_certificate_policies
#define OBJ_pkcs12_pbeids
#define OBJ_X500algorithms
#define OBJ_X9_62_characteristic_two_field
#define OBJ_netscape_cert_extension
#define OBJ_id_tc26_gost_3410_2012_512_constants
#define OBJ_id_tc26_cipher_constants
#define OBJ_pilotAttributeSyntax
#define OBJ_id_tc26_algorithms
#define OBJ_X9_62_c_TwoCurve
#define OBJ_nist_hashalgs
#define OBJ_joint_iso_itu_t
#define OBJ_setAttr_IssCap
#define OBJ_mime_mhs_headings
#define OBJ_selected_attribute_types
#define OBJ_NAME_TYPE_CIPHER_METH
int OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid)
int OBJ_NAME_new_index(unsigned long(*hash_func)(const char *), int(*cmp_func)(const char *, const char *), void(*free_func)(const char *, int, const char *))
int OBJ_create_objects(BIO *in)
int OBJ_create(const char *oid, const char *sn, const char *ln)
#define _DECLARE_OBJ_BSEARCH_CMP_FN(scope, type1, type2, nm)
const char * OBJ_NAME_get(const char *name, int type)
const char * OBJ_nid2ln(int n)
void OBJ_sigid_free(void)
int OBJ_obj2nid(const ASN1_OBJECT *o)
int OBJ_add_object(const ASN1_OBJECT *obj)
size_t OBJ_length(const ASN1_OBJECT *obj)
const void * OBJ_bsearch_ex_(const void *key, const void *base, int num, int size, int(*cmp)(const void *, const void *), int flags)
void OBJ_NAME_do_all_sorted(int type, void(*fn)(const OBJ_NAME *, void *arg), void *arg)
const unsigned char * OBJ_get0_data(const ASN1_OBJECT *obj)
int OBJ_cmp(const ASN1_OBJECT *a, const ASN1_OBJECT *b)
ASN1_OBJECT * OBJ_txt2obj(const char *s, int no_name)
void OBJ_NAME_cleanup(int type)
int OBJ_txt2nid(const char *s)
int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid)
const void * OBJ_bsearch_(const void *key, const void *base, int num, int size, int(*cmp)(const void *, const void *))
void OBJ_NAME_do_all(int type, void(*fn)(const OBJ_NAME *, void *arg), void *arg)
ASN1_OBJECT * OBJ_nid2obj(int n)
int OBJ_add_sigid(int signid, int dig_id, int pkey_id)
#define OBJ_NAME_TYPE_MD_METH
int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name)
int OBJ_NAME_remove(const char *name, int type)
int OBJ_NAME_add(const char *name, int type, const char *data)
int OBJ_sn2nid(const char *s)
ASN1_OBJECT * OBJ_dup(const ASN1_OBJECT *o)
const char * OBJ_nid2sn(int n)
int OBJ_ln2nid(const char *s)
int ERR_load_OBJ_strings(void)
BUF_MEM * BUF_MEM_new_ex(unsigned long flags)
void BUF_MEM_free(BUF_MEM *a)
BUF_MEM * BUF_MEM_new(void)
size_t BUF_MEM_grow(BUF_MEM *str, size_t len)
size_t BUF_MEM_grow_clean(BUF_MEM *str, size_t len)
void BUF_reverse(unsigned char *out, const unsigned char *in, size_t siz)
int CRYPTO_secure_malloc_done(void)
int CRYPTO_THREAD_compare_id(CRYPTO_THREAD_ID a, CRYPTO_THREAD_ID b)
void OPENSSL_thread_stop(void)
void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad)
int CRYPTO_atomic_add(int *val, int amount, int *ret, CRYPTO_RWLOCK *lock)
void CRYPTO_EX_new(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx, long argl, void *argp)
size_t OPENSSL_strlcpy(char *dst, const char *src, size_t siz)
int CRYPTO_THREAD_read_lock(CRYPTO_RWLOCK *lock)
void * CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad, int idx)
int CRYPTO_mem_ctrl(int mode)
void * CRYPTO_clear_realloc(void *addr, size_t old_num, size_t num, const char *file, int line)
void OPENSSL_INIT_set_config_file_flags(OPENSSL_INIT_SETTINGS *settings, unsigned long flags)
int CRYPTO_set_mem_functions(void *(*m)(size_t, const char *, int), void *(*r)(void *, size_t, const char *, int), void(*f)(void *, const char *, int))
#define OPENSSL_INIT_ENGINE_PADLOCK
int OPENSSL_gmtime_adj(struct tm *tm, int offset_day, long offset_sec)
#define OPENSSL_INIT_ENGINE_RDRAND
#define CRYPTO_EX_INDEX_DH
void OPENSSL_cleanse(void *ptr, size_t len)
int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad)
unsigned long OpenSSL_version_num(void)
int OPENSSL_isservice(void)
#define CRYPTO_EX_INDEX_X509_STORE_CTX
int CRYPTO_THREAD_init_local(CRYPTO_THREAD_LOCAL *key, void(*cleanup)(void *))
void CRYPTO_free(void *ptr, const char *file, int line)
int OPENSSL_INIT_set_config_filename(OPENSSL_INIT_SETTINGS *settings, const char *config_filename)
size_t OPENSSL_strnlen(const char *str, size_t maxlen)
int CRYPTO_THREAD_write_lock(CRYPTO_RWLOCK *lock)
unsigned char * OPENSSL_hexstr2buf(const char *str, long *len)
int OPENSSL_init_crypto(uint64_t opts, const OPENSSL_INIT_SETTINGS *settings)
#define CRYPTO_EX_INDEX_SSL_CTX
#define OPENSSL_INIT_LOAD_CRYPTO_STRINGS
int CRYPTO_THREAD_set_local(CRYPTO_THREAD_LOCAL *key, void *val)
void CRYPTO_get_mem_functions(void *(**m)(size_t, const char *, int), void *(**r)(void *, size_t, const char *, int), void(**f)(void *, const char *, int))
int OPENSSL_atexit(void(*handler)(void))
void * CRYPTO_malloc(size_t num, const char *file, int line)
int CRYPTO_THREAD_cleanup_local(CRYPTO_THREAD_LOCAL *key)
int CRYPTO_secure_allocated(const void *ptr)
#define OPENSSL_strndup(str, n)
int CRYPTO_secure_malloc_init(size_t sz, int minsize)
int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void(*init)(void))
char * CRYPTO_strdup(const char *str, const char *file, int line)
char * CRYPTO_strndup(const char *str, size_t s, const char *file, int line)
size_t CRYPTO_secure_actual_size(void *ptr)
void * CRYPTO_secure_malloc(size_t num, const char *file, int line)
#define CRYPTO_ONCE_STATIC_INIT
int CRYPTO_free_ex_index(int class_index, int idx)
#define CRYPTO_EX_INDEX_SSL_SESSION
#define OPENSSL_INIT_LOAD_CONFIG
void CRYPTO_clear_free(void *ptr, size_t num, const char *file, int line)
void * CRYPTO_memdup(const void *str, size_t siz, const char *file, int line)
void CRYPTO_EX_free(void *parent, void *ptr, CRYPTO_EX_DATA *ad, int idx, long argl, void *argp)
size_t CRYPTO_secure_used(void)
int CRYPTO_EX_dup(CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from, void *from_d, int idx, long argl, void *argp)
int CRYPTO_THREAD_unlock(CRYPTO_RWLOCK *lock)
#define OPENSSL_INIT_ADD_ALL_DIGESTS
void * CRYPTO_secure_zalloc(size_t num, const char *file, int line)
int CRYPTO_memcmp(const void *in_a, const void *in_b, size_t len)
void OPENSSL_INIT_free(OPENSSL_INIT_SETTINGS *settings)
CRYPTO_THREAD_ID CRYPTO_THREAD_get_current_id(void)
char * OPENSSL_buf2hexstr(const unsigned char *buffer, long len)
size_t OPENSSL_strlcat(char *dst, const char *src, size_t siz)
#define CRYPTO_EX_INDEX_X509_STORE
#define OPENSSL_INIT_ENGINE_CAPI
#define CRYPTO_EX_INDEX_X509
int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to, const CRYPTO_EX_DATA *from)
__owur int CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func)
#define OPENSSL_strdup(str)
void CRYPTO_THREAD_lock_free(CRYPTO_RWLOCK *lock)
void OPENSSL_cleanup(void)
#define CRYPTO_EX_INDEX_SSL
void * CRYPTO_realloc(void *addr, size_t num, const char *file, int line)
OPENSSL_INIT_SETTINGS * OPENSSL_INIT_new(void)
void * CRYPTO_THREAD_get_local(CRYPTO_THREAD_LOCAL *key)
int CRYPTO_set_mem_debug(int flag)
int OPENSSL_INIT_set_config_appname(OPENSSL_INIT_SETTINGS *settings, const char *config_appname)
int OPENSSL_hexchar2int(unsigned char c)
#define OPENSSL_memdup(str, s)
#define OPENSSL_INIT_ADD_ALL_CIPHERS
int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val)
CRYPTO_RWLOCK * CRYPTO_THREAD_lock_new(void)
int OPENSSL_issetugid(void)
#define OPENSSL_INIT_ENGINE_DYNAMIC
void CRYPTO_secure_free(void *ptr, const char *file, int line)
void * CRYPTO_zalloc(size_t num, const char *file, int line)
#define CRYPTO_EX_INDEX_BIO
int CRYPTO_secure_malloc_initialized(void)
ossl_noreturn void OPENSSL_die(const char *assertion, const char *file, int line)
#define CRYPTO_EX_INDEX_EC_KEY
#define CRYPTO_EX_INDEX_DSA
int OPENSSL_gmtime_diff(int *pday, int *psec, const struct tm *from, const struct tm *to)
const char * OpenSSL_version(int type)
#define OPENSSL_INIT_ENGINE_CRYPTODEV
struct tm * OPENSSL_gmtime(const time_t *timer, struct tm *result)
void CRYPTO_secure_clear_free(void *ptr, size_t num, const char *file, int line)
#define CRYPTO_EX_INDEX_RSA
#define OPENSSL_EXPORT_VAR_AS_FUNCTION
#define OPENSSL_API_COMPAT
#define DEPRECATEDIN_1_1_0(f)
#define DECLARE_DEPRECATED(f)
#define DEPRECATEDIN_0_9_8(f)
#define OPENSSL_NO_HEARTBEATS
#define OPENSSL_NO_EC_NISTP_64_GCC_128
#define OPENSSL_NO_UNIT_TEST
#define OPENSSL_NO_CRYPTO_MDEBUG
#define OPENSSL_NO_SSL3_METHOD
#define OPENSSL_NO_SSL_TRACE
#define DEPRECATEDIN_1_2_0(f)
#define OPENSSL_VERSION_NUMBER
struct x509_lookup_method_st X509_LOOKUP_METHOD
struct asn1_string_st ASN1_PRINTABLESTRING
struct asn1_string_st ASN1_IA5STRING
struct evp_md_ctx_st EVP_MD_CTX
struct ocsp_response_st OCSP_RESPONSE
struct asn1_string_st ASN1_UNIVERSALSTRING
struct ssl_ctx_st SSL_CTX
struct asn1_string_st ASN1_T61STRING
struct AUTHORITY_KEYID_st AUTHORITY_KEYID
struct ctlog_store_st CTLOG_STORE
struct evp_pkey_st EVP_PKEY
struct bn_blinding_st BN_BLINDING
struct v3_ext_ctx X509V3_CTX
struct x509_store_st X509_STORE
struct X509_POLICY_TREE_st X509_POLICY_TREE
struct DIST_POINT_st DIST_POINT
struct asn1_string_st ASN1_ENUMERATED
struct X509_POLICY_NODE_st X509_POLICY_NODE
struct evp_cipher_st EVP_CIPHER
struct rsa_meth_st RSA_METHOD
struct X509_name_st X509_NAME
struct dh_method DH_METHOD
struct sct_ctx_st SCT_CTX
struct bn_recp_ctx_st BN_RECP_CTX
struct dsa_method DSA_METHOD
struct asn1_sctx_st ASN1_SCTX
struct NAME_CONSTRAINTS_st NAME_CONSTRAINTS
struct evp_Encode_Ctx_st EVP_ENCODE_CTX
struct asn1_string_st ASN1_GENERALSTRING
struct ossl_store_info_st OSSL_STORE_INFO
struct rsa_pss_params_st RSA_PSS_PARAMS
struct evp_pkey_method_st EVP_PKEY_METHOD
struct x509_revoked_st X509_REVOKED
struct crypto_ex_data_st CRYPTO_EX_DATA
struct asn1_pctx_st ASN1_PCTX
struct ocsp_responder_id_st OCSP_RESPID
struct ct_policy_eval_ctx_st CT_POLICY_EVAL_CTX
struct X509_pubkey_st X509_PUBKEY
struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL
struct ISSUING_DIST_POINT_st ISSUING_DIST_POINT
struct comp_ctx_st COMP_CTX
struct ossl_init_settings_st OPENSSL_INIT_SETTINGS
struct comp_method_st COMP_METHOD
struct hmac_ctx_st HMAC_CTX
struct X509_algor_st X509_ALGOR
struct evp_pkey_ctx_st EVP_PKEY_CTX
struct evp_cipher_ctx_st EVP_CIPHER_CTX
struct buf_mem_st BUF_MEM
struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO
struct x509_crl_method_st X509_CRL_METHOD
struct asn1_string_st ASN1_BMPSTRING
struct asn1_string_st ASN1_GENERALIZEDTIME
struct ossl_store_search_st OSSL_STORE_SEARCH
struct X509_crl_st X509_CRL
struct X509_POLICY_CACHE_st X509_POLICY_CACHE
struct ssl_dane_st SSL_DANE
struct asn1_string_st ASN1_STRING
struct evp_pkey_asn1_method_st EVP_PKEY_ASN1_METHOD
struct asn1_string_st ASN1_UTF8STRING
struct X509_VERIFY_PARAM_st X509_VERIFY_PARAM
struct x509_object_st X509_OBJECT
struct asn1_string_st ASN1_TIME
struct rand_drbg_st RAND_DRBG
struct bn_gencb_st BN_GENCB
struct ui_method_st UI_METHOD
struct asn1_object_st ASN1_OBJECT
struct x509_store_ctx_st X509_STORE_CTX
unsigned long ossl_uintmax_t
struct ASN1_ITEM_st ASN1_ITEM
struct rand_meth_st RAND_METHOD
struct bn_mont_ctx_st BN_MONT_CTX
struct x509_sig_info_st X509_SIG_INFO
struct asn1_string_st ASN1_INTEGER
struct asn1_string_st ASN1_BIT_STRING
struct ocsp_req_ctx_st OCSP_REQ_CTX
struct asn1_string_st ASN1_UTCTIME
struct asn1_string_st ASN1_OCTET_STRING
struct ec_key_method_st EC_KEY_METHOD
struct asn1_string_st ASN1_VISIBLESTRING
struct x509_lookup_st X509_LOOKUP
EVP_PKEY * d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u)
EVP_PKEY * b2i_PrivateKey(const unsigned char **in, long length)
int PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u)
int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u)
#define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1)
EVP_PKEY * b2i_PublicKey_bio(BIO *in)
int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher)
int PEM_write_bio_Parameters(BIO *bp, EVP_PKEY *x)
#define DECLARE_PEM_read(name, type)
void PEM_proc_type(char *buf, int type)
#define IMPLEMENT_PEM_read(name, type, str, asn1)
int PEM_read_bio_ex(BIO *bp, char **name, char **header, unsigned char **data, long *len, unsigned int flags)
int PEM_def_callback(char *buf, int num, int rwflag, void *userdata)
#define IMPLEMENT_PEM_write_const(name, type, str, asn1)
int pem_password_cb(char *buf, int size, int rwflag, void *userdata)
int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u)
#define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1)
int PEM_read(FILE *fp, char **name, char **header, unsigned char **data, long *len)
#define DECLARE_PEM_write_cb_fp(name, type)
EVP_PKEY * b2i_PVK_bio(BIO *in, pem_password_cb *cb, void *u)
int PEM_X509_INFO_write_bio(BIO *bp, X509_INFO *xi, EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cd, void *u)
#define DECLARE_PEM_write_const(name, type)
EVP_PKEY * PEM_read_bio_Parameters(BIO *bp, EVP_PKEY **x)
int PEM_write_bio(BIO *bp, const char *name, const char *hdr, const unsigned char *data, long len)
#define IMPLEMENT_PEM_write_cb(name, type, str, asn1)
void * PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp, void **x, pem_password_cb *cb, void *u)
int PEM_ASN1_write_bio(i2d_of_void *i2d, const char *name, BIO *bp, void *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u)
#define IMPLEMENT_PEM_write_bio(name, type, str, asn1)
int PEM_ASN1_write(i2d_of_void *i2d, const char *name, FILE *fp, void *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *callback, void *u)
int PEM_write(FILE *fp, const char *name, const char *hdr, const unsigned char *data, long len)
int PEM_write_bio_PKCS8PrivateKey(BIO *, EVP_PKEY *, const EVP_CIPHER *, char *, int, pem_password_cb *, void *)
int PEM_write_PKCS8PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cd, void *u)
#define DECLARE_PEM_write_bio(name, type)
int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u)
#define DECLARE_PEM_rw(name, type)
#define IMPLEMENT_PEM_write_bio_const(name, type, str, asn1)
#define IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1)
#define DECLARE_PEM_write_fp_const(name, type)
#define DECLARE_PEM_write_cb(name, type)
void PEM_dek_info(char *buf, const char *type, int len, char *str)
#define IMPLEMENT_PEM_read_fp(name, type, str, asn1)
int i2b_PVK_bio(BIO *out, EVP_PKEY *pk, int enclevel, pem_password_cb *cb, void *u)
int PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm, const char *name, BIO *bp, pem_password_cb *cb, void *u)
int i2b_PublicKey_bio(BIO *out, EVP_PKEY *pk)
EVP_PKEY * b2i_PublicKey(const unsigned char **in, long length)
int PEM_do_header(EVP_CIPHER_INFO *cipher, unsigned char *data, long *len, pem_password_cb *callback, void *u)
#define DECLARE_PEM_rw_cb(name, type)
int PEM_bytes_read_bio_secmem(unsigned char **pdata, long *plen, char **pnm, const char *name, BIO *bp, pem_password_cb *cb, void *u)
#define IMPLEMENT_PEM_read_bio(name, type, str, asn1)
#define DECLARE_PEM_write(name, type)
#define DECLARE_PEM_read_bio(name, type)
int PEM_SignInit(EVP_MD_CTX *ctx, EVP_MD *type)
#define DECLARE_PEM_read_fp(name, type)
#define IMPLEMENT_PEM_write(name, type, str, asn1)
int PEM_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, unsigned int *siglen, EVP_PKEY *pkey)
#define DECLARE_PEM_write_fp(name, type)
#define IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1)
int PEM_read_bio(BIO *bp, char **name, char **header, unsigned char **data, long *len)
#define DECLARE_PEM_rw_const(name, type)
int i2b_PrivateKey_bio(BIO *out, EVP_PKEY *pk)
EVP_PKEY * d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u)
int PEM_SignUpdate(EVP_MD_CTX *ctx, unsigned char *d, unsigned int cnt)
X509 X509_REQ PKCS7 X509_SIG RSA RSA DSA EC_GROUP EC_KEY DH EVP_PKEY int PEM_write_bio_PrivateKey_traditional(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u)
EVP_PKEY * b2i_PrivateKey_bio(BIO *in)
void * PEM_ASN1_read_bio(d2i_of_void *d2i, const char *name, BIO *bp, void **x, pem_password_cb *cb, void *u)
int i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u)
int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u)
#define IMPLEMENT_PEM_write_fp(name, type, str, asn1)
#define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1)
#define DECLARE_PEM_write_bio_const(name, type)
#define DECLARE_PEM_write_cb_bio(name, type)
int ERR_load_PEM_strings(void)
int PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME *t)
int SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags)
int PKCS7_simple_smimecap(STACK_OF(X509_ALGOR) *sk, int nid, int arg)
int PKCS7_add_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int atrtype, void *value)
#define PKCS7_type_is_signed(a)
int PKCS7_final(PKCS7 *p7, BIO *data, int flags)
#define PKCS7_OP_GET_DETACHED_SIGNATURE
ASN1_TYPE * PKCS7_get_signed_attribute(PKCS7_SIGNER_INFO *si, int nid)
BIO * PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509 *pcert)
int PKCS7_add_attrib_smimecap(PKCS7_SIGNER_INFO *si, STACK_OF(X509_ALGOR) *cap)
int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags)
int PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri)
int PKCS7_stream(unsigned char ***boundary, PKCS7 *p7)
int PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si, STACK_OF(X509_ATTRIBUTE) *sk)
PKCS7_SIGNER_INFO * PKCS7_add_signature(PKCS7 *p7, X509 *x509, EVP_PKEY *pkey, const EVP_MD *dgst)
int PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags)
int PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md)
BIO * PKCS7_dataInit(PKCS7 *p7, BIO *bio)
#define PKCS7_get_detached(p)
int i2d_PKCS7_bio_stream(BIO *out, PKCS7 *p7, BIO *in, int flags)
int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si, X509 *x509)
int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data, const EVP_MD *type, unsigned char *md, unsigned int *len)
PKCS7 * PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher, int flags)
int PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT *coid)
int i2d_PKCS7_bio(BIO *bp, PKCS7 *p7)
int PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si, STACK_OF(X509_ATTRIBUTE) *sk)
int PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data)
PKCS7 * PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, BIO *data, int flags)
PKCS7 * d2i_PKCS7_fp(FILE *fp, PKCS7 **p7)
void PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri, X509_ALGOR **penc)
int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si)
int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey, const EVP_MD *dgst)
int PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other)
PKCS7 * d2i_PKCS7_bio(BIO *bp, PKCS7 **p7)
PKCS7_RECIP_INFO * PKCS7_add_recipient(PKCS7 *p7, X509 *x509)
ASN1_TYPE * PKCS7_get_attribute(PKCS7_SIGNER_INFO *si, int nid)
PKCS7 * PKCS7_dup(PKCS7 *p7)
PKCS7_ISSUER_AND_SERIAL * PKCS7_get_issuer_and_serial(PKCS7 *p7, int idx)
int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, BIO *indata, BIO *out, int flags)
int PKCS7_add_certificate(PKCS7 *p7, X509 *x509)
BIO * BIO_new_PKCS7(BIO *out, PKCS7 *p7)
PKCS7 * SMIME_read_PKCS7(BIO *bio, BIO **bcont)
int PKCS7_add_crl(PKCS7 *p7, X509_CRL *x509)
int i2d_PKCS7_fp(FILE *fp, PKCS7 *p7)
int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *p7i)
void PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si, EVP_PKEY **pk, X509_ALGOR **pdig, X509_ALGOR **psig)
int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher)
int PKCS7_RECIP_INFO_set(PKCS7_RECIP_INFO *p7i, X509 *x509)
ASN1_OCTET_STRING * PKCS7_digest_from_attributes(STACK_OF(X509_ATTRIBUTE) *sk)
long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg)
int PKCS7_content_new(PKCS7 *p7, int nid)
int PKCS7_dataFinal(PKCS7 *p7, BIO *bio)
int PKCS7_set_type(PKCS7 *p7, int type)
int PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx, BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si)
PKCS7_SIGNER_INFO * PKCS7_sign_add_signer(PKCS7 *p7, X509 *signcert, EVP_PKEY *pkey, const EVP_MD *md, int flags)
int PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si, const unsigned char *md, int mdlen)
int PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si, int nid, int type, void *data)
X509 * PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si)
#define PKCS7_OP_SET_DETACHED_SIGNATURE
int ERR_load_PKCS7_strings(void)
int(*)(RSA *rsa) RSA_meth_get_finish(const RSA_METHOD *meth)
#define EVP_PKEY_CTRL_GET_RSA_PADDING
#define EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN
#define EVP_PKEY_CTRL_RSA_OAEP_MD
#define RSA_FLAG_NO_CONSTTIME
#define EVP_PKEY_CTRL_RSA_KEYGEN_BITS
int(*)(int type, const unsigned char *m, unsigned int m_length, unsigned char *sigret, unsigned int *siglen, const RSA *rsa) RSA_meth_get_sign(const RSA_METHOD *meth)
#define EVP_PKEY_CTRL_GET_RSA_MGF1_MD
int(*)(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb) RSA_meth_get_keygen(const RSA_METHOD *meth)
int(*)(int flen, const unsigned char *from, unsigned char *to, RSA *rsa, int padding) RSA_meth_get_pub_enc(const RSA_METHOD *meth)
#define EVP_PKEY_CTRL_RSA_MGF1_MD
#define EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP
#define EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL
#define EVP_PKEY_CTRL_RSA_OAEP_LABEL
#define EVP_PKEY_CTRL_RSA_KEYGEN_PRIMES
#define EVP_PKEY_CTRL_RSA_PSS_SALTLEN
int(*)(int flen, const unsigned char *from, unsigned char *to, RSA *rsa, int padding) RSA_meth_get_pub_dec(const RSA_METHOD *meth)
#define EVP_PKEY_CTRL_RSA_PADDING
#define EVP_PKEY_CTRL_GET_RSA_OAEP_MD
int ERR_load_RSA_strings(void)
#define DEFINE_SPECIAL_STACK_OF(t1, t2)
#define SKM_DEFINE_STACK_OF(t1, t2, t3)
const char * OPENSSL_CSTRING
#define DEFINE_STACK_OF(t)
#define DEFINE_SPECIAL_STACK_OF_CONST(t1, t2)
#define DEFINE_STACK_OF_CONST(t)
#define SHA256_DIGEST_LENGTH
#define SSL3_AD_HANDSHAKE_FAILURE
#define SSL3_AD_NO_CERTIFICATE
#define SSL3_AD_CLOSE_NOTIFY
#define SSL3_AD_UNSUPPORTED_CERTIFICATE
#define SSL3_AD_CERTIFICATE_UNKNOWN
#define SSL3_AD_BAD_RECORD_MAC
#define SSL3_AD_CERTIFICATE_EXPIRED
#define SSL3_AD_DECOMPRESSION_FAILURE
#define SSL3_AD_ILLEGAL_PARAMETER
#define SSL3_AD_BAD_CERTIFICATE
#define SSL3_AD_UNEXPECTED_MESSAGE
#define SSL3_AD_CERTIFICATE_REVOKED
#define SSL_get_shared_group(s, n)
void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, SSL_psk_client_cb_func cb)
void(* SSL_custom_ext_free_cb_ex)(SSL *s, unsigned int ext_type, unsigned int context, const unsigned char *out, void *add_arg)
#define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS
#define SSL_SECOP_OTHER_CURVE
#define SSL_CTRL_CERT_FLAGS
#define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS
#define SSL_CTRL_SET_TMP_DH
void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, int(*new_session_cb)(struct ssl_st *ssl, SSL_SESSION *sess))
__owur int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e)
#define SSL_CTX_set1_groups(ctx, glist, glistlen)
void(* SSL_CTX_keylog_cb_func)(const SSL *ssl, const char *line)
__owur int SSL_CTX_set_alpn_protos(SSL_CTX *ctx, const unsigned char *protos, unsigned int protos_len)
__owur int SSL_extension_supported(unsigned int ext_type)
#define DTLS_CTRL_SET_LINK_MTU
int SSL_in_before(const SSL *s)
#define SSL_CTRL_GET_RI_SUPPORT
#define SSL_CTRL_SET_TMP_ECDH
#define SSL_OP_NO_TLSv1_3
#define SSL_CTRL_CHAIN_CERT
#define SSL_CTRL_SET_SPLIT_SEND_FRAGMENT
unsigned long SSL_CTX_clear_options(SSL_CTX *ctx, unsigned long op)
#define SSL_CTRL_SET_CLIENT_CERT_TYPES
int(*)(const SSL *s, const SSL_CTX *ctx, int op, int bits, int nid, void *other, void *ex) SSL_get_security_callback(const SSL *s)
void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, int(*client_cert_cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey))
#define SSL_CTRL_GET_RAW_CIPHERLIST
#define SSL_CTRL_CLEAR_CERT_FLAGS
__owur int SSL_CTX_add_client_custom_ext(SSL_CTX *ctx, unsigned int ext_type, custom_ext_add_cb add_cb, custom_ext_free_cb free_cb, void *add_arg, custom_ext_parse_cb parse_cb, void *parse_arg)
#define SSL_CTRL_GET_NUM_RENEGOTIATIONS
#define SSL_OP_TLSEXT_PADDING
#define SSL_CTX_set1_groups_list(ctx, s)
#define SSL_OP_NO_DTLSv1_2
uint32_t SSL_get_recv_max_early_data(const SSL *s)
#define SSL_CTRL_SET_SIGALGS
void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, void(*remove_session_cb)(struct ssl_ctx_st *ctx, SSL_SESSION *sess))
int SSL_in_init(const SSL *s)
__owur int SSL_set_alpn_protos(SSL *ssl, const unsigned char *protos, unsigned int protos_len)
#define SSL_set1_groups_list(s, str)
#define SSL_CTRL_EXTRA_CHAIN_CERT
void SSL_get0_next_proto_negotiated(const SSL *s, const unsigned char **data, unsigned *len)
#define SSL_CTRL_GET_PEER_SIGNATURE_NID
void SSL_CTX_set_stateless_cookie_generate_cb(SSL_CTX *ctx, int(*gen_stateless_cookie_cb)(SSL *ssl, unsigned char *cookie, size_t *cookie_len))
#define SSL_CTRL_GET_CLIENT_CERT_TYPES
struct ssl_conf_ctx_st SSL_CONF_CTX
#define SSL_VERIFY_FAIL_IF_NO_PEER_CERT
void SSL_CTX_set_stateless_cookie_verify_cb(SSL_CTX *ctx, int(*verify_stateless_cookie_cb)(SSL *ssl, const unsigned char *cookie, size_t cookie_len))
void SSL_set_psk_server_callback(SSL *ssl, SSL_psk_server_cb_func cb)
void SSL_CTX_set_next_proto_select_cb(SSL_CTX *s, SSL_CTX_npn_select_cb_func cb, void *arg)
#define SSL_CTRL_SESS_HIT
void SSL_set_psk_client_callback(SSL *ssl, SSL_psk_client_cb_func cb)
#define SSL_CTX_set_read_ahead(ctx, m)
int SSL_CTX_set_recv_max_early_data(SSL_CTX *ctx, uint32_t recv_max_early_data)
#define SSL_CTRL_SESS_TIMEOUTS
#define SSL_OP_SAFARI_ECDHE_ECDSA_BUG
#define SSL_CTRL_GET_TMP_KEY
size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count)
int(* SSL_psk_find_session_cb_func)(SSL *ssl, const unsigned char *identity, size_t identity_len, SSL_SESSION **sess)
size_t SSL_get_finished(const SSL *s, void *buf, size_t count)
#define SSL_CTRL_SET_VERIFY_CERT_STORE
struct ssl_comp_st SSL_COMP
int(* SSL_custom_ext_parse_cb_ex)(SSL *s, unsigned int ext_type, unsigned int context, const unsigned char *in, size_t inlen, X509 *x, size_t chainidx, int *al, void *parse_arg)
#define SSL_CTRL_SET_SESS_CACHE_SIZE
#define SSL_CTRL_GET_CHAIN_CERTS
#define SSL_SECOP_OTHER_NONE
#define SSL_CTRL_SESS_ACCEPT
#define SSL_OP_LEGACY_SERVER_CONNECT
#define SSL_CTRL_SET_MAX_SEND_FRAGMENT
struct ssl_cipher_st SSL_CIPHER
__owur int SSL_select_next_proto(unsigned char **out, unsigned char *outlen, const unsigned char *in, unsigned int inlen, const unsigned char *client, unsigned int client_len)
#define SSL_SECOP_OTHER_PKEY
#define SSL_CTRL_SESS_CONNECT_GOOD
void SSL_set_psk_use_session_callback(SSL *s, SSL_psk_use_session_cb_func cb)
int SSL_CTX_set_max_early_data(SSL_CTX *ctx, uint32_t max_early_data)
#define SSL_SECOP_OTHER_CERT
#define SSL_CTRL_SET_READ_AHEAD
#define SSL_SECOP_OTHER_CIPHER
unsigned int(* SSL_psk_client_cb_func)(SSL *ssl, const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len)
#define SSL_CTRL_GET_SESS_CACHE_MODE
#define SSL_get1_groups(s, glist)
int(* GEN_SESSION_CB)(SSL *ssl, unsigned char *id, unsigned int *id_len)
int(* SSL_psk_use_session_cb_func)(SSL *ssl, const EVP_MD *md, const unsigned char **id, size_t *idlen, SSL_SESSION **sess)
int(* SSL_CTX_npn_advertised_cb_func)(SSL *ssl, const unsigned char **out, unsigned int *outlen, void *arg)
void SSL_get0_alpn_selected(const SSL *ssl, const unsigned char **data, unsigned int *len)
__owur int SSL_CTX_has_client_custom_ext(const SSL_CTX *ctx, unsigned int ext_type)
#define SSL_set0_chain(s, sk)
__owur int SSL_SRP_CTX_init(SSL *s)
#define SSL_CTRL_GET_SHARED_GROUP
int SSL_SRP_CTX_free(SSL *ctx)
struct tls_session_ticket_ext_st TLS_SESSION_TICKET_EXT
@ DTLS_ST_SW_HELLO_VERIFY_REQUEST
@ TLS_ST_SW_SESSION_TICKET
@ TLS_ST_PENDING_EARLY_DATA_END
@ DTLS_ST_CR_HELLO_VERIFY_REQUEST
@ TLS_ST_CR_ENCRYPTED_EXTENSIONS
@ TLS_ST_CW_END_OF_EARLY_DATA
@ TLS_ST_CR_SESSION_TICKET
@ TLS_ST_SW_ENCRYPTED_EXTENSIONS
@ TLS_ST_SR_END_OF_EARLY_DATA
#define SSL_CTRL_GET_READ_AHEAD
struct ssl_method_st SSL_METHOD
__owur int SSL_srp_server_param_with_username(SSL *s, int *ad)
__owur int SSL_CTX_add_custom_ext(SSL_CTX *ctx, unsigned int ext_type, unsigned int context, SSL_custom_ext_add_cb_ex add_cb, SSL_custom_ext_free_cb_ex free_cb, void *add_arg, SSL_custom_ext_parse_cb_ex parse_cb, void *parse_arg)
#define SSL_CTRL_SESS_CB_HIT
void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, SSL_psk_server_cb_func cb)
int(*)(struct ssl_st *ssl, SSL_SESSION *sess) SSL_CTX_sess_get_new_cb(SSL_CTX *ctx)
#define SSL_SESS_CACHE_NO_INTERNAL_LOOKUP
void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, int(*app_gen_cookie_cb)(SSL *ssl, unsigned char *cookie, unsigned int *cookie_len))
#define SSL_VERIFY_CLIENT_ONCE
__owur int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *identity_hint)
#define SSL_CTRL_SET_CURRENT_CERT
#define SSL_get_peer_tmp_key(s, pk)
#define SSL_OP_CRYPTOPRO_TLSEXT_BUG
#define SSL_CTRL_SET_MAX_PROTO_VERSION
struct ssl_st * ssl_crock_st
int(* tls_session_ticket_ext_cb_fn)(SSL *s, const unsigned char *data, int len, void *arg)
#define DTLS_CTRL_GET_LINK_MIN_MTU
#define SSL_CTRL_SESS_CONNECT
#define DTLS_CTRL_GET_TIMEOUT
void SSL_CTX_set_info_callback(SSL_CTX *ctx, void(*cb)(const SSL *ssl, int type, int val))
uint32_t SSL_CTX_get_recv_max_early_data(const SSL_CTX *ctx)
unsigned long SSL_set_options(SSL *s, unsigned long op)
uint32_t SSL_get_max_early_data(const SSL *s)
#define SSL_CTRL_GET_PEER_TMP_KEY
#define SSL_CTRL_GET_GROUPS
#define SSL_CTRL_SESS_NUMBER
struct ssl_session_st SSL_SESSION
void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *s, SSL_CTX_npn_advertised_cb_func cb, void *arg)
void SSL_CTX_set_msg_callback(SSL_CTX *ctx, void(*cb)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg))
#define SSL_OP_NO_TLSv1_2
#define SSL_CTX_set0_chain(ctx, sk)
#define SSL_CTRL_GET_EXTRA_CHAIN_CERTS
int(* SSL_CTX_alpn_select_cb_func)(SSL *ssl, const unsigned char **out, unsigned char *outlen, const unsigned char *in, unsigned int inlen, void *arg)
#define DTLS_CTRL_HANDLE_TIMEOUT
#define SSL_CTRL_SET_SESS_CACHE_MODE
#define SSL_CTRL_SET_CLIENT_SIGALGS_LIST
unsigned long SSL_get_options(const SSL *s)
#define SSL_CLIENT_HELLO_CB
void SSL_set_msg_callback(SSL *ssl, void(*cb)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg))
void SSL_CTX_set_psk_use_session_callback(SSL_CTX *ctx, SSL_psk_use_session_cb_func cb)
int(*)(SSL *ssl, X509 **x509, EVP_PKEY **pkey) SSL_CTX_get_client_cert_cb(SSL_CTX *ctx)
unsigned long SSL_CTX_set_options(SSL_CTX *ctx, unsigned long op)
#define SSL_CTRL_GET_MIN_PROTO_VERSION
void(* custom_ext_free_cb)(SSL *s, unsigned int ext_type, const unsigned char *out, void *add_arg)
const char * SSL_get_psk_identity(const SSL *s)
#define SSL_CTRL_SESS_CACHE_FULL
#define SSL_CTRL_GET_MAX_CERT_LIST
void(*)(const SSL *ssl, int type, int val) SSL_CTX_get_info_callback(SSL_CTX *ctx)
const char * SSL_get_psk_identity_hint(const SSL *s)
#define SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS
int SSL_is_init_finished(const SSL *s)
#define SSL_CTRL_GET_MAX_PROTO_VERSION
#define SSL_CTRL_SELECT_CURRENT_CERT
#define SSL_CTRL_SESS_ACCEPT_GOOD
#define SSL_CTX_get_read_ahead(ctx)
#define SSL_CTRL_GET_SIGNATURE_NID
#define SSL_CTRL_SESS_ACCEPT_RENEGOTIATE
#define SSL_CTRL_SESS_MISSES
#define SSL_CTRL_SET_MSG_CALLBACK_ARG
int(* custom_ext_parse_cb)(SSL *s, unsigned int ext_type, const unsigned char *in, size_t inlen, int *al, void *parse_arg)
#define SSL_CTRL_SET_SIGALGS_LIST
SSL_CTX_keylog_cb_func SSL_CTX_get_keylog_callback(const SSL_CTX *ctx)
#define SSL_CTRL_SET_GROUPS_LIST
void SSL_set_psk_find_session_callback(SSL *s, SSL_psk_find_session_cb_func cb)
#define SSL_SESS_CACHE_SERVER
void SSL_CTX_set_keylog_callback(SSL_CTX *ctx, SSL_CTX_keylog_cb_func cb)
#define SSL_CTRL_SESS_CONNECT_RENEGOTIATE
#define SSL_CTRL_SET_GROUPS
#define SSL_CTRL_SET_MAX_CERT_LIST
#define SSL_CTRL_GET_EC_POINT_FORMATS
void(*)(struct ssl_ctx_st *ctx, SSL_SESSION *sess) SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx)
#define SSL_SESS_CACHE_NO_INTERNAL_STORE
#define SSL_CTRL_SET_CLIENT_SIGALGS
int(* SSL_custom_ext_add_cb_ex)(SSL *s, unsigned int ext_type, unsigned int context, const unsigned char **out, size_t *outlen, X509 *x, size_t chainidx, int *al, void *add_arg)
void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, SSL_SESSION *(*get_session_cb)(struct ssl_st *ssl, const unsigned char *data, int len, int *copy))
#define SSL_CTRL_GET_SESS_CACHE_SIZE
#define SSL_CTRL_SET_MIN_PROTO_VERSION
unsigned long SSL_CTX_get_options(const SSL_CTX *ctx)
#define SSL_CTRL_BUILD_CERT_CHAIN
int(* tls_session_secret_cb_fn)(SSL *s, void *secret, int *secret_len, STACK_OF(SSL_CIPHER) *peer_ciphers, const SSL_CIPHER **cipher, void *arg)
__owur int SRP_Calc_A_param(SSL *s)
#define SSL_CTRL_CLEAR_MODE
struct tls_sigalgs_st TLS_SIGALGS
void SSL_CTX_set_psk_find_session_callback(SSL_CTX *ctx, SSL_psk_find_session_cb_func cb)
uint32_t SSL_CTX_get_max_early_data(const SSL_CTX *ctx)
unsigned long SSL_clear_options(SSL *s, unsigned long op)
int SSL_set_recv_max_early_data(SSL *s, uint32_t recv_max_early_data)
#define SSL_CTRL_SET_CHAIN_CERT_STORE
#define SSL_ASYNC_NO_JOBS
unsigned int(* SSL_psk_server_cb_func)(SSL *ssl, const char *identity, unsigned char *psk, unsigned int max_psk_len)
__owur int SSL_CTX_add_server_custom_ext(SSL_CTX *ctx, unsigned int ext_type, custom_ext_add_cb add_cb, custom_ext_free_cb free_cb, void *add_arg, custom_ext_parse_cb parse_cb, void *parse_arg)
void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, int(*app_verify_cookie_cb)(SSL *ssl, const unsigned char *cookie, unsigned int cookie_len))
#define SSL_CTRL_SET_MAX_PIPELINES
void(*)(const SSL *ssl, int type, int val) SSL_get_info_callback(const SSL *ssl)
#define SSL_library_init()
#define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS
__owur int SSL_CTX_SRP_CTX_init(SSL_CTX *ctx)
#define SSL_CTRL_SET_DH_AUTO
#define OPENSSL_INIT_LOAD_SSL_STRINGS
void SSL_CTX_set_alpn_select_cb(SSL_CTX *ctx, SSL_CTX_alpn_select_cb_func cb, void *arg)
int SSL_set_max_early_data(SSL *s, uint32_t max_early_data)
int(* custom_ext_add_cb)(SSL *s, unsigned int ext_type, const unsigned char **out, size_t *outlen, int *al, void *add_arg)
#define SSL_CTRL_GET_EXTMS_SUPPORT
int(* SSL_CTX_npn_select_cb_func)(SSL *s, unsigned char **out, unsigned char *outlen, const unsigned char *in, unsigned int inlen, void *arg)
#define SSL_OP_NO_TLSv1_1
#define SSL_SECOP_OTHER_SIGALG
#define SSL_set1_groups(s, glist, glistlen)
int SSL_CTX_SRP_CTX_free(SSL_CTX *ctx)
__owur int SSL_use_psk_identity_hint(SSL *s, const char *identity_hint)
#define SSL_SESS_CACHE_CLIENT
int(* SSL_verify_cb)(int preverify_ok, X509_STORE_CTX *x509_ctx)
int ERR_load_SSL_strings(void)
void(* OPENSSL_sk_freefunc)(void *)
void * OPENSSL_sk_delete_ptr(OPENSSL_STACK *st, const void *p)
void * OPENSSL_sk_delete(OPENSSL_STACK *st, int loc)
int OPENSSL_sk_reserve(OPENSSL_STACK *st, int n)
void OPENSSL_sk_zero(OPENSSL_STACK *st)
OPENSSL_STACK * OPENSSL_sk_deep_copy(const OPENSSL_STACK *, OPENSSL_sk_copyfunc c, OPENSSL_sk_freefunc f)
int OPENSSL_sk_is_sorted(const OPENSSL_STACK *st)
OPENSSL_STACK * OPENSSL_sk_new(OPENSSL_sk_compfunc cmp)
OPENSSL_STACK * OPENSSL_sk_new_null(void)
struct stack_st OPENSSL_STACK
int OPENSSL_sk_find(OPENSSL_STACK *st, const void *data)
int(* OPENSSL_sk_compfunc)(const void *, const void *)
OPENSSL_sk_compfunc OPENSSL_sk_set_cmp_func(OPENSSL_STACK *sk, OPENSSL_sk_compfunc cmp)
OPENSSL_STACK * OPENSSL_sk_dup(const OPENSSL_STACK *st)
int OPENSSL_sk_insert(OPENSSL_STACK *sk, const void *data, int where)
void * OPENSSL_sk_set(OPENSSL_STACK *st, int i, const void *data)
int OPENSSL_sk_push(OPENSSL_STACK *st, const void *data)
int OPENSSL_sk_unshift(OPENSSL_STACK *st, const void *data)
void * OPENSSL_sk_pop(OPENSSL_STACK *st)
int OPENSSL_sk_find_ex(OPENSSL_STACK *st, const void *data)
int OPENSSL_sk_num(const OPENSSL_STACK *)
void *(* OPENSSL_sk_copyfunc)(const void *)
void OPENSSL_sk_pop_free(OPENSSL_STACK *st, void(*func)(void *))
void * OPENSSL_sk_shift(OPENSSL_STACK *st)
void OPENSSL_sk_sort(OPENSSL_STACK *st)
OPENSSL_STACK * OPENSSL_sk_new_reserve(OPENSSL_sk_compfunc c, int n)
void * OPENSSL_sk_value(const OPENSSL_STACK *, int)
void OPENSSL_sk_free(OPENSSL_STACK *)
std::function< void(bool, std::string)> callback
Family
Possible address families for socket addresses.
std::string privateKeyFile
Initializes the struct with default values.
std::string certificateFile
bool ocspStaplingVerification
VerificationMode verificationMode
static std::string escape(const std::string &s, bool strictJSON=false)
ASN1_GENERALIZEDTIME * generalizedtime
ASN1_UNIVERSALSTRING * universalstring
ASN1_STRING * asn1_string
ASN1_UTF8STRING * utf8string
ASN1_PRINTABLESTRING * printablestring
ASN1_OCTET_STRING * octet_string
ASN1_VISIBLESTRING * visiblestring
ASN1_BMPSTRING * bmpstring
ASN1_T61STRING * t61string
ASN1_BIT_STRING * bit_string
ASN1_GENERALSTRING * generalstring
ASN1_IA5STRING * ia5string
ASN1_ENUMERATED * enumerated
struct pkcs7_st * contents
ASN1_OCTET_STRING * digest
ASN1_OBJECT * content_type
ASN1_OCTET_STRING * enc_data
const EVP_CIPHER * cipher
PKCS7_ENC_CONTENT * enc_data
PKCS7_ENC_CONTENT * enc_data
ASN1_OCTET_STRING * enc_key
PKCS7_ISSUER_AND_SERIAL * issuer_and_serial
X509_ALGOR * key_enc_algor
struct pkcs7_st * contents
PKCS7_ENC_CONTENT * enc_data
ASN1_OCTET_STRING * enc_digest
PKCS7_ISSUER_AND_SERIAL * issuer_and_serial
X509_ALGOR * digest_enc_alg
PKCS7_ENVELOPE * enveloped
PKCS7_ENCRYPT * encrypted
PKCS7_SIGN_ENVELOPE * signed_and_enveloped
int(* check_trust)(struct x509_trust_st *, X509 *, int)
#define TLS1_AD_RECORD_OVERFLOW
#define TLS1_AD_EXPORT_RESTRICTION
#define TLS1_AD_UNKNOWN_CA
#define TLS13_AD_MISSING_EXTENSION
#define TLS1_AD_NO_RENEGOTIATION
#define TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE
#define TLS1_AD_UNKNOWN_PSK_IDENTITY
#define TLS1_AD_INSUFFICIENT_SECURITY
#define TLS1_AD_PROTOCOL_VERSION
#define TLS1_AD_USER_CANCELLED
#define TLS1_AD_INTERNAL_ERROR
#define TLS1_AD_NO_APPLICATION_PROTOCOL
#define TLS1_AD_CERTIFICATE_UNOBTAINABLE
#define TLS1_AD_UNSUPPORTED_EXTENSION
#define TLS1_AD_ACCESS_DENIED
#define TLS1_AD_DECODE_ERROR
#define TLS1_AD_UNRECOGNIZED_NAME
#define TLS1_AD_DECRYPT_ERROR
#define TLS13_AD_CERTIFICATE_REQUIRED
#define TLS1_AD_INAPPROPRIATE_FALLBACK
#define TLS1_AD_DECRYPTION_FAILED
#define TLS1_AD_BAD_CERTIFICATE_HASH_VALUE
#define X509_FILETYPE_PEM
#define X509_FILETYPE_ASN1
struct X509_name_entry_st X509_NAME_ENTRY
#define XN_FLAG_DUMP_UNKNOWN_FIELDS
struct X509_req_info_st X509_REQ_INFO
struct X509_req_st X509_REQ
#define XN_FLAG_SEP_CPLUS_SPC
#define XN_FLAG_SEP_MULTILINE
struct x509_cinf_st X509_CINF
struct X509_sig_st X509_SIG
struct X509_extension_st X509_EXTENSION
struct x509_cert_aux_st X509_CERT_AUX
struct x509_attributes_st X509_ATTRIBUTE
#define XN_FLAG_SEP_COMMA_PLUS
int(*)(int, X509 *, int) X509_TRUST_set_default(int(*trust)(int, X509 *, int))
void X509_VERIFY_PARAM_set_hostflags(X509_VERIFY_PARAM *param, unsigned int flags)
int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param)
int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx)
X509_STORE_CTX_verify_fn X509_STORE_CTX_get_verify(X509_STORE_CTX *ctx)
void X509_STORE_set_check_crl(X509_STORE *ctx, X509_STORE_CTX_check_crl_fn check_crl)
void(*)(X509_LOOKUP *ctx) X509_LOOKUP_meth_get_free(const X509_LOOKUP_METHOD *method)
int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type)
#define X509_V_FLAG_EXPLICIT_POLICY
int X509_VERIFY_PARAM_get_count(void)
void X509_STORE_set_lookup_certs(X509_STORE *ctx, X509_STORE_CTX_lookup_certs_fn lookup_certs)
int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, const char *str, int len, X509_OBJECT *ret)
int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, long argl, char **ret)
X509_POLICY_LEVEL * X509_policy_tree_get0_level(const X509_POLICY_TREE *tree, int i)
void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk)
void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx, int s)
int X509_VERIFY_PARAM_add1_host(X509_VERIFY_PARAM *param, const char *name, size_t namelen)
X509_STORE_CTX_check_revocation_fn X509_STORE_get_check_revocation(X509_STORE *ctx)
X509_LOOKUP_METHOD * X509_LOOKUP_hash_dir(void)
void X509_policy_tree_free(X509_POLICY_TREE *tree)
X509_POLICY_NODE * X509_policy_level_get0_node(X509_POLICY_LEVEL *level, int i)
X509_OBJECT * X509_OBJECT_new(void)
X509_STORE_CTX_get_crl_fn X509_STORE_get_get_crl(X509_STORE *ctx)
X509_LOOKUP_ctrl_fn X509_LOOKUP_meth_get_ctrl(const X509_LOOKUP_METHOD *method)
int X509_STORE_CTX_get_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type, X509_NAME *name, X509_OBJECT *ret)
void X509_STORE_set_cleanup(X509_STORE *ctx, X509_STORE_CTX_cleanup_fn cleanup)
int X509_LOOKUP_by_subject(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, X509_NAME *name, X509_OBJECT *ret)
X509_STORE_CTX_get_issuer_fn X509_STORE_CTX_get_get_issuer(X509_STORE_CTX *ctx)
#define X509_V_FLAG_POLICY_CHECK
void X509_VERIFY_PARAM_move_peername(X509_VERIFY_PARAM *, X509_VERIFY_PARAM *)
int(* X509_LOOKUP_get_by_issuer_serial_fn)(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, X509_NAME *name, ASN1_INTEGER *serial, X509_OBJECT *ret)
int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose)
X509_OBJECT * X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type, X509_NAME *name)
X509_STORE_CTX_check_policy_fn X509_STORE_get_check_policy(X509_STORE *ctx)
int X509_policy_check(X509_POLICY_TREE **ptree, int *pexplicit_policy, STACK_OF(X509) *certs, STACK_OF(ASN1_OBJECT) *policy_oids, unsigned int flags)
int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx)
const ASN1_OBJECT * X509_policy_node_get0_policy(const X509_POLICY_NODE *node)
int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose)
void X509_STORE_set_get_issuer(X509_STORE *ctx, X509_STORE_CTX_get_issuer_fn get_issuer)
X509_CRL * X509_OBJECT_get0_X509_CRL(X509_OBJECT *a)
int(* X509_STORE_CTX_verify_cb)(int, X509_STORE_CTX *)
int(* X509_STORE_CTX_get_issuer_fn)(X509 **issuer, X509_STORE_CTX *ctx, X509 *x)
int X509_VERIFY_PARAM_set1_email(X509_VERIFY_PARAM *param, const char *email, size_t emaillen)
int X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param, const char *name)
void * X509_LOOKUP_get_method_data(const X509_LOOKUP *ctx)
int(* X509_LOOKUP_ctrl_fn)(X509_LOOKUP *ctx, int cmd, const char *argc, long argl, char **ret)
void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, unsigned long flags)
char * X509_VERIFY_PARAM_get0_peername(X509_VERIFY_PARAM *)
int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, unsigned long flags)
int(* X509_STORE_CTX_check_crl_fn)(X509_STORE_CTX *ctx, X509_CRL *crl)
int X509_STORE_unlock(X509_STORE *ctx)
const X509_VERIFY_PARAM * X509_VERIFY_PARAM_lookup(const char *name)
void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth)
int X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *to, const X509_VERIFY_PARAM *from)
int X509_STORE_CTX_get_explicit_policy(X509_STORE_CTX *ctx)
int X509_VERIFY_PARAM_set_inh_flags(X509_VERIFY_PARAM *param, uint32_t flags)
int(* X509_LOOKUP_get_by_alias_fn)(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, const char *str, int len, X509_OBJECT *ret)
const X509_POLICY_NODE * X509_policy_node_get0_parent(const X509_POLICY_NODE *node)
void X509_STORE_set_check_policy(X509_STORE *ctx, X509_STORE_CTX_check_policy_fn check_policy)
int X509_LOOKUP_meth_set_get_by_subject(X509_LOOKUP_METHOD *method, X509_LOOKUP_get_by_subject_fn fn)
#define X509_V_FLAG_INHIBIT_MAP
X509_STORE_CTX_cert_crl_fn X509_STORE_CTX_get_cert_crl(X509_STORE_CTX *ctx)
int X509_LOOKUP_meth_set_shutdown(X509_LOOKUP_METHOD *method, int(*shutdown)(X509_LOOKUP *ctx))
int(* X509_STORE_CTX_check_policy_fn)(X509_STORE_CTX *ctx)
int X509_VERIFY_PARAM_get_auth_level(const X509_VERIFY_PARAM *param)
int(* X509_LOOKUP_get_by_fingerprint_fn)(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, const unsigned char *bytes, int len, X509_OBJECT *ret)
void X509_STORE_set_get_crl(X509_STORE *ctx, X509_STORE_CTX_get_crl_fn get_crl)
int(* X509_STORE_CTX_cleanup_fn)(X509_STORE_CTX *ctx)
int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags)
const char * X509_VERIFY_PARAM_get0_name(const X509_VERIFY_PARAM *param)
int X509_STORE_CTX_get_num_untrusted(X509_STORE_CTX *ctx)
X509_STORE_CTX_cleanup_fn X509_STORE_get_cleanup(X509_STORE *ctx)
int(*)(X509_LOOKUP *ctx) X509_LOOKUP_meth_get_init(const X509_LOOKUP_METHOD *method)
X509_STORE_CTX_get_crl_fn X509_STORE_CTX_get_get_crl(X509_STORE_CTX *ctx)
int(* X509_STORE_CTX_cert_crl_fn)(X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x)
X509_STORE_CTX_check_issued_fn X509_STORE_get_check_issued(X509_STORE *ctx)
int X509_STORE_set_purpose(X509_STORE *ctx, int purpose)
void X509_STORE_CTX_set0_crls(X509_STORE_CTX *c, STACK_OF(X509_CRL) *sk)
void X509_STORE_CTX_set_error_depth(X509_STORE_CTX *ctx, int depth)
void X509_LOOKUP_free(X509_LOOKUP *ctx)
void X509_STORE_CTX_set_cert(X509_STORE_CTX *c, X509 *x)
void X509_STORE_set_verify(X509_STORE *ctx, X509_STORE_CTX_verify_fn verify)
int X509_VERIFY_PARAM_set1_ip_asc(X509_VERIFY_PARAM *param, const char *ipasc)
int X509_LOOKUP_shutdown(X509_LOOKUP *ctx)
int(*)(X509_LOOKUP *ctx) X509_LOOKUP_meth_get_new_item(const X509_LOOKUP_METHOD *method)
X509_STORE_CTX_lookup_crls_fn X509_STORE_CTX_get_lookup_crls(X509_STORE_CTX *ctx)
void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx, X509_STORE_CTX_verify_fn verify)
X509_VERIFY_PARAM * X509_STORE_CTX_get0_param(X509_STORE_CTX *ctx)
int(* X509_STORE_CTX_check_issued_fn)(X509_STORE_CTX *ctx, X509 *x, X509 *issuer)
int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, unsigned long flags)
int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust)
X509_LOOKUP * X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m)
void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth)
int X509_STORE_load_locations(X509_STORE *ctx, const char *file, const char *dir)
X509_STORE_CTX_check_revocation_fn X509_STORE_CTX_get_check_revocation(X509_STORE_CTX *ctx)
int X509_STORE_set_ex_data(X509_STORE *ctx, int idx, void *data)
int X509_STORE_add_cert(X509_STORE *ctx, X509 *x)
X509_STORE * X509_STORE_new(void)
void X509_OBJECT_free(X509_OBJECT *a)
X509_STORE_CTX_check_issued_fn X509_STORE_CTX_get_check_issued(X509_STORE_CTX *ctx)
void X509_STORE_CTX_free(X509_STORE_CTX *ctx)
X509_LOOKUP_get_by_fingerprint_fn X509_LOOKUP_meth_get_get_by_fingerprint(const X509_LOOKUP_METHOD *method)
int X509_OBJECT_set1_X509_CRL(X509_OBJECT *a, X509_CRL *obj)
X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(X509_STORE *ctx)
X509_LOOKUP_TYPE X509_OBJECT_get_type(const X509_OBJECT *a)
X509_STORE * X509_STORE_CTX_get0_store(X509_STORE_CTX *ctx)
void X509_STORE_CTX_set0_verified_chain(X509_STORE_CTX *c, STACK_OF(X509) *sk)
X509_STORE_CTX_check_crl_fn X509_STORE_CTX_get_check_crl(X509_STORE_CTX *ctx)
int X509_LOOKUP_meth_set_get_by_issuer_serial(X509_LOOKUP_METHOD *method, X509_LOOKUP_get_by_issuer_serial_fn fn)
X509_STORE_CTX_cleanup_fn X509_STORE_CTX_get_cleanup(X509_STORE_CTX *ctx)
X509_STORE * X509_LOOKUP_get_store(const X509_LOOKUP *ctx)
X509_LOOKUP_METHOD * X509_LOOKUP_meth_new(const char *name)
unsigned long X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *param)
int X509_LOOKUP_init(X509_LOOKUP *ctx)
void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx)
X509_LOOKUP_get_by_subject_fn X509_LOOKUP_meth_get_get_by_subject(const X509_LOOKUP_METHOD *method)
void X509_VERIFY_PARAM_table_cleanup(void)
X509_CRL * X509_STORE_CTX_get0_current_crl(X509_STORE_CTX *ctx)
int(* X509_STORE_CTX_verify_fn)(X509_STORE_CTX *)
X509 * X509_STORE_CTX_get0_current_issuer(X509_STORE_CTX *ctx)
void * X509_STORE_get_ex_data(X509_STORE *ctx, int idx)
void X509_STORE_set_check_revocation(X509_STORE *ctx, X509_STORE_CTX_check_revocation_fn check_revocation)
X509_STORE_CTX * X509_STORE_CTX_new(void)
X509_LOOKUP_get_by_alias_fn X509_LOOKUP_meth_get_get_by_alias(const X509_LOOKUP_METHOD *method)
X509_STORE_CTX_verify_cb X509_STORE_get_verify_cb(X509_STORE *ctx)
void X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *ctx, STACK_OF(X509) *sk)
void X509_VERIFY_PARAM_set_auth_level(X509_VERIFY_PARAM *param, int auth_level)
void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param)
int(* X509_STORE_CTX_check_revocation_fn)(X509_STORE_CTX *ctx)
X509_STORE_CTX_verify_fn X509_STORE_get_verify(X509_STORE *ctx)
X509_STORE_CTX_lookup_certs_fn X509_STORE_CTX_get_lookup_certs(X509_STORE_CTX *ctx)
X509_LOOKUP_get_by_issuer_serial_fn X509_LOOKUP_meth_get_get_by_issuer_serial(const X509_LOOKUP_METHOD *method)
int X509_LOOKUP_meth_set_init(X509_LOOKUP_METHOD *method, int(*init)(X509_LOOKUP *ctx))
int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, X509_NAME *name, ASN1_INTEGER *serial, X509_OBJECT *ret)
int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, X509 *x509, STACK_OF(X509) *chain)
int X509_OBJECT_set1_X509(X509_OBJECT *a, X509 *obj)
int X509_STORE_set_depth(X509_STORE *store, int depth)
X509 * X509_OBJECT_get0_X509(const X509_OBJECT *a)
unsigned int X509_VERIFY_PARAM_get_hostflags(const X509_VERIFY_PARAM *param)
int X509_STORE_lock(X509_STORE *ctx)
void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx, X509_STORE_CTX_verify_cb verify)
int X509_VERIFY_PARAM_set1_host(X509_VERIFY_PARAM *param, const char *name, size_t namelen)
void X509_STORE_set_lookup_crls(X509_STORE *ctx, X509_STORE_CTX_lookup_crls_fn lookup_crls)
X509_STORE_CTX_lookup_crls_fn X509_STORE_get_lookup_crls(X509_STORE *ctx)
void * X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx, int idx)
int X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *pm)
int(* X509_STORE_CTX_get_crl_fn)(X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x)
X509 * X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx)
const X509_VERIFY_PARAM * X509_VERIFY_PARAM_get0(int id)
int X509_policy_level_node_count(X509_POLICY_LEVEL *level)
X509_OBJECT * X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, X509_OBJECT *x)
X509_STORE_CTX * X509_STORE_CTX_get0_parent_ctx(X509_STORE_CTX *ctx)
void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags, time_t t)
int X509_OBJECT_up_ref_count(X509_OBJECT *a)
int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x)
void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t)
int X509_LOOKUP_set_method_data(X509_LOOKUP *ctx, void *data)
int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name)
int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param, ASN1_OBJECT *policy)
int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h, X509_LOOKUP_TYPE type, X509_NAME *name)
int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type)
void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM *param)
int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x)
int X509_STORE_up_ref(X509_STORE *v)
int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust)
X509 * X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx)
void X509_STORE_CTX_set_current_cert(X509_STORE_CTX *ctx, X509 *x)
X509_STORE_CTX_check_crl_fn X509_STORE_get_check_crl(X509_STORE *ctx)
int(* X509_LOOKUP_get_by_subject_fn)(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, X509_NAME *name, X509_OBJECT *ret)
int X509_LOOKUP_meth_set_get_by_alias(X509_LOOKUP_METHOD *method, X509_LOOKUP_get_by_alias_fn fn)
X509_STORE_CTX_check_policy_fn X509_STORE_CTX_get_check_policy(X509_STORE_CTX *ctx)
X509_POLICY_TREE * X509_STORE_CTX_get0_policy_tree(X509_STORE_CTX *ctx)
int X509_LOOKUP_meth_set_ctrl(X509_LOOKUP_METHOD *method, X509_LOOKUP_ctrl_fn ctrl_fn)
uint32_t X509_VERIFY_PARAM_get_inh_flags(const X509_VERIFY_PARAM *param)
int X509_policy_tree_level_count(const X509_POLICY_TREE *tree)
X509_STORE_CTX_cert_crl_fn X509_STORE_get_cert_crl(X509_STORE *ctx)
X509_LOOKUP_METHOD * X509_LOOKUP_file(void)
int X509_STORE_set_trust(X509_STORE *ctx, int trust)
X509_OBJECT * X509_STORE_CTX_get_obj_by_subject(X509_STORE_CTX *vs, X509_LOOKUP_TYPE type, X509_NAME *name)
void X509_STORE_set_verify_cb(X509_STORE *ctx, X509_STORE_CTX_verify_cb verify_cb)
void X509_STORE_free(X509_STORE *v)
int X509_LOOKUP_meth_set_free(X509_LOOKUP_METHOD *method, void(*free_fn)(X509_LOOKUP *ctx))
int X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to, const X509_VERIFY_PARAM *from)
void X509_STORE_set_check_issued(X509_STORE *ctx, X509_STORE_CTX_check_issued_fn check_issued)
void X509_STORE_set_cert_crl(X509_STORE *ctx, X509_STORE_CTX_cert_crl_fn cert_crl)
int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param)
time_t X509_VERIFY_PARAM_get_time(const X509_VERIFY_PARAM *param)
int X509_VERIFY_PARAM_set1_ip(X509_VERIFY_PARAM *param, const unsigned char *ip, size_t iplen)
int(*)(X509_LOOKUP *ctx) X509_LOOKUP_meth_get_shutdown(const X509_LOOKUP_METHOD *method)
int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx, int idx, void *data)
void X509_LOOKUP_meth_free(X509_LOOKUP_METHOD *method)
int X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param, STACK_OF(ASN1_OBJECT) *policies)
void X509_STORE_CTX_set0_dane(X509_STORE_CTX *ctx, SSL_DANE *dane)
X509_VERIFY_PARAM * X509_VERIFY_PARAM_new(void)
int X509_STORE_set_default_paths(X509_STORE *ctx)
int X509_LOOKUP_meth_set_new_item(X509_LOOKUP_METHOD *method, int(*new_item)(X509_LOOKUP *ctx))
int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose, int purpose, int trust)
int X509_LOOKUP_meth_set_get_by_fingerprint(X509_LOOKUP_METHOD *method, X509_LOOKUP_get_by_fingerprint_fn fn)
X509_VERIFY_PARAM * X509_STORE_get0_param(X509_STORE *ctx)
int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type)
X509_STORE_CTX_verify_cb X509_STORE_CTX_get_verify_cb(X509_STORE_CTX *ctx)
X509_STORE_CTX_lookup_certs_fn X509_STORE_get_lookup_certs(X509_STORE *ctx)
X509_LOOKUP * X509_LOOKUP_new(X509_LOOKUP_METHOD *method)
#define X509_V_FLAG_INHIBIT_ANY
int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, X509_LOOKUP_TYPE type, const unsigned char *bytes, int len, X509_OBJECT *ret)
int ERR_load_X509_strings(void)