METADATA 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. Metadata-Version: 2.1
  2. Name: pyOpenSSL
  3. Version: 23.0.0
  4. Summary: Python wrapper module around the OpenSSL library
  5. Home-page: https://pyopenssl.org/
  6. Author: The pyOpenSSL developers
  7. Author-email: cryptography-dev@python.org
  8. License: Apache License, Version 2.0
  9. Project-URL: Source, https://github.com/pyca/pyopenssl
  10. Classifier: Development Status :: 6 - Mature
  11. Classifier: Intended Audience :: Developers
  12. Classifier: License :: OSI Approved :: Apache Software License
  13. Classifier: Operating System :: MacOS :: MacOS X
  14. Classifier: Operating System :: Microsoft :: Windows
  15. Classifier: Operating System :: POSIX
  16. Classifier: Programming Language :: Python :: 3
  17. Classifier: Programming Language :: Python :: 3.6
  18. Classifier: Programming Language :: Python :: 3.7
  19. Classifier: Programming Language :: Python :: 3.8
  20. Classifier: Programming Language :: Python :: 3.9
  21. Classifier: Programming Language :: Python :: 3.10
  22. Classifier: Programming Language :: Python :: 3.11
  23. Classifier: Programming Language :: Python :: Implementation :: CPython
  24. Classifier: Programming Language :: Python :: Implementation :: PyPy
  25. Classifier: Topic :: Security :: Cryptography
  26. Classifier: Topic :: Software Development :: Libraries :: Python Modules
  27. Classifier: Topic :: System :: Networking
  28. Requires-Python: >=3.6
  29. License-File: LICENSE
  30. Requires-Dist: cryptography (<40,>=38.0.0)
  31. Provides-Extra: docs
  32. Requires-Dist: sphinx (!=5.2.0,!=5.2.0.post0) ; extra == 'docs'
  33. Requires-Dist: sphinx-rtd-theme ; extra == 'docs'
  34. Provides-Extra: test
  35. Requires-Dist: flaky ; extra == 'test'
  36. Requires-Dist: pretend ; extra == 'test'
  37. Requires-Dist: pytest (>=3.0.1) ; extra == 'test'
  38. ========================================================
  39. pyOpenSSL -- A Python wrapper around the OpenSSL library
  40. ========================================================
  41. .. image:: https://readthedocs.org/projects/pyopenssl/badge/?version=stable
  42. :target: https://pyopenssl.org/en/stable/
  43. :alt: Stable Docs
  44. .. image:: https://github.com/pyca/pyopenssl/workflows/CI/badge.svg?branch=main
  45. :target: https://github.com/pyca/pyopenssl/actions?query=workflow%3ACI+branch%3Amain
  46. .. image:: https://codecov.io/github/pyca/pyopenssl/branch/main/graph/badge.svg
  47. :target: https://codecov.io/github/pyca/pyopenssl
  48. :alt: Test coverage
  49. **Note:** The Python Cryptographic Authority **strongly suggests** the use of `pyca/cryptography`_
  50. where possible. If you are using pyOpenSSL for anything other than making a TLS connection
  51. **you should move to cryptography and drop your pyOpenSSL dependency**.
  52. High-level wrapper around a subset of the OpenSSL library. Includes
  53. * ``SSL.Connection`` objects, wrapping the methods of Python's portable sockets
  54. * Callbacks written in Python
  55. * Extensive error-handling mechanism, mirroring OpenSSL's error codes
  56. ... and much more.
  57. You can find more information in the documentation_.
  58. Development takes place on GitHub_.
  59. Discussion
  60. ==========
  61. If you run into bugs, you can file them in our `issue tracker`_.
  62. We maintain a cryptography-dev_ mailing list for both user and development discussions.
  63. You can also join ``#pyca`` on ``irc.libera.chat`` to ask questions or get involved.
  64. .. _documentation: https://pyopenssl.org/
  65. .. _`issue tracker`: https://github.com/pyca/pyopenssl/issues
  66. .. _cryptography-dev: https://mail.python.org/mailman/listinfo/cryptography-dev
  67. .. _GitHub: https://github.com/pyca/pyopenssl
  68. .. _`pyca/cryptography`: https://github.com/pyca/cryptography
  69. Release Information
  70. ===================
  71. 23.0.0 (2023-01-01)
  72. -------------------
  73. Backward-incompatible changes:
  74. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  75. Deprecations:
  76. ^^^^^^^^^^^^^
  77. Changes:
  78. ^^^^^^^^
  79. - Add ``OpenSSL.SSL.X509StoreFlags.PARTIAL_CHAIN`` constant to allow for users
  80. to perform certificate verification on partial certificate chains.
  81. `#1166 <https://github.com/pyca/pyopenssl/pull/1166>`_
  82. - ``cryptography`` maximum version has been increased to 39.0.x.
  83. 22.1.0 (2022-09-25)
  84. -------------------
  85. Backward-incompatible changes:
  86. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  87. - Remove support for SSLv2 and SSLv3.
  88. - The minimum ``cryptography`` version is now 38.0.x (and we now pin releases
  89. against ``cryptography`` major versions to prevent future breakage)
  90. - The ``OpenSSL.crypto.X509StoreContextError`` exception has been refactored,
  91. changing its internal attributes.
  92. `#1133 <https://github.com/pyca/pyopenssl/pull/1133>`_
  93. Deprecations:
  94. ^^^^^^^^^^^^^
  95. - ``OpenSSL.SSL.SSLeay_version`` is deprecated in favor of
  96. ``OpenSSL.SSL.OpenSSL_version``. The constants ``OpenSSL.SSL.SSLEAY_*`` are
  97. deprecated in favor of ``OpenSSL.SSL.OPENSSL_*``.
  98. Changes:
  99. ^^^^^^^^
  100. - Add ``OpenSSL.SSL.Connection.set_verify`` and ``OpenSSL.SSL.Connection.get_verify_mode``
  101. to override the context object's verification flags.
  102. `#1073 <https://github.com/pyca/pyopenssl/pull/1073>`_
  103. - Add ``OpenSSL.SSL.Connection.use_certificate`` and ``OpenSSL.SSL.Connection.use_privatekey``
  104. to set a certificate per connection (and not just per context) `#1121 <https://github.com/pyca/pyopenssl/pull/1121>`_.
  105. 22.0.0 (2022-01-29)
  106. -------------------
  107. Backward-incompatible changes:
  108. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  109. - Drop support for Python 2.7.
  110. `#1047 <https://github.com/pyca/pyopenssl/pull/1047>`_
  111. - The minimum ``cryptography`` version is now 35.0.
  112. Deprecations:
  113. ^^^^^^^^^^^^^
  114. Changes:
  115. ^^^^^^^^
  116. - Expose wrappers for some `DTLS
  117. <https://en.wikipedia.org/wiki/Datagram_Transport_Layer_Security>`_
  118. primitives. `#1026 <https://github.com/pyca/pyopenssl/pull/1026>`_
  119. 21.0.0 (2021-09-28)
  120. -------------------
  121. Backward-incompatible changes:
  122. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  123. - The minimum ``cryptography`` version is now 3.3.
  124. - Drop support for Python 3.5
  125. Deprecations:
  126. ^^^^^^^^^^^^^
  127. Changes:
  128. ^^^^^^^^
  129. - Raise an error when an invalid ALPN value is set.
  130. `#993 <https://github.com/pyca/pyopenssl/pull/993>`_
  131. - Added ``OpenSSL.SSL.Context.set_min_proto_version`` and ``OpenSSL.SSL.Context.set_max_proto_version``
  132. to set the minimum and maximum supported TLS version `#985 <https://github.com/pyca/pyopenssl/pull/985>`_.
  133. - Updated ``to_cryptography`` and ``from_cryptography`` methods to support an upcoming release of ``cryptography`` without raising deprecation warnings.
  134. `#1030 <https://github.com/pyca/pyopenssl/pull/1030>`_
  135. 20.0.1 (2020-12-15)
  136. -------------------
  137. Backward-incompatible changes:
  138. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  139. Deprecations:
  140. ^^^^^^^^^^^^^
  141. Changes:
  142. ^^^^^^^^
  143. - Fixed compatibility with OpenSSL 1.1.0.
  144. 20.0.0 (2020-11-27)
  145. -------------------
  146. Backward-incompatible changes:
  147. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  148. - The minimum ``cryptography`` version is now 3.2.
  149. - Remove deprecated ``OpenSSL.tsafe`` module.
  150. - Removed deprecated ``OpenSSL.SSL.Context.set_npn_advertise_callback``, ``OpenSSL.SSL.Context.set_npn_select_callback``, and ``OpenSSL.SSL.Connection.get_next_proto_negotiated``.
  151. - Drop support for Python 3.4
  152. - Drop support for OpenSSL 1.0.1 and 1.0.2
  153. Deprecations:
  154. ^^^^^^^^^^^^^
  155. - Deprecated ``OpenSSL.crypto.loads_pkcs7`` and ``OpenSSL.crypto.loads_pkcs12``.
  156. Changes:
  157. ^^^^^^^^
  158. - Added a new optional ``chain`` parameter to ``OpenSSL.crypto.X509StoreContext()``
  159. where additional untrusted certificates can be specified to help chain building.
  160. `#948 <https://github.com/pyca/pyopenssl/pull/948>`_
  161. - Added ``OpenSSL.crypto.X509Store.load_locations`` to set trusted
  162. certificate file bundles and/or directories for verification.
  163. `#943 <https://github.com/pyca/pyopenssl/pull/943>`_
  164. - Added ``Context.set_keylog_callback`` to log key material.
  165. `#910 <https://github.com/pyca/pyopenssl/pull/910>`_
  166. - Added ``OpenSSL.SSL.Connection.get_verified_chain`` to retrieve the
  167. verified certificate chain of the peer.
  168. `#894 <https://github.com/pyca/pyopenssl/pull/894>`_.
  169. - Make verification callback optional in ``Context.set_verify``.
  170. If omitted, OpenSSL's default verification is used.
  171. `#933 <https://github.com/pyca/pyopenssl/pull/933>`_
  172. - Fixed a bug that could truncate or cause a zero-length key error due to a
  173. null byte in private key passphrase in ``OpenSSL.crypto.load_privatekey``
  174. and ``OpenSSL.crypto.dump_privatekey``.
  175. `#947 <https://github.com/pyca/pyopenssl/pull/947>`_
  176. 19.1.0 (2019-11-18)
  177. -------------------
  178. Backward-incompatible changes:
  179. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  180. - Removed deprecated ``ContextType``, ``ConnectionType``, ``PKeyType``, ``X509NameType``, ``X509ReqType``, ``X509Type``, ``X509StoreType``, ``CRLType``, ``PKCS7Type``, ``PKCS12Type``, and ``NetscapeSPKIType`` aliases.
  181. Use the classes without the ``Type`` suffix instead.
  182. `#814 <https://github.com/pyca/pyopenssl/pull/814>`_
  183. - The minimum ``cryptography`` version is now 2.8 due to issues on macOS with a transitive dependency.
  184. `#875 <https://github.com/pyca/pyopenssl/pull/875>`_
  185. Deprecations:
  186. ^^^^^^^^^^^^^
  187. - Deprecated ``OpenSSL.SSL.Context.set_npn_advertise_callback``, ``OpenSSL.SSL.Context.set_npn_select_callback``, and ``OpenSSL.SSL.Connection.get_next_proto_negotiated``.
  188. ALPN should be used instead.
  189. `#820 <https://github.com/pyca/pyopenssl/pull/820>`_
  190. Changes:
  191. ^^^^^^^^
  192. - Support ``bytearray`` in ``SSL.Connection.send()`` by using cffi's from_buffer.
  193. `#852 <https://github.com/pyca/pyopenssl/pull/852>`_
  194. - The ``OpenSSL.SSL.Context.set_alpn_select_callback`` can return a new ``NO_OVERLAPPING_PROTOCOLS`` sentinel value
  195. to allow a TLS handshake to complete without an application protocol.
  196. `Full changelog <https://pyopenssl.org/en/stable/changelog.html>`_.