SSL_CTX_set_ssl_version.pod 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. =pod
  2. =head1 NAME
  3. SSL_CTX_set_ssl_version, SSL_set_ssl_method, SSL_get_ssl_method
  4. - choose a new TLS/SSL method
  5. =head1 SYNOPSIS
  6. #include <openssl/ssl.h>
  7. int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *method);
  8. int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method);
  9. const SSL_METHOD *SSL_get_ssl_method(const SSL *ssl);
  10. =head1 DESCRIPTION
  11. SSL_CTX_set_ssl_version() sets a new default TLS/SSL B<method> for SSL objects
  12. newly created from this B<ctx>. Most of the configuration attached to the
  13. SSL_CTX object is retained, with the exception of the configured TLS ciphers,
  14. which are reset to the default values. SSL objects already created from this
  15. SSL_CTX with L<SSL_new(3)> are not affected, except when L<SSL_clear(3)> is
  16. being called, as described below.
  17. SSL_set_ssl_method() sets a new TLS/SSL B<method> for a particular B<ssl>
  18. object. It may be reset, when SSL_clear() is called.
  19. SSL_get_ssl_method() returns a function pointer to the TLS/SSL method
  20. set in B<ssl>.
  21. =head1 NOTES
  22. The available B<method> choices are described in
  23. L<SSL_CTX_new(3)>.
  24. When L<SSL_clear(3)> is called and no session is connected to
  25. an SSL object, the method of the SSL object is reset to the method currently
  26. set in the corresponding SSL_CTX object.
  27. SSL_CTX_set_version() has unusual semantics and no clear use case;
  28. it would usually be preferable to create a new SSL_CTX object than to
  29. try to reuse an existing one in this fashion. Its usage is considered
  30. deprecated.
  31. =head1 RETURN VALUES
  32. The following return values can occur for SSL_CTX_set_ssl_version()
  33. and SSL_set_ssl_method():
  34. =over 4
  35. =item Z<>0
  36. The new choice failed, check the error stack to find out the reason.
  37. =item Z<>1
  38. The operation succeeded.
  39. =back
  40. =head1 SEE ALSO
  41. L<SSL_CTX_new(3)>, L<SSL_new(3)>,
  42. L<SSL_clear(3)>, L<ssl(7)>,
  43. L<SSL_set_connect_state(3)>
  44. =head1 HISTORY
  45. SSL_CTX_set_ssl_version() was deprecated in OpenSSL 3.0.
  46. =head1 COPYRIGHT
  47. Copyright 2000-2020 The OpenSSL Project Authors. All Rights Reserved.
  48. Licensed under the Apache License 2.0 (the "License"). You may not use
  49. this file except in compliance with the License. You can obtain a copy
  50. in the file LICENSE in the source distribution or at
  51. L<https://www.openssl.org/source/license.html>.
  52. =cut