OLD | NEW |
1 | 1 |
2 =pod | 2 =pod |
3 | 3 |
4 =head1 NAME | 4 =head1 NAME |
5 | 5 |
6 SSL - OpenSSL SSL/TLS library | 6 SSL - OpenSSL SSL/TLS library |
7 | 7 |
8 =head1 SYNOPSIS | 8 =head1 SYNOPSIS |
9 | 9 |
10 =head1 DESCRIPTION | 10 =head1 DESCRIPTION |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 Currently the OpenSSL B<ssl> library exports 214 API functions. | 123 Currently the OpenSSL B<ssl> library exports 214 API functions. |
124 They are documented in the following: | 124 They are documented in the following: |
125 | 125 |
126 =head2 DEALING WITH PROTOCOL METHODS | 126 =head2 DEALING WITH PROTOCOL METHODS |
127 | 127 |
128 Here we document the various API functions which deal with the SSL/TLS | 128 Here we document the various API functions which deal with the SSL/TLS |
129 protocol methods defined in B<SSL_METHOD> structures. | 129 protocol methods defined in B<SSL_METHOD> structures. |
130 | 130 |
131 =over 4 | 131 =over 4 |
132 | 132 |
133 =item SSL_METHOD *B<SSLv2_client_method>(void); | 133 =item const SSL_METHOD *B<SSLv2_client_method>(void); |
134 | 134 |
135 Constructor for the SSLv2 SSL_METHOD structure for a dedicated client. | 135 Constructor for the SSLv2 SSL_METHOD structure for a dedicated client. |
136 | 136 |
137 =item SSL_METHOD *B<SSLv2_server_method>(void); | 137 =item const SSL_METHOD *B<SSLv2_server_method>(void); |
138 | 138 |
139 Constructor for the SSLv2 SSL_METHOD structure for a dedicated server. | 139 Constructor for the SSLv2 SSL_METHOD structure for a dedicated server. |
140 | 140 |
141 =item SSL_METHOD *B<SSLv2_method>(void); | 141 =item const SSL_METHOD *B<SSLv2_method>(void); |
142 | 142 |
143 Constructor for the SSLv2 SSL_METHOD structure for combined client and server. | 143 Constructor for the SSLv2 SSL_METHOD structure for combined client and server. |
144 | 144 |
145 =item SSL_METHOD *B<SSLv3_client_method>(void); | 145 =item const SSL_METHOD *B<SSLv3_client_method>(void); |
146 | 146 |
147 Constructor for the SSLv3 SSL_METHOD structure for a dedicated client. | 147 Constructor for the SSLv3 SSL_METHOD structure for a dedicated client. |
148 | 148 |
149 =item SSL_METHOD *B<SSLv3_server_method>(void); | 149 =item const SSL_METHOD *B<SSLv3_server_method>(void); |
150 | 150 |
151 Constructor for the SSLv3 SSL_METHOD structure for a dedicated server. | 151 Constructor for the SSLv3 SSL_METHOD structure for a dedicated server. |
152 | 152 |
153 =item SSL_METHOD *B<SSLv3_method>(void); | 153 =item const SSL_METHOD *B<SSLv3_method>(void); |
154 | 154 |
155 Constructor for the SSLv3 SSL_METHOD structure for combined client and server. | 155 Constructor for the SSLv3 SSL_METHOD structure for combined client and server. |
156 | 156 |
157 =item SSL_METHOD *B<TLSv1_client_method>(void); | 157 =item const SSL_METHOD *B<TLSv1_client_method>(void); |
158 | 158 |
159 Constructor for the TLSv1 SSL_METHOD structure for a dedicated client. | 159 Constructor for the TLSv1 SSL_METHOD structure for a dedicated client. |
160 | 160 |
161 =item SSL_METHOD *B<TLSv1_server_method>(void); | 161 =item const SSL_METHOD *B<TLSv1_server_method>(void); |
162 | 162 |
163 Constructor for the TLSv1 SSL_METHOD structure for a dedicated server. | 163 Constructor for the TLSv1 SSL_METHOD structure for a dedicated server. |
164 | 164 |
165 =item SSL_METHOD *B<TLSv1_method>(void); | 165 =item const SSL_METHOD *B<TLSv1_method>(void); |
166 | 166 |
167 Constructor for the TLSv1 SSL_METHOD structure for combined client and server. | 167 Constructor for the TLSv1 SSL_METHOD structure for combined client and server. |
168 | 168 |
169 =back | 169 =back |
170 | 170 |
171 =head2 DEALING WITH CIPHERS | 171 =head2 DEALING WITH CIPHERS |
172 | 172 |
173 Here we document the various API functions which deal with the SSL/TLS | 173 Here we document the various API functions which deal with the SSL/TLS |
174 ciphers defined in B<SSL_CIPHER> structures. | 174 ciphers defined in B<SSL_CIPHER> structures. |
175 | 175 |
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
242 =item long B<SSL_CTX_get_timeout>(const SSL_CTX *ctx); | 242 =item long B<SSL_CTX_get_timeout>(const SSL_CTX *ctx); |
243 | 243 |
244 =item int (*B<SSL_CTX_get_verify_callback>(const SSL_CTX *ctx))(int ok, X509_STO
RE_CTX *ctx); | 244 =item int (*B<SSL_CTX_get_verify_callback>(const SSL_CTX *ctx))(int ok, X509_STO
RE_CTX *ctx); |
245 | 245 |
246 =item int B<SSL_CTX_get_verify_mode>(SSL_CTX *ctx); | 246 =item int B<SSL_CTX_get_verify_mode>(SSL_CTX *ctx); |
247 | 247 |
248 =item int B<SSL_CTX_load_verify_locations>(SSL_CTX *ctx, char *CAfile, char *CAp
ath); | 248 =item int B<SSL_CTX_load_verify_locations>(SSL_CTX *ctx, char *CAfile, char *CAp
ath); |
249 | 249 |
250 =item long B<SSL_CTX_need_tmp_RSA>(SSL_CTX *ctx); | 250 =item long B<SSL_CTX_need_tmp_RSA>(SSL_CTX *ctx); |
251 | 251 |
252 =item SSL_CTX *B<SSL_CTX_new>(SSL_METHOD *meth); | 252 =item SSL_CTX *B<SSL_CTX_new>(const SSL_METHOD *meth); |
253 | 253 |
254 =item int B<SSL_CTX_remove_session>(SSL_CTX *ctx, SSL_SESSION *c); | 254 =item int B<SSL_CTX_remove_session>(SSL_CTX *ctx, SSL_SESSION *c); |
255 | 255 |
256 =item int B<SSL_CTX_sess_accept>(SSL_CTX *ctx); | 256 =item int B<SSL_CTX_sess_accept>(SSL_CTX *ctx); |
257 | 257 |
258 =item int B<SSL_CTX_sess_accept_good>(SSL_CTX *ctx); | 258 =item int B<SSL_CTX_sess_accept_good>(SSL_CTX *ctx); |
259 | 259 |
260 =item int B<SSL_CTX_sess_accept_renegotiate>(SSL_CTX *ctx); | 260 =item int B<SSL_CTX_sess_accept_renegotiate>(SSL_CTX *ctx); |
261 | 261 |
262 =item int B<SSL_CTX_sess_cache_full>(SSL_CTX *ctx); | 262 =item int B<SSL_CTX_sess_cache_full>(SSL_CTX *ctx); |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
320 =item void B<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)); | 320 =item void B<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)); |
321 | 321 |
322 =item void B<SSL_CTX_set_msg_callback_arg>(SSL_CTX *ctx, void *arg); | 322 =item void B<SSL_CTX_set_msg_callback_arg>(SSL_CTX *ctx, void *arg); |
323 | 323 |
324 =item void B<SSL_CTX_set_options>(SSL_CTX *ctx, unsigned long op); | 324 =item void B<SSL_CTX_set_options>(SSL_CTX *ctx, unsigned long op); |
325 | 325 |
326 =item void B<SSL_CTX_set_quiet_shutdown>(SSL_CTX *ctx, int mode); | 326 =item void B<SSL_CTX_set_quiet_shutdown>(SSL_CTX *ctx, int mode); |
327 | 327 |
328 =item void B<SSL_CTX_set_session_cache_mode>(SSL_CTX *ctx, int mode); | 328 =item void B<SSL_CTX_set_session_cache_mode>(SSL_CTX *ctx, int mode); |
329 | 329 |
330 =item int B<SSL_CTX_set_ssl_version>(SSL_CTX *ctx, SSL_METHOD *meth); | 330 =item int B<SSL_CTX_set_ssl_version>(SSL_CTX *ctx, const SSL_METHOD *meth); |
331 | 331 |
332 =item void B<SSL_CTX_set_timeout>(SSL_CTX *ctx, long t); | 332 =item void B<SSL_CTX_set_timeout>(SSL_CTX *ctx, long t); |
333 | 333 |
334 =item long B<SSL_CTX_set_tmp_dh>(SSL_CTX* ctx, DH *dh); | 334 =item long B<SSL_CTX_set_tmp_dh>(SSL_CTX* ctx, DH *dh); |
335 | 335 |
336 =item long B<SSL_CTX_set_tmp_dh_callback>(SSL_CTX *ctx, DH *(*cb)(void)); | 336 =item long B<SSL_CTX_set_tmp_dh_callback>(SSL_CTX *ctx, DH *(*cb)(void)); |
337 | 337 |
338 =item long B<SSL_CTX_set_tmp_rsa>(SSL_CTX *ctx, RSA *rsa); | 338 =item long B<SSL_CTX_set_tmp_rsa>(SSL_CTX *ctx, RSA *rsa); |
339 | 339 |
340 =item SSL_CTX_set_tmp_rsa_callback | 340 =item SSL_CTX_set_tmp_rsa_callback |
(...skipping 26 matching lines...) Expand all Loading... |
367 =item int B<SSL_CTX_use_RSAPrivateKey_ASN1>(SSL_CTX *ctx, unsigned char *d, long
len); | 367 =item int B<SSL_CTX_use_RSAPrivateKey_ASN1>(SSL_CTX *ctx, unsigned char *d, long
len); |
368 | 368 |
369 =item int B<SSL_CTX_use_RSAPrivateKey_file>(SSL_CTX *ctx, char *file, int type); | 369 =item int B<SSL_CTX_use_RSAPrivateKey_file>(SSL_CTX *ctx, char *file, int type); |
370 | 370 |
371 =item int B<SSL_CTX_use_certificate>(SSL_CTX *ctx, X509 *x); | 371 =item int B<SSL_CTX_use_certificate>(SSL_CTX *ctx, X509 *x); |
372 | 372 |
373 =item int B<SSL_CTX_use_certificate_ASN1>(SSL_CTX *ctx, int len, unsigned char *
d); | 373 =item int B<SSL_CTX_use_certificate_ASN1>(SSL_CTX *ctx, int len, unsigned char *
d); |
374 | 374 |
375 =item int B<SSL_CTX_use_certificate_file>(SSL_CTX *ctx, char *file, int type); | 375 =item int B<SSL_CTX_use_certificate_file>(SSL_CTX *ctx, char *file, int type); |
376 | 376 |
| 377 =item void B<SSL_CTX_set_psk_client_callback>(SSL_CTX *ctx, unsigned int (*callb
ack)(SSL *ssl, const char *hint, char *identity, unsigned int max_identity_len,
unsigned char *psk, unsigned int max_psk_len)); |
| 378 |
| 379 =item int B<SSL_CTX_use_psk_identity_hint>(SSL_CTX *ctx, const char *hint); |
| 380 |
| 381 =item void B<SSL_CTX_set_psk_server_callback>(SSL_CTX *ctx, unsigned int (*callb
ack)(SSL *ssl, const char *identity, unsigned char *psk, int max_psk_len)); |
| 382 |
| 383 |
| 384 |
| 385 |
377 =back | 386 =back |
378 | 387 |
379 =head2 DEALING WITH SESSIONS | 388 =head2 DEALING WITH SESSIONS |
380 | 389 |
381 Here we document the various API functions which deal with the SSL/TLS | 390 Here we document the various API functions which deal with the SSL/TLS |
382 sessions defined in the B<SSL_SESSION> structures. | 391 sessions defined in the B<SSL_SESSION> structures. |
383 | 392 |
384 =over 4 | 393 =over 4 |
385 | 394 |
386 =item int B<SSL_SESSION_cmp>(const SSL_SESSION *a, const SSL_SESSION *b); | 395 =item int B<SSL_SESSION_cmp>(const SSL_SESSION *a, const SSL_SESSION *b); |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
505 =item BIO *B<SSL_get_rbio>(const SSL *ssl); | 514 =item BIO *B<SSL_get_rbio>(const SSL *ssl); |
506 | 515 |
507 =item int B<SSL_get_read_ahead>(const SSL *ssl); | 516 =item int B<SSL_get_read_ahead>(const SSL *ssl); |
508 | 517 |
509 =item SSL_SESSION *B<SSL_get_session>(const SSL *ssl); | 518 =item SSL_SESSION *B<SSL_get_session>(const SSL *ssl); |
510 | 519 |
511 =item char *B<SSL_get_shared_ciphers>(const SSL *ssl, char *buf, int len); | 520 =item char *B<SSL_get_shared_ciphers>(const SSL *ssl, char *buf, int len); |
512 | 521 |
513 =item int B<SSL_get_shutdown>(const SSL *ssl); | 522 =item int B<SSL_get_shutdown>(const SSL *ssl); |
514 | 523 |
515 =item SSL_METHOD *B<SSL_get_ssl_method>(SSL *ssl); | 524 =item const SSL_METHOD *B<SSL_get_ssl_method>(SSL *ssl); |
516 | 525 |
517 =item int B<SSL_get_state>(const SSL *ssl); | 526 =item int B<SSL_get_state>(const SSL *ssl); |
518 | 527 |
519 =item long B<SSL_get_time>(const SSL *ssl); | 528 =item long B<SSL_get_time>(const SSL *ssl); |
520 | 529 |
521 =item long B<SSL_get_timeout>(const SSL *ssl); | 530 =item long B<SSL_get_timeout>(const SSL *ssl); |
522 | 531 |
523 =item int (*B<SSL_get_verify_callback>(const SSL *ssl))(int,X509_STORE_CTX *) | 532 =item int (*B<SSL_get_verify_callback>(const SSL *ssl))(int,X509_STORE_CTX *) |
524 | 533 |
525 =item int B<SSL_get_verify_mode>(const SSL *ssl); | 534 =item int B<SSL_get_verify_mode>(const SSL *ssl); |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
589 =item void B<SSL_set_quiet_shutdown>(SSL *ssl, int mode); | 598 =item void B<SSL_set_quiet_shutdown>(SSL *ssl, int mode); |
590 | 599 |
591 =item void B<SSL_set_read_ahead>(SSL *ssl, int yes); | 600 =item void B<SSL_set_read_ahead>(SSL *ssl, int yes); |
592 | 601 |
593 =item int B<SSL_set_rfd>(SSL *ssl, int fd); | 602 =item int B<SSL_set_rfd>(SSL *ssl, int fd); |
594 | 603 |
595 =item int B<SSL_set_session>(SSL *ssl, SSL_SESSION *session); | 604 =item int B<SSL_set_session>(SSL *ssl, SSL_SESSION *session); |
596 | 605 |
597 =item void B<SSL_set_shutdown>(SSL *ssl, int mode); | 606 =item void B<SSL_set_shutdown>(SSL *ssl, int mode); |
598 | 607 |
599 =item int B<SSL_set_ssl_method>(SSL *ssl, SSL_METHOD *meth); | 608 =item int B<SSL_set_ssl_method>(SSL *ssl, const SSL_METHOD *meth); |
600 | 609 |
601 =item void B<SSL_set_time>(SSL *ssl, long t); | 610 =item void B<SSL_set_time>(SSL *ssl, long t); |
602 | 611 |
603 =item void B<SSL_set_timeout>(SSL *ssl, long t); | 612 =item void B<SSL_set_timeout>(SSL *ssl, long t); |
604 | 613 |
605 =item void B<SSL_set_verify>(SSL *ssl, int mode, int (*callback);(void)) | 614 =item void B<SSL_set_verify>(SSL *ssl, int mode, int (*callback);(void)) |
606 | 615 |
607 =item void B<SSL_set_verify_result>(SSL *ssl, long arg); | 616 =item void B<SSL_set_verify_result>(SSL *ssl, long arg); |
608 | 617 |
609 =item int B<SSL_set_wfd>(SSL *ssl, int fd); | 618 =item int B<SSL_set_wfd>(SSL *ssl, int fd); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
643 =item int B<SSL_want_nothing>(const SSL *ssl); | 652 =item int B<SSL_want_nothing>(const SSL *ssl); |
644 | 653 |
645 =item int B<SSL_want_read>(const SSL *ssl); | 654 =item int B<SSL_want_read>(const SSL *ssl); |
646 | 655 |
647 =item int B<SSL_want_write>(const SSL *ssl); | 656 =item int B<SSL_want_write>(const SSL *ssl); |
648 | 657 |
649 =item int B<SSL_want_x509_lookup>(const SSL *ssl); | 658 =item int B<SSL_want_x509_lookup>(const SSL *ssl); |
650 | 659 |
651 =item int B<SSL_write>(SSL *ssl, const void *buf, int num); | 660 =item int B<SSL_write>(SSL *ssl, const void *buf, int num); |
652 | 661 |
| 662 =item void B<SSL_set_psk_client_callback>(SSL *ssl, unsigned int (*callback)(SSL
*ssl, const char *hint, char *identity, unsigned int max_identity_len, unsigned
char *psk, unsigned int max_psk_len)); |
| 663 |
| 664 =item int B<SSL_use_psk_identity_hint>(SSL *ssl, const char *hint); |
| 665 |
| 666 =item void B<SSL_set_psk_server_callback>(SSL *ssl, unsigned int (*callback)(SSL
*ssl, const char *identity, unsigned char *psk, int max_psk_len)); |
| 667 |
| 668 =item const char *B<SSL_get_psk_identity_hint>(SSL *ssl); |
| 669 |
| 670 =item const char *B<SSL_get_psk_identity>(SSL *ssl); |
| 671 |
653 =back | 672 =back |
654 | 673 |
655 =head1 SEE ALSO | 674 =head1 SEE ALSO |
656 | 675 |
657 L<openssl(1)|openssl(1)>, L<crypto(3)|crypto(3)>, | 676 L<openssl(1)|openssl(1)>, L<crypto(3)|crypto(3)>, |
658 L<SSL_accept(3)|SSL_accept(3)>, L<SSL_clear(3)|SSL_clear(3)>, | 677 L<SSL_accept(3)|SSL_accept(3)>, L<SSL_clear(3)|SSL_clear(3)>, |
659 L<SSL_connect(3)|SSL_connect(3)>, | 678 L<SSL_connect(3)|SSL_connect(3)>, |
660 L<SSL_CIPHER_get_name(3)|SSL_CIPHER_get_name(3)>, | 679 L<SSL_CIPHER_get_name(3)|SSL_CIPHER_get_name(3)>, |
661 L<SSL_COMP_add_compression_method(3)|SSL_COMP_add_compression_method(3)>, | 680 L<SSL_COMP_add_compression_method(3)|SSL_COMP_add_compression_method(3)>, |
662 L<SSL_CTX_add_extra_chain_cert(3)|SSL_CTX_add_extra_chain_cert(3)>, | 681 L<SSL_CTX_add_extra_chain_cert(3)|SSL_CTX_add_extra_chain_cert(3)>, |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
719 L<SSL_set_fd(3)|SSL_set_fd(3)>, | 738 L<SSL_set_fd(3)|SSL_set_fd(3)>, |
720 L<SSL_set_session(3)|SSL_set_session(3)>, | 739 L<SSL_set_session(3)|SSL_set_session(3)>, |
721 L<SSL_set_shutdown(3)|SSL_set_shutdown(3)>, | 740 L<SSL_set_shutdown(3)|SSL_set_shutdown(3)>, |
722 L<SSL_shutdown(3)|SSL_shutdown(3)>, | 741 L<SSL_shutdown(3)|SSL_shutdown(3)>, |
723 L<SSL_state_string(3)|SSL_state_string(3)>, | 742 L<SSL_state_string(3)|SSL_state_string(3)>, |
724 L<SSL_want(3)|SSL_want(3)>, | 743 L<SSL_want(3)|SSL_want(3)>, |
725 L<SSL_write(3)|SSL_write(3)>, | 744 L<SSL_write(3)|SSL_write(3)>, |
726 L<SSL_SESSION_free(3)|SSL_SESSION_free(3)>, | 745 L<SSL_SESSION_free(3)|SSL_SESSION_free(3)>, |
727 L<SSL_SESSION_get_ex_new_index(3)|SSL_SESSION_get_ex_new_index(3)>, | 746 L<SSL_SESSION_get_ex_new_index(3)|SSL_SESSION_get_ex_new_index(3)>, |
728 L<SSL_SESSION_get_time(3)|SSL_SESSION_get_time(3)>, | 747 L<SSL_SESSION_get_time(3)|SSL_SESSION_get_time(3)>, |
729 L<d2i_SSL_SESSION(3)|d2i_SSL_SESSION(3)> | 748 L<d2i_SSL_SESSION(3)|d2i_SSL_SESSION(3)>, |
| 749 L<SSL_CTX_set_psk_client_callback(3)|SSL_CTX_set_psk_client_callback(3)>, |
| 750 L<SSL_CTX_use_psk_identity_hint(3)|SSL_CTX_use_psk_identity_hint(3)>, |
| 751 L<SSL_get_psk_identity(3)|SSL_get_psk_identity(3)> |
730 | 752 |
731 =head1 HISTORY | 753 =head1 HISTORY |
732 | 754 |
733 The L<ssl(3)|ssl(3)> document appeared in OpenSSL 0.9.2 | 755 The L<ssl(3)|ssl(3)> document appeared in OpenSSL 0.9.2 |
734 | 756 |
735 =cut | 757 =cut |
736 | 758 |
OLD | NEW |