X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=doc%2Fssl%2Fssl.pod;h=c8c577d83e4a0cb9153ff34b4684559a117a228b;hp=266697d2216416f7e2bb7c02dfd5a1dadc9c8e25;hb=35bf6e05371de3aebd83dc630125a108ec4a5e70;hpb=c3e6402857a60f61cac60d56793e8a8b79cebe90 diff --git a/doc/ssl/ssl.pod b/doc/ssl/ssl.pod index 266697d221..c8c577d83e 100644 --- a/doc/ssl/ssl.pod +++ b/doc/ssl/ssl.pod @@ -14,25 +14,25 @@ Transport Layer Security (TLS v1) protocols. It provides a rich API which is documented here. At first the library must be initialized; see -L. +L. Then an B object is created as a framework to establish -TLS/SSL enabled connections (see L). +TLS/SSL enabled connections (see L). Various options regarding certificates, algorithms etc. can be set in this object. When a network connection has been created, it can be assigned to an B object. After the B object has been created using -L, L or -L can be used to associate the network +L, L or +L can be used to associate the network connection with the object. Then the TLS/SSL handshake is performed using -L or L +L or L respectively. -L and L are used +L and L are used to read and write data on the TLS/SSL connection. -L can be used to shut down the +L can be used to shut down the TLS/SSL connection. =head1 DATA STRUCTURES @@ -45,8 +45,8 @@ structures: =item B (SSL Method) That's a dispatch structure describing the internal B library -methods/functions which implement the various protocol versions (SSLv1, SSLv2 -and TLSv1). It's needed to create an B. +methods/functions which implement the various protocol versions (SSLv3 +TLSv1, ...). It's needed to create an B. =item B (SSL Cipher) @@ -103,13 +103,6 @@ That's the sub header file dealing with the SSLv3 protocol only. I. -=item B - -That's the sub header file dealing with the combined use of the SSLv2 and -SSLv3 protocols. -I. - =item B That's the sub header file dealing with the TLSv1 protocol only. @@ -130,39 +123,27 @@ protocol methods defined in B structures. =over 4 -=item SSL_METHOD *B(void); - -Constructor for the SSLv2 SSL_METHOD structure for a dedicated client. - -=item SSL_METHOD *B(void); - -Constructor for the SSLv2 SSL_METHOD structure for a dedicated server. - -=item SSL_METHOD *B(void); - -Constructor for the SSLv2 SSL_METHOD structure for combined client and server. - -=item SSL_METHOD *B(void); +=item const SSL_METHOD *B(void); Constructor for the SSLv3 SSL_METHOD structure for a dedicated client. -=item SSL_METHOD *B(void); +=item const SSL_METHOD *B(void); Constructor for the SSLv3 SSL_METHOD structure for a dedicated server. -=item SSL_METHOD *B(void); +=item const SSL_METHOD *B(void); Constructor for the SSLv3 SSL_METHOD structure for combined client and server. -=item SSL_METHOD *B(void); +=item const SSL_METHOD *B(void); Constructor for the TLSv1 SSL_METHOD structure for a dedicated client. -=item SSL_METHOD *B(void); +=item const SSL_METHOD *B(void); Constructor for the TLSv1 SSL_METHOD structure for a dedicated server. -=item SSL_METHOD *B(void); +=item const SSL_METHOD *B(void); Constructor for the TLSv1 SSL_METHOD structure for combined client and server. @@ -189,7 +170,7 @@ I) and the bits which are actually used (the return value). =item const char *B(SSL_CIPHER *cipher); Return the internal name of I as a string. These are the various -strings defined by the I, I and I +strings defined by the I and I definitions in the header files. =item char *B(SSL_CIPHER *cipher); @@ -229,6 +210,8 @@ protocol context defined in the B structure. =item int (*B(SSL_CTX *ctx))(SSL *ssl, X509 **x509, EVP_PKEY **pkey); +=item void B(SSL_CTX *ctx); + =item char *B(const SSL_CTX *s, int idx); =item int B(long argl, char *argp, int (*new_func);(void), int (*dup_func)(void), void (*free_func)(void)) @@ -237,6 +220,8 @@ protocol context defined in the B structure. =item int B(const SSL_CTX *ctx); +=item void B(SSL_CTX *ctx); + =item int B(SSL_CTX *ctx); =item long B(const SSL_CTX *ctx); @@ -249,7 +234,7 @@ protocol context defined in the B structure. =item long B(SSL_CTX *ctx); -=item SSL_CTX *B(SSL_METHOD *meth); +=item SSL_CTX *B(const SSL_METHOD *meth); =item int B(SSL_CTX *ctx, SSL_SESSION *c); @@ -313,6 +298,17 @@ protocol context defined in the B structure. =item int B(SSL_CTX *ctx); +Use the default paths to locate trusted CA certificates. There is one default +directory path and one default file path. Both are set via this call. + +=item int B(SSL_CTX *ctx) + +Use the default directory path to locate trusted CA certficates. + +=item int B(SSL_CTX *ctx) + +Use the file path to locate trusted CA certficates. + =item int B(SSL_CTX *s, int idx, char *arg); =item void B(SSL_CTX *ctx, void (*cb)(SSL *ssl, int cb, int ret)); @@ -325,9 +321,11 @@ protocol context defined in the B structure. =item void B(SSL_CTX *ctx, int mode); +=item void B(SSL_CTX *ctx, int m); + =item void B(SSL_CTX *ctx, int mode); -=item int B(SSL_CTX *ctx, SSL_METHOD *meth); +=item int B(SSL_CTX *ctx, const SSL_METHOD *meth); =item void B(SSL_CTX *ctx, long t); @@ -374,6 +372,19 @@ session instead of a context. =item int B(SSL_CTX *ctx, char *file, int type); +=item X509 *B(const SSL_CTX *ctx); + +=item EVP_PKEY *B(const SSL_CTX *ctx); + +=item void B(SSL_CTX *ctx, unsigned int (*callback)(SSL *ssl, const char *hint, char *identity, unsigned int max_identity_len, unsigned char *psk, unsigned int max_psk_len)); + +=item int B(SSL_CTX *ctx, const char *hint); + +=item void B(SSL_CTX *ctx, unsigned int (*callback)(SSL *ssl, const char *identity, unsigned char *psk, int max_psk_len)); + + + + =back =head2 DEALING WITH SESSIONS @@ -446,7 +457,10 @@ connection defined in the B structure. =item int B(SSL *ssl); -=item void B(SSL *t, const SSL *f); +=item int B(SSL *t, const SSL *f); + +Sets the session details for B to be the same as in B. Returns 1 on +success or 0 on failure. =item long B(SSL *ssl, int cmd, long larg, char *parg); @@ -498,7 +512,7 @@ connection defined in the B structure. =item X509 *B(const SSL *ssl); -=item EVP_PKEY *B(SSL *ssl); +=item EVP_PKEY *B(const SSL *ssl); =item int B(const SSL *ssl); @@ -512,7 +526,7 @@ connection defined in the B structure. =item int B(const SSL *ssl); -=item SSL_METHOD *B(SSL *ssl); +=item const SSL_METHOD *B(SSL *ssl); =item int B(const SSL *ssl); @@ -596,7 +610,7 @@ connection defined in the B structure. =item void B(SSL *ssl, int mode); -=item int B(SSL *ssl, SSL_METHOD *meth); +=item int B(SSL *ssl, const SSL_METHOD *meth); =item void B(SSL *ssl, long t); @@ -610,7 +624,9 @@ connection defined in the B structure. =item int B(SSL *ssl); -=item int B(const SSL *ssl); +=item OSSL_HANDSHAKE_STATE B(const SSL *ssl); + +Returns the current handshake state. =item char *B(const SSL *ssl); @@ -650,87 +666,106 @@ connection defined in the B structure. =item int B(SSL *ssl, const void *buf, int num); +=item void B(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)); + +=item int B(SSL *ssl, const char *hint); + +=item void B(SSL *ssl, unsigned int (*callback)(SSL *ssl, const char *identity, unsigned char *psk, int max_psk_len)); + +=item const char *B(SSL *ssl); + +=item const char *B(SSL *ssl); + =back =head1 SEE ALSO -L, L, -L, L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L, -L +L, L, +L, L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L, +L =head1 HISTORY -The L document appeared in OpenSSL 0.9.2 +B, B and B where removed +in OpenSSL 1.1.0. + +The return type of B was changed from void to int in +OpenSSL 1.1.0. =cut