| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801 |
- OpenSSL-APIs
- ------------
- .. note:: The OpenSSL-API will be discontinued in ESP-IDF from v5.0. Please use ESP-TLS <esp_tls> instead.
- The code of this API (located in :component:`openssl` directory), does not contain OpenSSL itself but is intended as a wrapper for applications using the OpenSSL API.
- It uses mbedTLS to do the actual work, so anyone compiling openssl code needs the mbedtls library and header file.
- OpenSSL APIs not mentioned in this article are not open to public for the time,
- also do not have the corresponding function.
- If user calls it directly, it will always return an error or may show cannot link at compiling time.
- Chapter Introduction
- ====================
- - Chapter 1. SSL Context Method Create
- - Chapter 2. SSL Context Function
- - Chapter 3. SSL Function
- - Chapter 4. SSL X509 Certification and Private Key Function
- Chapter 1. SSL Context Method Create
- ====================================
- .. highlight:: none
- 1.1 const SSL_METHOD* ``SSLv3_client_method`` (void)
- Arguments::
-
- none
-
- Return::
-
- SSLV3.0 version SSL context client method point
-
- Description::
-
- create the target SSL context method
-
- Example::
-
- void example(void)
- {
- const SSL_METHOD *method = SSLv3_client_method();
-
- ...
- }
- 1.2 const SSL_METHOD* ``TLSv1_client_method`` (void)
- Arguments::
-
- none
-
- Return::
-
- TLSV1.0 version SSL context client method point
-
- Description::
-
- create the target SSL context method
-
- Example::
-
- void example(void)
- {
- const SSL_METHOD *method = TLSv1_client_method();
-
- ...
- }
- 1.3 const SSL_METHOD* ``TLSv1_1_client_method`` (void)
- Arguments::
-
- none
-
- Return::
-
- TLSV1.1 version SSL context client method point
-
- Description::
-
- create the target SSL context method
-
- Example::
-
- void example(void)
- {
- const SSL_METHOD *method = TLSv1_1_client_method();
-
- ...
- }
- 1.4 const SSL_METHOD* ``TLSv1_2_client_method`` (void)
- Arguments::
-
- none
-
- Return::
-
- TLSV1.2 version SSL context client method point
-
- Description::
-
- create the target SSL context method
-
- Example::
-
- void example(void)
- {
- const SSL_METHOD *method = TLSv1_2_client_method();
-
- ...
- }
-
- 1.5 const SSL_METHOD* ``TLS_client_method`` (void)
- Arguments::
-
- none
-
- Return::
-
- TLSV1.2 version SSL context client method point
-
- Description::
-
- create the default SSL context method, it's always to be TLSV1.2
-
- Example::
-
- void example(void)
- {
- const SSL_METHOD *method = TLSv1_2_client_method();
-
- ...
- }
- 1.6 const SSL_METHOD* ``SSLv3_server_method`` (void)
- Arguments::
-
- none
-
- Return::
-
- SSLV3.0 version SSL context server method point
-
- Description::
-
- create the target SSL context method
-
- Example::
-
- void example(void)
- {
- const SSL_METHOD *method = SSLv3_server_method();
-
- ...
- }
- 1.7 const SSL_METHOD* ``TLSv1_server_method`` (void)
- Arguments::
-
- none
-
- Return::
-
- TLSV1.0 version SSL context server method point
-
- Description::
-
- create the target SSL context method
-
- Example::
-
- void example(void)
- {
- const SSL_METHOD *method = TLSv1_server_method();
-
- ...
- }
- 1.8 const SSL_METHOD* ``TLSv1_1_server_method`` (void)
- Arguments::
-
- none
-
- Return::
-
- TLSV1.1 version SSL context server method point
-
- Description::
-
- create the target SSL context method
-
- Example::
-
- void example(void)
- {
- const SSL_METHOD *method = TLSv1_1_server_method();
-
- ...
- }
- 1.9 const SSL_METHOD* ``TLSv1_2_server_method`` (void)
- Arguments::
-
- none
-
- Return::
-
- TLSV1.2 version SSL context server method point
-
- Description::
-
- create the target SSL context method
-
- Example::
-
- void example(void)
- {
- const SSL_METHOD *method = TLSv1_2_server_method();
-
- ...
- }
- 1.10 const SSL_METHOD* ``TLS_server_method`` (void)
- Arguments::
-
- none
-
- Return::
-
- TLSV1.2 version SSL context server method point
-
- Description::
-
- create the default SSL context method, it's always to be TLSV1.2
-
- Example::
-
- void example(void)
- {
- const SSL_METHOD *method = TLSv1_2_server_method();
-
- ...
- }
- Chapter 2. SSL Context Function
- ===============================
- 2.1 SSL_CTX* ``SSL_CTX_new`` (const SSL_METHOD * method)
- Arguments::
-
- method - the SSL context method point
-
- Return::
-
- context point
-
- Description::
-
- create a SSL context
-
- Example::
-
- void example(void)
- {
- SSL_CTX *ctx = SSL_CTX_new(SSLv3_server_method());
-
- ...
- }
- 2.2 ``void SSL_CTX_free`` (SSL_CTX * ctx)
- Arguments::
-
- ctx - the SSL context point
-
- Return::
-
- none
-
- Description::
-
- free a SSL context
-
- Example::
-
- void example(void)
- {
- SSL_CTX *ctx;
-
- ... ...
-
- SSL_CTX_free(ctx);
- }
- 2.3 ``int SSL_CTX_set_ssl_version`` (SSL_CTX * ctx, const SSL_METHOD * meth)
- Arguments::
-
- ctx - SSL context point
- meth - SSL method point
-
- Return::
-
- 1 : OK
- 0 : failed
-
- Description::
-
- set the SSL context version
-
- Example::
-
- void example(void)
- {
- SSL_CTX *ctx;
- const SSL_METHOD *meth;
-
- ... ...
-
- SSL_CTX_set_ssl_version(ctx, meth);
- }
- 2.4 const SSL_METHOD* ``SSL_CTX_get_ssl_method`` (SSL_CTX * ctx)
- Arguments::
-
- ctx - SSL context point
-
- Return::
-
- SSL context method
-
- Description::
-
- get the SSL context method
-
- Example::
-
- void example(void)
- {
- const SSL_METHOD *method;
- SSL_CTX *ctx;
-
- ... ...
-
- method = SSL_CTX_get_ssl_method(ctx);
- }
- Chapter 3. SSL Function
- =======================
- 3.1 SSL* ``SSL_new`` (SSL_CTX * ctx)
- Arguments::
-
- ctx - SSL context point
-
- Return::
-
- SSL method
-
- Description::
-
- create a SSL
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- SSL_CTX *ctx;
- ... ...
-
- ssl = SSL_new(ctx);
- }
- 3.2 void ``SSL_free`` (SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- none
-
- Description::
-
- free SSL
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
-
- ... ...
-
- SSL_free(ssl);
- }
-
- 3.3 int ``SSL_do_handshake`` (SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- 1 : OK
- 0 : failed, connect is close by remote
- -1 : a error catch
-
- Description::
-
- perform the SSL handshake
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- int ret;
-
- ... ...
-
- ret = SSL_do_handshake(ssl);
- }
- 3.4 int ``SSL_connect`` (SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- 1 : OK
- 0 : failed, connect is close by remote
- -1 : a error catch
-
- Description::
-
- connect to the remote SSL server
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- int ret;
-
- ... ...
-
- ret = SSL_connect(ssl);
- }
- 3.5 int ``SSL_accept`` (SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- 1 : OK
- 0 : failed, connect is close by remote
- -1 : a error catch
-
- Description::
-
- accept the remote connection
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- int ret;
-
- ... ...
-
- ret = SSL_accept(ssl);
- }
- 3.6 int ``SSL_shutdown`` (SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- 1 : OK
- 0 : failed, connect is close by remote
- -1 : a error catch
-
- Description::
-
- shutdown the connection
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- int ret;
-
- ... ...
-
- ret = SSL_shutdown(ssl);
- }
- 3.7 int ``SSL_clear`` (SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- 1 : OK
- 0 : failed
-
- Description::
-
- shutdown the connection
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- int ret;
-
- ... ...
-
- ret = SSL_clear(ssl);
- }
- 3.8 int ``SSL_read`` (SSL * ssl, void * buffer, int len)
- Arguments::
-
- ssl - point
- buffer - data buffer point
- len - data length
-
- Return::
-
- > 0 : OK, and return received data bytes
- = 0 : no data received or connection is closed
- < 0 : an error catch
-
- Description::
-
- read data from remote
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- char *buf;
- int len;
- int ret;
-
- ... ...
-
- ret = SSL_read(ssl, buf, len);
- }
- 3.9 int ``SSL_write`` (SSL * ssl, const void * buffer, int len)
- Arguments::
-
- ssl - SSL point
- buffer - data buffer point
- len - data length
-
- Return::
-
- > 0 : OK, and return received data bytes
- = 0 : no data sent or connection is closed
- < 0 : an error catch
-
- Description::
-
- send the data to remote
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- char *buf;
- int len;
- int ret;
-
- ... ...
-
- ret = SSL_write(ssl, buf, len);
- }
- 3.10 ``SSL_CTX *SSL_get_SSL_CTX`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- SSL context
-
- Description::
-
- get SSL context of the SSL
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- SSL_CTX *ctx;
-
- ... ...
-
- ctx = SSL_get_SSL_CTX(ssl);
- }
- 3.11 int ``SSL_get_shutdown`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- shutdown mode
-
- Description::
-
- get SSL shutdown mode
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- int mode;
-
- ... ...
-
- mode = SSL_get_SSL_CTX(ssl);
- }
- 3.12 void ``SSL_set_shutdown`` (SSL * ssl, int mode)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- shutdown mode
-
- Description::
-
- set SSL shutdown mode
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- int mode = 0;
-
- ... ...
-
- SSL_set_shutdown(ssl, mode);
- }
- 3.13 const SSL_METHOD* ``SSL_get_ssl_method`` (SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- SSL method
-
- Description::
-
- set SSL shutdown mode
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- const SSL_METHOD *method;
-
- ... ...
-
- method = SSL_get_ssl_method(ssl);
- }
-
- 3.14 int ``SSL_set_ssl_method`` (SSL * ssl, const SSL_METHOD * method)
- Arguments::
-
- ssl - SSL point
- meth - SSL method point
-
- Return::
-
- 1 : OK
- 0 : failed
-
- Description::
-
- set the SSL method
-
- Example::
-
- void example(void)
- {
- int ret;
- SSL *ssl;
- const SSL_METHOD *method;
-
- ... ...
-
- ret = SSL_set_ssl_method(ssl, method);
- }
- 3.15 int ``SSL_pending`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- data bytes
-
- Description::
-
- get received data bytes
-
- Example::
-
- void example(void)
- {
- int ret;
- SSL *ssl;
-
- ... ...
-
- ret = SSL_pending(ssl);
- }
- 3.16 int ``SSL_has_pending`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- 1 : Yes
- 0 : No
-
- Description::
-
- check if data is received
-
- Example::
-
- void example(void)
- {
- int ret;
- SSL *ssl;
-
- ... ...
-
- ret = SSL_has_pending(ssl);
- }
- 3.17 int ``SSL_get_fd`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- >= 0 : socket id
- < 0 : a error catch
-
- Description::
-
- get the socket of the SSL
-
- Example::
-
- void example(void)
- {
- int ret;
- SSL *ssl;
-
- ... ...
-
- ret = SSL_get_fd(ssl);
- }
- 3.18 int ``SSL_get_rfd`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- >= 0 : socket id
- < 0 : a error catch
-
- Description::
-
- get the read only socket of the SSL
-
- Example::
-
- void example(void)
- {
- int ret;
- SSL *ssl;
-
- ... ...
-
- ret = SSL_get_rfd(ssl);
- }
- 3.19 int ``SSL_get_wfd`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- >= 0 : socket id
- < 0 : a error catch
-
- Description::
-
- get the write only socket of the SSL
-
- Example::
-
- void example(void)
- {
- int ret;
- SSL *ssl;
-
- ... ...
-
- ret = SSL_get_wfd(ssl);
- }
- 3.20 int ``SSL_set_fd`` (SSL * ssl, int fd)
- Arguments::
-
- ssl - SSL point
- fd - socket id
-
- Return::
-
- 1 : OK
- 0 : failed
-
- Description::
-
- set socket to SSL
-
- Example::
-
- void example(void)
- {
- int ret;
- SSL *ssl;
- int socket;
-
- ... ...
-
- ret = SSL_set_fd(ssl, socket);
- }
- 3.21 int ``SSL_set_rfd`` (SSL * ssl, int fd)
- Arguments::
-
- ssl - SSL point
- fd - socket id
-
- Return::
-
- 1 : OK
- 0 : failed
-
- Description::
-
- set read only socket to SSL
-
- Example::
-
- void example(void)
- {
- int ret;
- SSL *ssl;
- int socket;
-
- ... ...
-
- ret = SSL_set_rfd(ssl, socket);
- }
-
- 3.22 int ``SSL_set_wfd`` (SSL * ssl, int fd)
- Arguments::
-
- ssl - SSL point
- fd - socket id
-
- Return::
-
- 1 : OK
- 0 : failed
-
- Description::
-
- set write only socket to SSL
-
- Example::
-
- void example(void)
- {
- int ret;
- SSL *ssl;
- int socket;
-
- ... ...
-
- ret = SSL_set_wfd(ssl, socket);
- }
-
- 3.23 int ``SSL_version`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- SSL version
-
- Description::
-
- get SSL version
-
- Example::
-
- void example(void)
- {
- int version;
- SSL *ssl;
-
- ... ...
-
- version = SSL_version(ssl);
- }
- 3.24 const char* ``SSL_get_version`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- SSL version string
-
- Description::
-
- get the SSL current version string
-
- Example::
-
- void example(void)
- {
- char *version;
- SSL *ssl;
-
- ... ...
-
- version = SSL_get_version(ssl);
- }
-
-
- 3.25 OSSL_HANDSHAKE_STATE ``SSL_get_state`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- SSL state
-
- Description::
-
- get the SSL state
-
- Example::
-
- void example(void)
- {
- OSSL_HANDSHAKE_STATE state;
- SSL *ssl;
-
- ... ...
-
- state = SSL_get_state(ssl);
- }
- 3.26 const char* ``SSL_alert_desc_string`` (int value)
- Arguments::
-
- value - SSL description
-
- Return::
-
- alert value string
-
- Description::
-
- get alert description string
-
- Example::
-
- void example(void)
- {
- int val;
- char *str;
-
- ... ...
-
- str = SSL_alert_desc_string(val);
- }
- 3.27 const char* ``SSL_alert_desc_string_long`` (int value)
- Arguments::
-
- value - SSL description
-
- Return::
-
- alert value long string
-
- Description::
-
- get alert description long string
-
- Example::
-
- void example(void)
- {
- int val;
- char *str;
-
- ... ...
-
- str = SSL_alert_desc_string_long(val);
- }
- 3.28 const char* ``SSL_alert_type_string`` (int value)
- Arguments::
-
- value - SSL type description
-
- Return::
-
- alert type string
-
- Description::
-
- get alert type string
-
- Example::
-
- void example(void)
- {
- int val;
- char *str;
-
- ... ...
-
- str = SSL_alert_type_string(val);
- }
-
-
- 3.29 const char* ``SSL_alert_type_string_long`` (int value)
- Arguments::
-
- value - SSL type description
-
- Return::
-
- alert type long string
-
- Description::
-
- get alert type long string
-
- Example::
-
- void example(void)
- {
- int val;
- char *str;
-
- ... ...
-
- str = SSL_alert_type_string_long(val);
- }
- 3.30 const char* ``SSL_rstate_string`` (SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- state string
-
- Description::
-
- get the state string where SSL is reading
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- char *str;
-
- ... ...
-
- str = SSL_rstate_string(ssl);
- }
-
- 3.31 const char* ``SSL_rstate_string_long`` (SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- state long string
-
- Description::
-
- get the state long string where SSL is reading
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- char *str;
-
- ... ...
-
- str = SSL_rstate_string_long(ssl);
- }
- 3.32 const char* ``SSL_state_string`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- state string
-
- Description::
-
- get the state string
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- const char *str;
-
- ... ...
-
- str = SSL_state_string(ssl);
- }
- 3.33 char* ``SSL_state_string_long`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- state long string
-
- Description::
-
- get the state long string
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- char *str;
-
- ... ...
-
- str = SSL_state_string(ssl);
- }
- 3.34 int ``SSL_get_error`` (const SSL * ssl, int ret_code)
- Arguments::
-
- ssl - SSL point
- ret_code - SSL return code
-
- Return::
-
- SSL error number
-
- Description::
-
- get SSL error code
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- int ret;
- int err;
-
- ... ...
-
- err = SSL_get_error(ssl, ret);
- }
- 3.35 int ``SSL_want`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- specifical statement
-
- Description::
-
- get the SSL specifical statement
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- int state;
-
- ... ...
-
- state = SSL_want(ssl);
- }
-
- 3.36 int ``SSL_want_nothing`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- 0 : false
- 1 : true
-
- Description::
-
- check if SSL want nothing
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- int ret;
-
- ... ...
-
- ret = SSL_want(ssl);
- }
-
-
- 3.37 int ``SSL_want_read`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- 0 : false
- 1 : true
-
- Description::
-
- check if SSL want to read
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- int ret;
-
- ... ...
-
- ret = SSL_want_read(ssl);
- }
- 3.38 int ``SSL_want_write`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- 0 : false
- 1 : true
-
- Description::
-
- check if SSL want to write
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- int ret;
-
- ... ...
-
- ret = SSL_want_write(ssl);
- }
- Chapter 4. SSL X509 Certification and Private Key Function
- ==========================================================
- 4.1 X509 * ``d2i_X509`` (X509 ** cert, const unsigned char * buffer, long len)
- Arguments::
-
- cert - a point pointed to X509 certification
- buffer - a point pointed to the certification context memory point
- length - certification bytes
-
- Return::
-
- X509 certification object point
-
- Description::
-
- load a character certification context into system context. If '*cert' is pointed to the
- certification, then load certification into it. Or create a new X509 certification object
-
- Example::
-
- void example(void)
- {
- X509 *new;
- X509 *cert;
- unsigned char *buffer;
- long len;
- ... ...
-
- new = d2i_X509(&cert, buffer, len);
- }
- 4.2 int ``SSL_add_client_CA`` (SSL * ssl, X509 * x)
- Arguments::
-
- ssl - SSL point
- x - CA certification point
-
- Return::
- 1 : OK
- 0 : failed
-
- Description::
-
- add CA client certification into the SSL
-
- Example::
-
- void example(void)
- {
- int ret;
- SSL *ssl;
- X509 *new;
-
- ... ...
-
- ret = SSL_add_client_CA(ssl, new);
- }
- 4.3 int ``SSL_CTX_add_client_CA`` (SSL_CTX * ctx, X509 * x)
- Arguments::
-
- ctx - SSL context point
- x - CA certification point
-
- Return::
- 1 : OK
- 0 : failed
-
- Description::
-
- add CA client certification into the SSL context
-
- Example::
-
- void example(void)
- {
- int ret;
- SSL_CTX *ctx;
- X509 *new;
-
- ... ...
-
- ret = SSL_add_clSSL_CTX_add_client_CAient_CA(ctx, new);
- }
- 4.4 X509* ``SSL_get_certificate`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- SSL certification point
-
- Description::
-
- get the SSL certification point
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- X509 *cert;
-
- ... ...
-
- cert = SSL_get_certificate(ssl);
- }
- 4.5 long ``SSL_get_verify_result`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- the result of verifying
-
- Description::
-
- get the verifying result of the SSL certification
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- long ret;
-
- ... ...
-
- ret = SSL_get_verify_result(ssl);
- }
- 4.6 int ``SSL_CTX_use_certificate`` (SSL_CTX * ctx, X509 * x)
- Arguments::
-
- ctx - the SSL context point
- pkey - certification object point
-
- Return::
-
- 1 : OK
- 0 : failed
-
- Description::
-
- load the certification into the SSL_CTX or SSL object
-
- Example::
-
- void example(void)
- {
- int ret;
- SSL_CTX *ctx
- X509 *new;
-
- ... ...
-
- ret = SSL_CTX_use_certificate(ctx, new);
- }
- 4.7 int ``SSL_CTX_use_certificate_ASN1`` (SSL_CTX * ctx, int len, const unsigned char * d)
- Arguments::
-
- ctx - SSL context point
- len - certification length
- d - data point
-
- Return::
-
- 1 : OK
- 0 : failed
-
- Description::
-
- load the ASN1 certification into SSL context
-
- Example::
-
- void example(void)
- {
- int ret;
- SSL_CTX *ctx;
- const unsigned char *buf;
- int len;
-
- ... ...
-
- ret = SSL_CTX_use_certificate_ASN1(ctx, len, buf);
- }
-
- 4.8 int ``SSL_CTX_use_PrivateKey`` (SSL_CTX * ctx, EVP_PKEY * pkey)
- Arguments::
-
- ctx - SSL context point
- pkey - private key object point
-
- Return::
- 1 : OK
- 0 : failed
-
- Description::
-
- load the private key into the context object
-
- Example::
-
- void example(void)
- {
- int ret;
- SSL_CTX *ctx;
- EVP_PKEY *pkey;
-
- ... ...
-
- ret = SSL_CTX_use_PrivateKey(ctx, pkey);
- }
- 4.9 int ``SSL_CTX_use_PrivateKey_ASN1`` (int pk, SSL_CTX * ctx, const unsigned char * d, long len)
- Arguments::
-
- ctx - SSL context point
- d - data point
- len - private key length
-
- Return::
-
- 1 : OK
- 0 : failed
-
- Description::
-
- load the ASN1 private key into SSL context
-
- Example::
-
- void example(void)
- {
- int ret;
- int pk;
- SSL_CTX *ctx;
- const unsigned char *buf;
- long len;
-
- ... ...
-
- ret = SSL_CTX_use_PrivateKey_ASN1(pk, ctx, buf, len);
- }
-
- 4.10 int ``SSL_CTX_use_RSAPrivateKey_ASN1`` (SSL_CTX * ctx, const unsigned char * d, long len)
- Arguments::
-
- ctx - SSL context point
- d - data point
- len - private key length
-
- Return::
-
- 1 : OK
- 0 : failed
-
- Description::
-
- load the RSA ASN1 private key into SSL context
-
- Example::
-
- void example(void)
- {
- int ret;
- SSL_CTX *ctx;
- const unsigned char *buf;
- long len;
-
- ... ...
-
- ret = SSL_CTX_use_RSAPrivateKey_ASN1(ctx, buf, len);
- }
- 4.11 int ``SSL_use_certificate_ASN1`` (SSL * ssl, int len, const unsigned char * d)
- Arguments::
-
- ssl - SSL point
- len - data bytes
- d - data point
-
- Return::
-
- 1 : OK
- 0 : failed
-
- Description::
-
- load certification into the SSL
-
- Example::
-
- void example(void)
- {
- int ret;
- SSL *ssl;
- const unsigned char *buf;
- long len;
-
- ... ...
-
- ret = SSL_use_certificate_ASN1(ssl, len, buf);
- }
- 4.12 X509* ``SSL_get_peer_certificate`` (const SSL * ssl)
- Arguments::
-
- ssl - SSL point
-
- Return::
-
- peer certification
-
- Description::
-
- get peer certification
-
- Example::
-
- void example(void)
- {
- SSL *ssl;
- X509 *peer;
-
- ... ...
-
- peer = SSL_get_peer_certificate(ssl);
- }
|