cryptography 40.0.2__tar.gz → 41.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. {cryptography-40.0.2 → cryptography-41.0.1}/CHANGELOG.rst +56 -27
  2. {cryptography-40.0.2 → cryptography-41.0.1}/LICENSE +0 -3
  3. {cryptography-40.0.2 → cryptography-41.0.1}/MANIFEST.in +3 -2
  4. {cryptography-40.0.2/src/cryptography.egg-info → cryptography-41.0.1}/PKG-INFO +12 -15
  5. {cryptography-40.0.2 → cryptography-41.0.1}/README.rst +1 -1
  6. {cryptography-40.0.2 → cryptography-41.0.1}/docs/conf.py +2 -5
  7. cryptography-41.0.1/docs/development/getting-started.rst +66 -0
  8. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/submitting-patches.rst +3 -3
  9. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/test-vectors.rst +27 -3
  10. {cryptography-40.0.2 → cryptography-41.0.1}/docs/doing-a-release.rst +4 -6
  11. {cryptography-40.0.2 → cryptography-41.0.1}/docs/faq.rst +17 -10
  12. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/dh.rst +0 -21
  13. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/dsa.rst +0 -14
  14. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/ec.rst +1 -20
  15. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/rsa.rst +0 -14
  16. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/serialization.rst +13 -13
  17. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/key-derivation-functions.rst +3 -1
  18. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/mac/hmac.rst +1 -1
  19. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/mac/poly1305.rst +1 -1
  20. {cryptography-40.0.2 → cryptography-41.0.1}/docs/installation.rst +13 -14
  21. cryptography-41.0.1/docs/openssl.rst +45 -0
  22. {cryptography-40.0.2 → cryptography-41.0.1}/docs/spelling_wordlist.txt +2 -0
  23. {cryptography-40.0.2 → cryptography-41.0.1}/docs/x509/ocsp.rst +2 -2
  24. {cryptography-40.0.2 → cryptography-41.0.1}/docs/x509/reference.rst +138 -1
  25. cryptography-41.0.1/noxfile.py +271 -0
  26. cryptography-41.0.1/pyproject.toml +154 -0
  27. cryptography-41.0.1/setup.cfg +4 -0
  28. {cryptography-40.0.2 → cryptography-41.0.1}/setup.py +6 -10
  29. cryptography-41.0.1/src/_cffi_src/build_openssl.py +69 -0
  30. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/asn1.py +1 -0
  31. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/bignum.py +1 -4
  32. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/bio.py +1 -0
  33. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/callbacks.py +1 -0
  34. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/cmac.py +1 -0
  35. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/crypto.py +1 -8
  36. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/cryptography.py +5 -22
  37. cryptography-41.0.1/src/_cffi_src/openssl/dh.py +22 -0
  38. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/dsa.py +1 -3
  39. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/ec.py +1 -1
  40. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/ecdsa.py +1 -0
  41. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/engine.py +1 -0
  42. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/err.py +2 -1
  43. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/evp.py +1 -32
  44. cryptography-41.0.1/src/_cffi_src/openssl/evp_aead.py +88 -0
  45. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/fips.py +1 -0
  46. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/nid.py +1 -1
  47. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/objects.py +1 -0
  48. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/opensslv.py +1 -0
  49. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/pem.py +1 -6
  50. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/pkcs12.py +1 -0
  51. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/pkcs7.py +1 -2
  52. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/provider.py +1 -0
  53. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/rand.py +1 -1
  54. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/rsa.py +1 -0
  55. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/ssl.py +1 -4
  56. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/x509.py +1 -0
  57. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/x509_vfy.py +2 -0
  58. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/x509name.py +1 -1
  59. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/x509v3.py +1 -0
  60. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/utils.py +8 -29
  61. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/__about__.py +3 -1
  62. cryptography-41.0.1/src/cryptography/__init__.py +13 -0
  63. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/exceptions.py +4 -16
  64. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/fernet.py +1 -0
  65. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/__init__.py +3 -0
  66. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/_oid.py +6 -0
  67. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/__init__.py +3 -0
  68. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/__init__.py +1 -0
  69. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/aead.py +258 -41
  70. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/backend.py +91 -584
  71. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/ciphers.py +4 -4
  72. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/cmac.py +5 -3
  73. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/decode_asn1.py +1 -0
  74. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/ec.py +20 -9
  75. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/rsa.py +28 -17
  76. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/utils.py +3 -1
  77. cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/exceptions.pyi +17 -0
  78. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/_rust/openssl/__init__.pyi +27 -2
  79. cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/dh.pyi +22 -0
  80. cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/dsa.pyi +20 -0
  81. cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/ed25519.pyi +14 -0
  82. cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/ed448.pyi +14 -0
  83. cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/hashes.pyi +17 -0
  84. cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/hmac.pyi +21 -0
  85. cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/kdf.pyi +22 -0
  86. cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/poly1305.pyi +13 -0
  87. cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/x448.pyi +14 -0
  88. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/_rust/x509.pyi +2 -0
  89. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/openssl/_conditional.py +14 -17
  90. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/openssl/binding.py +2 -31
  91. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/_asymmetric.py +2 -0
  92. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/_cipheralgorithm.py +2 -0
  93. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/_serialization.py +6 -4
  94. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/dh.py +19 -9
  95. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/dsa.py +16 -5
  96. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/ec.py +12 -5
  97. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/ed25519.py +21 -14
  98. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/ed448.py +21 -11
  99. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/padding.py +4 -3
  100. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/rsa.py +12 -5
  101. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/types.py +2 -0
  102. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/utils.py +1 -0
  103. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/x25519.py +10 -3
  104. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/x448.py +21 -11
  105. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/ciphers/__init__.py +1 -0
  106. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/ciphers/aead.py +1 -0
  107. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/ciphers/algorithms.py +1 -0
  108. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/ciphers/base.py +10 -9
  109. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/ciphers/modes.py +1 -0
  110. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/cmac.py +4 -3
  111. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/constant_time.py +1 -0
  112. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/hashes.py +32 -48
  113. cryptography-41.0.1/src/cryptography/hazmat/primitives/hmac.py +13 -0
  114. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/kdf/__init__.py +1 -0
  115. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/kdf/concatkdf.py +1 -0
  116. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/kdf/hkdf.py +1 -0
  117. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/kdf/kbkdf.py +2 -0
  118. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/kdf/pbkdf2.py +5 -6
  119. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/kdf/scrypt.py +10 -3
  120. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/kdf/x963kdf.py +1 -0
  121. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/keywrap.py +1 -0
  122. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/padding.py +1 -0
  123. cryptography-41.0.1/src/cryptography/hazmat/primitives/poly1305.py +11 -0
  124. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/serialization/__init__.py +1 -0
  125. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/serialization/base.py +3 -2
  126. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/serialization/pkcs12.py +2 -0
  127. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/serialization/pkcs7.py +5 -3
  128. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/serialization/ssh.py +97 -34
  129. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/twofactor/__init__.py +2 -0
  130. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/twofactor/hotp.py +2 -1
  131. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/twofactor/totp.py +2 -0
  132. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/utils.py +4 -3
  133. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/x509/__init__.py +5 -0
  134. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/x509/base.py +43 -22
  135. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/x509/certificate_transparency.py +1 -0
  136. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/x509/extensions.py +109 -20
  137. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/x509/general_name.py +4 -5
  138. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/x509/name.py +3 -1
  139. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/x509/ocsp.py +8 -7
  140. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/x509/oid.py +2 -0
  141. {cryptography-40.0.2 → cryptography-41.0.1/src/cryptography.egg-info}/PKG-INFO +12 -15
  142. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography.egg-info/SOURCES.txt +45 -17
  143. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography.egg-info/requires.txt +5 -8
  144. {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/Cargo.lock +90 -341
  145. {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/Cargo.toml +12 -8
  146. cryptography-41.0.1/src/rust/build.rs +20 -0
  147. cryptography-41.0.1/src/rust/cryptography-cffi/Cargo.toml +15 -0
  148. {cryptography-40.0.2/src/rust → cryptography-41.0.1/src/rust/cryptography-cffi}/build.rs +13 -28
  149. cryptography-41.0.1/src/rust/cryptography-cffi/src/lib.rs +31 -0
  150. cryptography-41.0.1/src/rust/cryptography-openssl/Cargo.toml +14 -0
  151. cryptography-41.0.1/src/rust/cryptography-openssl/build.rs +24 -0
  152. cryptography-41.0.1/src/rust/cryptography-openssl/src/fips.rs +32 -0
  153. cryptography-41.0.1/src/rust/cryptography-openssl/src/hmac.rs +93 -0
  154. cryptography-41.0.1/src/rust/cryptography-openssl/src/lib.rs +37 -0
  155. cryptography-41.0.1/src/rust/cryptography-x509/Cargo.toml +11 -0
  156. cryptography-41.0.1/src/rust/cryptography-x509/src/certificate.rs +48 -0
  157. cryptography-41.0.1/src/rust/cryptography-x509/src/common.rs +333 -0
  158. cryptography-41.0.1/src/rust/cryptography-x509/src/crl.rs +73 -0
  159. cryptography-41.0.1/src/rust/cryptography-x509/src/csr.rs +70 -0
  160. cryptography-41.0.1/src/rust/cryptography-x509/src/extensions.rs +255 -0
  161. cryptography-41.0.1/src/rust/cryptography-x509/src/lib.rs +18 -0
  162. cryptography-41.0.1/src/rust/cryptography-x509/src/name.rs +88 -0
  163. cryptography-41.0.1/src/rust/cryptography-x509/src/ocsp_req.rs +50 -0
  164. cryptography-41.0.1/src/rust/cryptography-x509/src/ocsp_resp.rs +91 -0
  165. cryptography-41.0.1/src/rust/cryptography-x509/src/oid.rs +99 -0
  166. cryptography-41.0.1/src/rust/cryptography-x509/src/pkcs7.rs +60 -0
  167. {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/asn1.rs +39 -78
  168. cryptography-41.0.1/src/rust/src/backend/dh.rs +438 -0
  169. cryptography-41.0.1/src/rust/src/backend/dsa.rs +333 -0
  170. cryptography-41.0.1/src/rust/src/backend/ed25519.rs +177 -0
  171. cryptography-41.0.1/src/rust/src/backend/ed448.rs +175 -0
  172. cryptography-41.0.1/src/rust/src/backend/hashes.rs +143 -0
  173. cryptography-41.0.1/src/rust/src/backend/hmac.rs +95 -0
  174. cryptography-41.0.1/src/rust/src/backend/kdf.rs +60 -0
  175. cryptography-41.0.1/src/rust/src/backend/mod.rs +42 -0
  176. cryptography-41.0.1/src/rust/src/backend/poly1305.rs +127 -0
  177. cryptography-41.0.1/src/rust/src/backend/utils.rs +302 -0
  178. cryptography-41.0.1/src/rust/src/backend/x25519.rs +166 -0
  179. cryptography-41.0.1/src/rust/src/backend/x448.rs +165 -0
  180. {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/buf.rs +7 -3
  181. {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/error.rs +18 -27
  182. cryptography-41.0.1/src/rust/src/exceptions.rs +40 -0
  183. {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/lib.rs +10 -35
  184. {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/oid.rs +6 -12
  185. {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/pkcs7.rs +95 -134
  186. {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/pool.rs +2 -2
  187. {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/x509/certificate.rs +253 -344
  188. cryptography-41.0.1/src/rust/src/x509/common.rs +562 -0
  189. {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/x509/crl.rs +192 -262
  190. {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/x509/csr.rs +131 -149
  191. cryptography-41.0.1/src/rust/src/x509/extensions.rs +514 -0
  192. {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/x509/mod.rs +2 -5
  193. cryptography-41.0.1/src/rust/src/x509/ocsp.rs +127 -0
  194. {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/x509/ocsp_req.rs +72 -86
  195. {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/x509/ocsp_resp.rs +287 -325
  196. {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/x509/sct.rs +44 -36
  197. cryptography-41.0.1/src/rust/src/x509/sign.rs +765 -0
  198. cryptography-41.0.1/tests/bench/test_hashes.py +14 -0
  199. cryptography-41.0.1/tests/bench/test_hmac.py +14 -0
  200. {cryptography-40.0.2 → cryptography-41.0.1}/tests/bench/test_x509.py +10 -0
  201. {cryptography-40.0.2 → cryptography-41.0.1}/tests/conftest.py +19 -6
  202. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/backends/test_openssl.py +1 -197
  203. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/backends/test_openssl_memleak.py +1 -2
  204. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/bindings/test_openssl.py +0 -17
  205. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_aes.py +1 -3
  206. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_dh.py +26 -1
  207. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_dsa.py +18 -0
  208. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_ec.py +14 -1
  209. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_ed25519.py +49 -2
  210. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_ed448.py +30 -2
  211. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_hmac.py +5 -0
  212. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_pkcs7.py +1 -1
  213. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_rsa.py +12 -0
  214. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_serialization.py +8 -0
  215. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_ssh.py +44 -1
  216. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_x25519.py +36 -2
  217. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_x448.py +29 -2
  218. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/utils.py +0 -2
  219. {cryptography-40.0.2 → cryptography-41.0.1}/tests/test_fernet.py +4 -5
  220. {cryptography-40.0.2 → cryptography-41.0.1}/tests/utils.py +1 -4
  221. {cryptography-40.0.2 → cryptography-41.0.1}/tests/x509/test_ocsp.py +12 -0
  222. {cryptography-40.0.2 → cryptography-41.0.1}/tests/x509/test_x509.py +412 -9
  223. {cryptography-40.0.2 → cryptography-41.0.1}/tests/x509/test_x509_crlbuilder.py +4 -0
  224. {cryptography-40.0.2 → cryptography-41.0.1}/tests/x509/test_x509_ext.py +150 -0
  225. cryptography-40.0.2/LICENSE.PSF +0 -41
  226. cryptography-40.0.2/docs/development/getting-started.rst +0 -99
  227. cryptography-40.0.2/docs/openssl.rst +0 -123
  228. cryptography-40.0.2/pyproject.toml +0 -76
  229. cryptography-40.0.2/setup.cfg +0 -90
  230. cryptography-40.0.2/src/_cffi_src/build_openssl.py +0 -132
  231. cryptography-40.0.2/src/_cffi_src/openssl/dh.py +0 -42
  232. cryptography-40.0.2/src/_cffi_src/openssl/hmac.py +0 -25
  233. cryptography-40.0.2/src/_cffi_src/openssl/osrandom_engine.py +0 -23
  234. cryptography-40.0.2/src/_cffi_src/openssl/src/osrandom_engine.c +0 -627
  235. cryptography-40.0.2/src/_cffi_src/openssl/src/osrandom_engine.h +0 -116
  236. cryptography-40.0.2/src/cryptography/__init__.py +0 -24
  237. cryptography-40.0.2/src/cryptography/hazmat/backends/openssl/dh.py +0 -317
  238. cryptography-40.0.2/src/cryptography/hazmat/backends/openssl/dsa.py +0 -236
  239. cryptography-40.0.2/src/cryptography/hazmat/backends/openssl/ed25519.py +0 -155
  240. cryptography-40.0.2/src/cryptography/hazmat/backends/openssl/ed448.py +0 -156
  241. cryptography-40.0.2/src/cryptography/hazmat/backends/openssl/hashes.py +0 -86
  242. cryptography-40.0.2/src/cryptography/hazmat/backends/openssl/hmac.py +0 -84
  243. cryptography-40.0.2/src/cryptography/hazmat/backends/openssl/poly1305.py +0 -67
  244. cryptography-40.0.2/src/cryptography/hazmat/backends/openssl/x448.py +0 -117
  245. cryptography-40.0.2/src/cryptography/hazmat/primitives/hmac.py +0 -70
  246. cryptography-40.0.2/src/cryptography/hazmat/primitives/poly1305.py +0 -60
  247. cryptography-40.0.2/src/rust/src/backend/mod.rs +0 -13
  248. cryptography-40.0.2/src/rust/src/backend/x25519.rs +0 -297
  249. cryptography-40.0.2/src/rust/src/intern.rs +0 -44
  250. cryptography-40.0.2/src/rust/src/x509/common.rs +0 -777
  251. cryptography-40.0.2/src/rust/src/x509/extensions.rs +0 -471
  252. cryptography-40.0.2/src/rust/src/x509/ocsp.rs +0 -107
  253. cryptography-40.0.2/src/rust/src/x509/oid.rs +0 -97
  254. cryptography-40.0.2/src/rust/src/x509/sign.rs +0 -520
  255. cryptography-40.0.2/tox.ini +0 -85
  256. {cryptography-40.0.2 → cryptography-41.0.1}/CONTRIBUTING.rst +0 -0
  257. {cryptography-40.0.2 → cryptography-41.0.1}/LICENSE.APACHE +0 -0
  258. {cryptography-40.0.2 → cryptography-41.0.1}/LICENSE.BSD +0 -0
  259. {cryptography-40.0.2 → cryptography-41.0.1}/docs/Makefile +0 -0
  260. {cryptography-40.0.2 → cryptography-41.0.1}/docs/_ext/cryptography-docs.py +0 -0
  261. {cryptography-40.0.2 → cryptography-41.0.1}/docs/_ext/linkcode_res.py +0 -0
  262. {cryptography-40.0.2 → cryptography-41.0.1}/docs/_static/.keep +0 -0
  263. {cryptography-40.0.2 → cryptography-41.0.1}/docs/api-stability.rst +0 -0
  264. {cryptography-40.0.2 → cryptography-41.0.1}/docs/changelog.rst +0 -0
  265. {cryptography-40.0.2 → cryptography-41.0.1}/docs/community.rst +0 -0
  266. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/c-bindings.rst +0 -0
  267. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/arc4/generate_arc4.py +0 -0
  268. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/arc4/verify_arc4.go +0 -0
  269. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/arc4.rst +0 -0
  270. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/cast5/generate_cast5.py +0 -0
  271. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/cast5/verify_cast5.go +0 -0
  272. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/cast5.rst +0 -0
  273. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/hkdf/generate_hkdf.py +0 -0
  274. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/hkdf/verify_hkdf.go +0 -0
  275. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/hkdf.rst +0 -0
  276. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/idea/generate_idea.py +0 -0
  277. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/idea/verify_idea.py +0 -0
  278. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/idea.rst +0 -0
  279. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/rsa-oaep-sha2/VerifyRSAOAEPSHA2.java +0 -0
  280. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/rsa-oaep-sha2/generate_rsa_oaep_sha2.py +0 -0
  281. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/rsa-oaep-sha2.rst +0 -0
  282. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/secp256k1/generate_secp256k1.py +0 -0
  283. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/secp256k1/verify_secp256k1.py +0 -0
  284. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/secp256k1.rst +0 -0
  285. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/seed/generate_seed.py +0 -0
  286. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/seed/verify_seed.py +0 -0
  287. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/seed.rst +0 -0
  288. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/index.rst +0 -0
  289. {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/reviewing-patches.rst +0 -0
  290. {cryptography-40.0.2 → cryptography-41.0.1}/docs/exceptions.rst +0 -0
  291. {cryptography-40.0.2 → cryptography-41.0.1}/docs/fernet.rst +0 -0
  292. {cryptography-40.0.2 → cryptography-41.0.1}/docs/glossary.rst +0 -0
  293. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/aead.rst +0 -0
  294. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/ed25519.rst +0 -0
  295. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/ed448.rst +0 -0
  296. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/index.rst +0 -0
  297. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/utils.rst +0 -0
  298. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/x25519.rst +0 -0
  299. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/x448.rst +0 -0
  300. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/constant-time.rst +0 -0
  301. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/cryptographic-hashes.rst +0 -0
  302. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/index.rst +0 -0
  303. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/keywrap.rst +0 -0
  304. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/mac/cmac.rst +0 -0
  305. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/mac/index.rst +0 -0
  306. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/padding.rst +0 -0
  307. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/symmetric-encryption.rst +0 -0
  308. {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/twofactor.rst +0 -0
  309. {cryptography-40.0.2 → cryptography-41.0.1}/docs/index.rst +0 -0
  310. {cryptography-40.0.2 → cryptography-41.0.1}/docs/limitations.rst +0 -0
  311. {cryptography-40.0.2 → cryptography-41.0.1}/docs/make.bat +0 -0
  312. {cryptography-40.0.2 → cryptography-41.0.1}/docs/random-numbers.rst +0 -0
  313. {cryptography-40.0.2 → cryptography-41.0.1}/docs/security.rst +0 -0
  314. {cryptography-40.0.2 → cryptography-41.0.1}/docs/x509/certificate-transparency.rst +0 -0
  315. {cryptography-40.0.2 → cryptography-41.0.1}/docs/x509/index.rst +0 -0
  316. {cryptography-40.0.2 → cryptography-41.0.1}/docs/x509/tutorial.rst +0 -0
  317. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/__init__.py +0 -0
  318. {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/__init__.py +0 -0
  319. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/__init__.py +0 -0
  320. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/_rust/__init__.pyi +0 -0
  321. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/_rust/_openssl.pyi +0 -0
  322. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/_rust/asn1.pyi +0 -0
  323. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/_rust/ocsp.pyi +0 -0
  324. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/_rust/openssl/x25519.pyi +0 -0
  325. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/_rust/pkcs7.pyi +0 -0
  326. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/openssl/__init__.py +0 -0
  327. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/__init__.py +0 -0
  328. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/__init__.py +0 -0
  329. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/py.typed +0 -0
  330. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography.egg-info/dependency_links.txt +0 -0
  331. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography.egg-info/not-zip-safe +0 -0
  332. {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography.egg-info/top_level.txt +0 -0
  333. {cryptography-40.0.2 → cryptography-41.0.1}/tests/__init__.py +0 -0
  334. {cryptography-40.0.2 → cryptography-41.0.1}/tests/bench/__init__.py +0 -0
  335. {cryptography-40.0.2 → cryptography-41.0.1}/tests/bench/test_aead.py +0 -0
  336. {cryptography-40.0.2 → cryptography-41.0.1}/tests/bench/test_ec_load.py +0 -0
  337. {cryptography-40.0.2 → cryptography-41.0.1}/tests/deprecated_module.py +0 -0
  338. {cryptography-40.0.2 → cryptography-41.0.1}/tests/doubles.py +0 -0
  339. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/__init__.py +0 -0
  340. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/backends/__init__.py +0 -0
  341. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/__init__.py +0 -0
  342. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/fixtures_dh.py +0 -0
  343. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/fixtures_dsa.py +0 -0
  344. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/fixtures_ec.py +0 -0
  345. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/fixtures_rsa.py +0 -0
  346. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_3des.py +0 -0
  347. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_aead.py +0 -0
  348. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_aes_gcm.py +0 -0
  349. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_arc4.py +0 -0
  350. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_asym_utils.py +0 -0
  351. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_block.py +0 -0
  352. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_blowfish.py +0 -0
  353. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_camellia.py +0 -0
  354. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_cast5.py +0 -0
  355. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_chacha20.py +0 -0
  356. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_ciphers.py +0 -0
  357. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_cmac.py +0 -0
  358. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_concatkdf.py +0 -0
  359. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_constant_time.py +0 -0
  360. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_hash_vectors.py +0 -0
  361. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_hashes.py +0 -0
  362. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_hkdf.py +0 -0
  363. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_hkdf_vectors.py +0 -0
  364. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_hmac_vectors.py +0 -0
  365. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_idea.py +0 -0
  366. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_kbkdf.py +0 -0
  367. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_kbkdf_vectors.py +0 -0
  368. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_keywrap.py +0 -0
  369. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_padding.py +0 -0
  370. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_pbkdf2hmac.py +0 -0
  371. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_pbkdf2hmac_vectors.py +0 -0
  372. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_pkcs12.py +0 -0
  373. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_poly1305.py +0 -0
  374. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_scrypt.py +0 -0
  375. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_seed.py +0 -0
  376. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_sm4.py +0 -0
  377. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_x963_vectors.py +0 -0
  378. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_x963kdf.py +0 -0
  379. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/twofactor/__init__.py +0 -0
  380. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/twofactor/test_hotp.py +0 -0
  381. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/twofactor/test_totp.py +0 -0
  382. {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/test_oid.py +0 -0
  383. {cryptography-40.0.2 → cryptography-41.0.1}/tests/test_cryptography_utils.py +0 -0
  384. {cryptography-40.0.2 → cryptography-41.0.1}/tests/test_meta.py +0 -0
  385. {cryptography-40.0.2 → cryptography-41.0.1}/tests/test_rust_utils.py +0 -0
  386. {cryptography-40.0.2 → cryptography-41.0.1}/tests/test_utils.py +0 -0
  387. {cryptography-40.0.2 → cryptography-41.0.1}/tests/test_warnings.py +0 -0
  388. {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/__init__.py +0 -0
  389. {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_aes.py +0 -0
  390. {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_chacha20poly1305.py +0 -0
  391. {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_cmac.py +0 -0
  392. {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_dsa.py +0 -0
  393. {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_ecdh.py +0 -0
  394. {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_ecdsa.py +0 -0
  395. {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_eddsa.py +0 -0
  396. {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_hkdf.py +0 -0
  397. {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_hmac.py +0 -0
  398. {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_keywrap.py +0 -0
  399. {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_rsa.py +0 -0
  400. {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_utils.py +0 -0
  401. {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_x25519.py +0 -0
  402. {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_x448.py +0 -0
  403. {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/utils.py +0 -0
  404. {cryptography-40.0.2 → cryptography-41.0.1}/tests/x509/__init__.py +0 -0
  405. {cryptography-40.0.2 → cryptography-41.0.1}/tests/x509/test_name.py +0 -0
  406. {cryptography-40.0.2 → cryptography-41.0.1}/tests/x509/test_x509_revokedcertbuilder.py +0 -0
@@ -1,12 +1,50 @@
1
1
  Changelog
2
2
  =========
3
3
 
4
+ .. _v41-0-1:
5
+
6
+ 41.0.1 - 2023-06-01
7
+ ~~~~~~~~~~~~~~~~~~~
8
+
9
+ * Temporarily allow invalid ECDSA signature algorithm parameters in X.509
10
+ certificates, which are generated by older versions of Java.
11
+ * Allow null bytes in pass phrases when serializing private keys.
12
+
13
+ .. _v41-0-0:
14
+
15
+ 41.0.0 - 2023-05-30
16
+ ~~~~~~~~~~~~~~~~~~~
17
+
18
+ * **BACKWARDS INCOMPATIBLE:** Support for OpenSSL less than 1.1.1d has been
19
+ removed. Users on older version of OpenSSL will need to upgrade.
20
+ * **BACKWARDS INCOMPATIBLE:** Support for Python 3.6 has been removed.
21
+ * **BACKWARDS INCOMPATIBLE:** Dropped support for LibreSSL < 3.6.
22
+ * Updated the minimum supported Rust version (MSRV) to 1.56.0, from 1.48.0.
23
+ * Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 3.1.1.
24
+ * Added support for the :class:`~cryptography.x509.OCSPAcceptableResponses`
25
+ OCSP extension.
26
+ * Added support for the :class:`~cryptography.x509.MSCertificateTemplate`
27
+ proprietary Microsoft certificate extension.
28
+ * Implemented support for equality checks on all asymmetric public key types.
29
+ * Added support for ``aes256-gcm@openssh.com`` encrypted keys in
30
+ :func:`~cryptography.hazmat.primitives.serialization.load_ssh_private_key`.
31
+ * Added support for obtaining X.509 certificate signature algorithm parameters
32
+ (including PSS) via
33
+ :meth:`~cryptography.x509.Certificate.signature_algorithm_parameters`.
34
+ * Support signing :class:`~cryptography.hazmat.primitives.asymmetric.padding.PSS`
35
+ X.509 certificates via the new keyword-only argument ``rsa_padding`` on
36
+ :meth:`~cryptography.x509.CertificateBuilder.sign`.
37
+ * Added support for
38
+ :class:`~cryptography.hazmat.primitives.ciphers.aead.ChaCha20Poly1305`
39
+ on BoringSSL.
40
+
4
41
  .. _v40-0-2:
5
42
 
6
43
  40.0.2 - 2023-04-14
7
44
  ~~~~~~~~~~~~~~~~~~~
8
45
 
9
46
  * Fixed compilation when using LibreSSL 3.7.2.
47
+ * Added some functions to support an upcoming ``pyOpenSSL`` release.
10
48
 
11
49
  .. _v40-0-1:
12
50
 
@@ -21,6 +59,7 @@ Changelog
21
59
  40.0.0 - 2023-03-24
22
60
  ~~~~~~~~~~~~~~~~~~~
23
61
 
62
+
24
63
  * **BACKWARDS INCOMPATIBLE:** As announced in the 39.0.0 changelog, the way
25
64
  ``cryptography`` links OpenSSL has changed. This only impacts users who
26
65
  build ``cryptography`` from source (i.e., not from a ``wheel``), and
@@ -1772,16 +1811,16 @@ Changelog
1772
1811
  ``no-comp`` (``OPENSSL_NO_COMP``) option.
1773
1812
  * Support :attr:`~cryptography.hazmat.primitives.serialization.Encoding.DER`
1774
1813
  serialization of public keys using the ``public_bytes`` method of
1775
- :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`,
1776
- :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`,
1814
+ :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey`,
1815
+ :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey`,
1777
1816
  and
1778
- :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`.
1817
+ :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey`.
1779
1818
  * Support :attr:`~cryptography.hazmat.primitives.serialization.Encoding.DER`
1780
1819
  serialization of private keys using the ``private_bytes`` method of
1781
- :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization`,
1782
- :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization`,
1820
+ :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`,
1821
+ :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey`,
1783
1822
  and
1784
- :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization`.
1823
+ :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey`.
1785
1824
  * Add support for parsing X.509 certificate signing requests (CSRs) with
1786
1825
  :func:`~cryptography.x509.load_pem_x509_csr` and
1787
1826
  :func:`~cryptography.x509.load_der_x509_csr`.
@@ -1854,42 +1893,32 @@ Changelog
1854
1893
  and :func:`~cryptography.hazmat.primitives.serialization.load_der_public_key`
1855
1894
  now support PKCS1 RSA public keys (in addition to the previous support for
1856
1895
  SubjectPublicKeyInfo format for RSA, EC, and DSA).
1857
- * Added
1858
- :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKeyWithSerialization`
1859
- and deprecated ``EllipticCurvePrivateKeyWithNumbers``.
1896
+ * Added ``EllipticCurvePrivateKeyWithSerialization`` and deprecated
1897
+ ``EllipticCurvePrivateKeyWithNumbers``.
1860
1898
  * Added
1861
1899
  :meth:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey.private_bytes`
1862
1900
  to
1863
1901
  :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateKey`.
1864
- * Added
1865
- :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKeyWithSerialization`
1866
- and deprecated ``RSAPrivateKeyWithNumbers``.
1902
+ * Added ``RSAPrivateKeyWithSerialization`` and deprecated ``RSAPrivateKeyWithNumbers``.
1867
1903
  * Added
1868
1904
  :meth:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey.private_bytes`
1869
1905
  to
1870
1906
  :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateKey`.
1871
- * Added
1872
- :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKeyWithSerialization`
1873
- and deprecated ``DSAPrivateKeyWithNumbers``.
1907
+ * Added ``DSAPrivateKeyWithSerialization`` and deprecated ``DSAPrivateKeyWithNumbers``.
1874
1908
  * Added
1875
1909
  :meth:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey.private_bytes`
1876
1910
  to
1877
1911
  :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateKey`.
1878
- * Added
1879
- :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`
1880
- and deprecated ``RSAPublicKeyWithNumbers``.
1912
+ * Added ``RSAPublicKeyWithSerialization`` and deprecated ``RSAPublicKeyWithNumbers``.
1881
1913
  * Added ``public_bytes`` to
1882
- :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKeyWithSerialization`.
1883
- * Added
1884
- :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`
1885
- and deprecated ``EllipticCurvePublicKeyWithNumbers``.
1914
+ :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicKey`.
1915
+ * Added ``EllipticCurvePublicKeyWithSerialization`` and deprecated
1916
+ ``EllipticCurvePublicKeyWithNumbers``.
1886
1917
  * Added ``public_bytes`` to
1887
- :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKeyWithSerialization`.
1888
- * Added
1889
- :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`
1890
- and deprecated ``DSAPublicKeyWithNumbers``.
1918
+ :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicKey`.
1919
+ * Added ``DSAPublicKeyWithSerialization`` and deprecated ``DSAPublicKeyWithNumbers``.
1891
1920
  * Added ``public_bytes`` to
1892
- :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKeyWithSerialization`.
1921
+ :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicKey`.
1893
1922
  * :class:`~cryptography.hazmat.primitives.hashes.HashAlgorithm` and
1894
1923
  :class:`~cryptography.hazmat.primitives.hashes.HashContext` were moved from
1895
1924
  ``cryptography.hazmat.primitives.interfaces`` to
@@ -1,6 +1,3 @@
1
1
  This software is made available under the terms of *either* of the licenses
2
2
  found in LICENSE.APACHE or LICENSE.BSD. Contributions to cryptography are made
3
3
  under the terms of *both* these licenses.
4
-
5
- The code used in the OS random engine is derived from CPython, and is licensed
6
- under the terms of the PSF License Agreement.
@@ -3,9 +3,8 @@ include CONTRIBUTING.rst
3
3
  include LICENSE
4
4
  include LICENSE.APACHE
5
5
  include LICENSE.BSD
6
- include LICENSE.PSF
7
6
  include README.rst
8
- include tox.ini
7
+ include noxfile.py
9
8
 
10
9
  include pyproject.toml
11
10
  recursive-include src py.typed *.pyi
@@ -17,6 +16,8 @@ prune docs/_build
17
16
  recursive-include tests *.py
18
17
  exclude vectors
19
18
  recursive-exclude vectors *
19
+ exclude src/rust/target
20
+ recursive-exclude src/rust/target *
20
21
 
21
22
  recursive-exclude .github *
22
23
 
@@ -1,15 +1,14 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cryptography
3
- Version: 40.0.2
3
+ Version: 41.0.1
4
4
  Summary: cryptography is a package which provides cryptographic recipes and primitives to Python developers.
5
- Home-page: https://github.com/pyca/cryptography
6
- Author: The Python Cryptographic Authority and individual contributors
7
- Author-email: cryptography-dev@python.org
8
- License: (Apache-2.0 OR BSD-3-Clause) AND PSF-2.0
9
- Project-URL: Documentation, https://cryptography.io/
10
- Project-URL: Source, https://github.com/pyca/cryptography/
11
- Project-URL: Issues, https://github.com/pyca/cryptography/issues
12
- Project-URL: Changelog, https://cryptography.io/en/latest/changelog/
5
+ Author-email: The Python Cryptographic Authority and individual contributors <cryptography-dev@python.org>
6
+ License: Apache-2.0 OR BSD-3-Clause
7
+ Project-URL: homepage, https://github.com/pyca/cryptography
8
+ Project-URL: documentation, https://cryptography.io/
9
+ Project-URL: source, https://github.com/pyca/cryptography/
10
+ Project-URL: issues, https://github.com/pyca/cryptography/issues
11
+ Project-URL: changelog, https://cryptography.io/en/latest/changelog/
13
12
  Classifier: Development Status :: 5 - Production/Stable
14
13
  Classifier: Intended Audience :: Developers
15
14
  Classifier: License :: OSI Approved :: Apache Software License
@@ -23,7 +22,6 @@ Classifier: Operating System :: Microsoft :: Windows
23
22
  Classifier: Programming Language :: Python
24
23
  Classifier: Programming Language :: Python :: 3
25
24
  Classifier: Programming Language :: Python :: 3 :: Only
26
- Classifier: Programming Language :: Python :: 3.6
27
25
  Classifier: Programming Language :: Python :: 3.7
28
26
  Classifier: Programming Language :: Python :: 3.8
29
27
  Classifier: Programming Language :: Python :: 3.9
@@ -32,20 +30,19 @@ Classifier: Programming Language :: Python :: 3.11
32
30
  Classifier: Programming Language :: Python :: Implementation :: CPython
33
31
  Classifier: Programming Language :: Python :: Implementation :: PyPy
34
32
  Classifier: Topic :: Security :: Cryptography
35
- Requires-Python: >=3.6
33
+ Requires-Python: >=3.7
36
34
  Description-Content-Type: text/x-rst
37
- Provides-Extra: tox
35
+ Provides-Extra: ssh
36
+ Provides-Extra: nox
38
37
  Provides-Extra: test
39
38
  Provides-Extra: test-randomorder
40
39
  Provides-Extra: docs
41
40
  Provides-Extra: docstest
42
41
  Provides-Extra: sdist
43
42
  Provides-Extra: pep8test
44
- Provides-Extra: ssh
45
43
  License-File: LICENSE
46
44
  License-File: LICENSE.APACHE
47
45
  License-File: LICENSE.BSD
48
- License-File: LICENSE.PSF
49
46
 
50
47
  pyca/cryptography
51
48
  =================
@@ -64,7 +61,7 @@ pyca/cryptography
64
61
 
65
62
  ``cryptography`` is a package which provides cryptographic recipes and
66
63
  primitives to Python developers. Our goal is for it to be your "cryptographic
67
- standard library". It supports Python 3.6+ and PyPy3 7.3.10+.
64
+ standard library". It supports Python 3.7+ and PyPy3 7.3.10+.
68
65
 
69
66
  ``cryptography`` includes both high level recipes and low level interfaces to
70
67
  common cryptographic algorithms such as symmetric ciphers, message digests, and
@@ -15,7 +15,7 @@ pyca/cryptography
15
15
 
16
16
  ``cryptography`` is a package which provides cryptographic recipes and
17
17
  primitives to Python developers. Our goal is for it to be your "cryptographic
18
- standard library". It supports Python 3.6+ and PyPy3 7.3.10+.
18
+ standard library". It supports Python 3.7+ and PyPy3 7.3.10+.
19
19
 
20
20
  ``cryptography`` includes both high level recipes and low level interfaces to
21
21
  common cryptographic algorithms such as symmetric ciphers, message digests, and
@@ -72,7 +72,7 @@ master_doc = "index"
72
72
 
73
73
  # General information about the project.
74
74
  project = "Cryptography"
75
- copyright = "2013-2022, Individual Contributors"
75
+ copyright = "2013-2023, Individual Contributors"
76
76
 
77
77
  # The version info for the project you're documenting, acts as replacement for
78
78
  # |version| and |release|, also used in various other places throughout the
@@ -183,8 +183,7 @@ texinfo_documents = [
183
183
  ),
184
184
  ]
185
185
 
186
- # Example configuration for intersphinx: refer to the Python standard library.
187
- intersphinx_mapping = {"https://docs.python.org/3": None}
186
+ intersphinx_mapping = {"python": ("https://docs.python.org/3", None)}
188
187
 
189
188
  epub_theme = "epub"
190
189
 
@@ -199,8 +198,6 @@ linkcheck_ignore = [
199
198
  r"https://info.isl.ntt.co.jp/crypt/eng/camellia/",
200
199
  # Inconsistent small DH params they seem incapable of fixing
201
200
  r"https://www.secg.org/sec1-v2.pdf",
202
- # Cert is issued from an untrusted root
203
- r"https://e-trust.gosuslugi.ru",
204
201
  # Incomplete cert chain
205
202
  r"https://www.oscca.gov.cn",
206
203
  # Cloudflare returns 403s for all non-browser requests
@@ -0,0 +1,66 @@
1
+ Getting started
2
+ ===============
3
+
4
+ Development dependencies
5
+ ------------------------
6
+
7
+ Working on ``cryptography`` requires the installation of a small number of
8
+ development dependencies in addition to the dependencies for
9
+ :doc:`/installation`. These are handled by the use of ``nox``, which can be
10
+ installed with ``pip``.
11
+
12
+ .. code-block:: console
13
+
14
+ $ # Create a virtualenv and activate it
15
+ $ # Set up your cryptography build environment
16
+ $ pip install nox
17
+ $ # Specify your Python version here.
18
+ $ nox -e tests -p py310
19
+
20
+ OpenSSL on macOS
21
+ ~~~~~~~~~~~~~~~~
22
+
23
+ You must have installed `OpenSSL`_ (via `Homebrew`_ , `MacPorts`_, or a custom
24
+ build) and must configure the build `as documented here`_ before calling
25
+ ``nox`` or else pip will fail to compile.
26
+
27
+ Running tests
28
+ -------------
29
+
30
+ ``cryptography`` unit tests are found in the ``tests/`` directory and are
31
+ designed to be run using `pytest`_. ``nox`` automatically invokes ``pytest``:
32
+
33
+ .. code-block:: console
34
+
35
+ $ nox -e tests -p py310
36
+ ...
37
+ 62746 passed in 220.43 seconds
38
+
39
+
40
+ Building documentation
41
+ ----------------------
42
+
43
+ ``cryptography`` documentation is stored in the ``docs/`` directory. It is
44
+ written in `reStructured Text`_ and rendered using `Sphinx`_.
45
+
46
+ Use `nox`_ to build the documentation. For example:
47
+
48
+ .. code-block:: console
49
+
50
+ $ nox -e docs
51
+ ...
52
+ nox > Session docs was successful.
53
+
54
+ The HTML documentation index can now be found at
55
+ ``docs/_build/html/index.html``.
56
+
57
+ .. _`Homebrew`: https://brew.sh
58
+ .. _`MacPorts`: https://www.macports.org
59
+ .. _`OpenSSL`: https://www.openssl.org
60
+ .. _`pytest`: https://pypi.org/project/pytest/
61
+ .. _`nox`: https://pypi.org/project/nox/
62
+ .. _`virtualenv`: https://pypi.org/project/virtualenv/
63
+ .. _`pip`: https://pypi.org/project/pip/
64
+ .. _`sphinx`: https://pypi.org/project/Sphinx/
65
+ .. _`reStructured Text`: https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html
66
+ .. _`as documented here`: https://docs.rs/openssl/latest/openssl/#automatic
@@ -21,8 +21,8 @@ Code
21
21
  When in doubt, refer to :pep:`8` for Python code. You can check if your code
22
22
  meets our automated requirements by formatting it with ``black`` and running
23
23
  ``ruff`` against it. If you've installed the development requirements this
24
- will automatically use our configuration. You can also run the ``tox`` job with
25
- ``tox -e flake``.
24
+ will automatically use our configuration. You can also run the ``nox`` job with
25
+ ``nox -e flake``.
26
26
 
27
27
  `Write comments as complete sentences.`_
28
28
 
@@ -95,7 +95,7 @@ Documentation
95
95
  -------------
96
96
 
97
97
  All features should be documented with prose in the ``docs`` section. To ensure
98
- it builds you can run ``tox -e docs``.
98
+ it builds you can run ``nox -e docs``.
99
99
 
100
100
  Because of the inherent challenges in implementing correct cryptographic
101
101
  systems, we want to make our documentation point people in the right directions
@@ -287,6 +287,10 @@ X.509
287
287
  a subject DN with a bit string type.
288
288
  * ``cryptography-scts-tbs-precert.der`` - The "to-be-signed" pre-certificate
289
289
  bytes from ``cryptography-scts.pem``, with the SCT list extension removed.
290
+ * ``belgian-eid-invalid-visiblestring.pem`` - A certificate with UTF-8
291
+ bytes in a ``VisibleString`` type.
292
+ * ``ee-pss-sha1-cert.pem`` - An RSA PSS certificate using a SHA1 signature and
293
+ SHA1 for MGF1 from the OpenSSL test suite.
290
294
 
291
295
  Custom X.509 Vectors
292
296
  ~~~~~~~~~~~~~~~~~~~~
@@ -478,11 +482,25 @@ Custom X.509 Vectors
478
482
  are longer than 2 characters.
479
483
  * ``rsa_pss_cert.pem`` - A self-signed certificate with an RSA PSS signature
480
484
  with ``asymmetric/PKCS8/rsa_pss_2048.pem`` as its key.
485
+ * ``rsa_pss_cert_invalid_mgf.der`` - A self-signed certificate with an invalid
486
+ RSA PSS signature that has a non-MGF1 OID for its mask generation function in the
487
+ signature algorithm.
488
+ * ``rsa_pss_cert_no_sig_params.der`` - A self-signed certificate with an invalid
489
+ RSA PSS signature algorithm that is missing signature parameters for PSS.
490
+ * ``rsa_pss_cert_unsupported_mgf_hash.der`` - A self-signed certificate with an
491
+ unsupported MGF1 hash algorithm in the signature algorithm.
481
492
  * ``long-form-name-attribute.pem`` - A certificate with ``subject`` and ``issuer``
482
493
  names containing attributes whose value's tag is encoded in long-form.
483
494
  * ``mismatch_inner_outer_sig_algorithm.der`` - A leaf certificate derived from
484
495
  ``x509/cryptography.io.pem`` but modifying the ``tbs_cert.signature_algorithm``
485
496
  OID to not match the outer signature algorithm OID.
497
+ * ``ms-certificate-template.pem`` - A certificate with a ``msCertificateTemplate``
498
+ extension.
499
+ * ``rsa_pss_sha256_no_null.pem`` - A certificate with an RSA PSS signature
500
+ with no encoded ``NULL`` for the PSS hash algorithm parameters. This certificate
501
+ was generated by LibreSSL.
502
+ * ``ecdsa_null_alg.pem`` - A certificate with an ECDSA signature with ``NULL``
503
+ algorithm parameters. This encoding is invalid, but was generated by Java 11.
486
504
 
487
505
  Custom X.509 Request Vectors
488
506
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -658,8 +676,10 @@ Custom X.509 OCSP Test Vectors
658
676
  extensions.
659
677
  * ``x509/ocsp/resp-unknown-extension.der`` - An OCSP response containing an
660
678
  extension with an unknown OID.
661
- * ``x509/ocsp/resp-unknown-hash-alg.der`` - AN OCSP response containing an
679
+ * ``x509/ocsp/resp-unknown-hash-alg.der`` - An OCSP response containing an
662
680
  invalid hash algorithm OID.
681
+ * ``x509/ocsp/req-acceptable-responses.der`` - An OCSP request containing an
682
+ acceptable responses extension.
663
683
 
664
684
  Custom PKCS12 Test Vectors
665
685
  ~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -799,6 +819,10 @@ Custom PKCS7 Test Vectors
799
819
  Custom OpenSSH Test Vectors
800
820
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~
801
821
 
822
+ * ``ed25519-aesgcm-psw.key`` and ``ed25519-aesgcm-psw.key.pub`` generated by
823
+ exporting an Ed25519 key from ``1password 8`` with the password "password".
824
+ This key is encrypted using the ``aes256-gcm@openssh.com`` algorithm.
825
+
802
826
  Generated by
803
827
  ``asymmetric/OpenSSH/gen.sh``
804
828
  using command-line tools from OpenSSH_7.6p1 package.
@@ -997,13 +1021,13 @@ header format (substituting the correct information):
997
1021
  .. _`Specification repository`: https://github.com/fernet/spec
998
1022
  .. _`errata`: https://www.rfc-editor.org/errata_search.php?rfc=6238
999
1023
  .. _`OpenSSL example key`: https://github.com/openssl/openssl/blob/d02b48c63a58ea4367a0e905979f140b7d090f86/test/testrsa.pem
1000
- .. _`GnuTLS key parsing tests`: https://gitlab.com/gnutls/gnutls/commit/f16ef39ef0303b02d7fa590a37820440c466ce8d
1024
+ .. _`GnuTLS key parsing tests`: https://gitlab.com/gnutls/gnutls/-/commit/f16ef39ef0303b02d7fa590a37820440c466ce8d
1001
1025
  .. _`enc-rsa-pkcs8.pem`: https://gitlab.com/gnutls/gnutls/blob/f8d943b38bf74eaaa11d396112daf43cb8aa82ae/tests/pkcs8-decode/encpkcs8.pem
1002
1026
  .. _`enc2-rsa-pkcs8.pem`: https://gitlab.com/gnutls/gnutls/blob/f8d943b38bf74eaaa11d396112daf43cb8aa82ae/tests/pkcs8-decode/enc2pkcs8.pem
1003
1027
  .. _`unenc-rsa-pkcs8.pem`: https://gitlab.com/gnutls/gnutls/blob/f8d943b38bf74eaaa11d396112daf43cb8aa82ae/tests/pkcs8-decode/unencpkcs8.pem
1004
1028
  .. _`pkcs12_s2k_pem.c`: https://gitlab.com/gnutls/gnutls/blob/f8d943b38bf74eaaa11d396112daf43cb8aa82ae/tests/pkcs12_s2k_pem.c
1005
1029
  .. _`Botan's ECC private keys`: https://github.com/randombit/botan/tree/4917f26a2b154e841cd27c1bcecdd41d2bdeb6ce/src/tests/data/ecc
1006
- .. _`GnuTLS example keys`: https://gitlab.com/gnutls/gnutls/commit/ad2061deafdd7db78fd405f9d143b0a7c579da7b
1030
+ .. _`GnuTLS example keys`: https://gitlab.com/gnutls/gnutls/-/commit/ad2061deafdd7db78fd405f9d143b0a7c579da7b
1007
1031
  .. _`NESSIE IDEA vectors`: https://www.cosic.esat.kuleuven.be/nessie/testvectors/bc/idea/Idea-128-64.verified.test-vectors
1008
1032
  .. _`NESSIE`: https://en.wikipedia.org/wiki/NESSIE
1009
1033
  .. _`Ed25519 website`: https://ed25519.cr.yp.to/software.html
@@ -40,8 +40,7 @@ Bumping the version number
40
40
  The next step in doing a release is bumping the version number in the
41
41
  software.
42
42
 
43
- * Update the version number in ``src/cryptography/__about__.py``.
44
- * Update the version number in ``vectors/cryptography_vectors/__about__.py``.
43
+ * Run ``python release.py bump-version {new_version}``
45
44
  * Set the release date in the :doc:`/changelog`.
46
45
  * Do a commit indicating this.
47
46
  * Send a pull request with this.
@@ -54,7 +53,7 @@ The commit that merged the version number bump is now the official release
54
53
  commit for this release. You will need to have ``gpg`` installed and a ``gpg``
55
54
  key in order to do a release. Once this has happened:
56
55
 
57
- * Run ``python release.py {version}``.
56
+ * Run ``python release.py release {version}``.
58
57
 
59
58
  The release should now be available on PyPI and a tag should be available in
60
59
  the repository.
@@ -87,9 +86,8 @@ Post-release tasks
87
86
  * Close the `milestone`_ for the previous release on GitHub.
88
87
  * For major version releases, send a pull request to pyOpenSSL increasing the
89
88
  maximum ``cryptography`` version pin and perform a pyOpenSSL release.
90
- * Update the version number to the next major (e.g. ``0.5.dev1``) in
91
- ``src/cryptography/__about__.py`` and
92
- ``vectors/cryptography_vectors/__about__.py``.
89
+ * Update the version number to the next major (e.g. ``0.5.dev1``) with
90
+ ``python release.py bump-version {new_version}``.
93
91
  * Add new :doc:`/changelog` entry with next version and note that it is under
94
92
  active development
95
93
  * Send a pull request with these items
@@ -1,6 +1,22 @@
1
1
  Frequently asked questions
2
2
  ==========================
3
3
 
4
+ What issues can you help with in your issue tracker?
5
+ ----------------------------------------------------
6
+
7
+ The primary purpose of our issue tracker is to enable us to identify and
8
+ resolve bugs and feature requests in ``cryptography``, so any time a user
9
+ files a bug, we start by asking: Is this a ``cryptography`` bug, or is it a
10
+ bug somewhere else?
11
+
12
+ That said, we do our best to help users to debug issues that are in their code
13
+ or environments. Please note, however, that there's a limit to our ability to
14
+ assist users in resolving problems that are specific to their environments,
15
+ particularly when we have no way to reproduce the issue.
16
+
17
+ Lastly, we're not able to provide support for general Python or Python
18
+ packaging issues.
19
+
4
20
  .. _faq-howto-handle-deprecation-warning:
5
21
 
6
22
  I cannot suppress the deprecation warning that ``cryptography`` emits on import
@@ -102,15 +118,6 @@ If you have no other libraries using OpenSSL in your process, or they do not
102
118
  appear to be at fault, it's possible that this is a bug in ``cryptography``.
103
119
  Please file an `issue`_ with instructions on how to reproduce it.
104
120
 
105
- error: ``-Werror=sign-conversion``: No option ``-Wsign-conversion`` during installation
106
- ---------------------------------------------------------------------------------------
107
-
108
- The compiler you are using is too old and not supported by ``cryptography``.
109
- Please upgrade to a more recent version. If you are running OpenBSD 6.1 or
110
- earlier the default compiler is extremely old. Use ``pkg_add`` to install a
111
- newer ``gcc`` and then install ``cryptography`` using
112
- ``CC=/path/to/newer/gcc pip install cryptography``.
113
-
114
121
  Installing cryptography with OpenSSL 0.9.8, 1.0.0, 1.0.1, 1.0.2, 1.1.0 fails
115
122
  ----------------------------------------------------------------------------
116
123
 
@@ -154,7 +161,7 @@ Why can't I import my PEM file?
154
161
  -------------------------------
155
162
 
156
163
  PEM is a format (defined by several RFCs, but originally :rfc:`1421`) for
157
- encoding keys, certificates and others cryptographic data into a regular form.
164
+ encoding keys, certificates, and others cryptographic data into a regular form.
158
165
  The data is encoded as base64 and wrapped with a header and footer.
159
166
 
160
167
  If you are having trouble importing PEM files, make sure your file fits
@@ -174,13 +174,6 @@ Group parameters
174
174
 
175
175
  :return bytes: Serialized parameters.
176
176
 
177
- .. class:: DHParametersWithSerialization
178
-
179
- .. versionadded:: 1.7
180
-
181
- Alias for :class:`DHParameters`.
182
-
183
-
184
177
  Key interfaces
185
178
  ~~~~~~~~~~~~~~
186
179
 
@@ -247,13 +240,6 @@ Key interfaces
247
240
  :return bytes: Serialized key.
248
241
 
249
242
 
250
- .. class:: DHPrivateKeyWithSerialization
251
-
252
- .. versionadded:: 1.7
253
-
254
- Alias for :class:`DHPrivateKey`.
255
-
256
-
257
243
  .. class:: DHPublicKey
258
244
 
259
245
  .. versionadded:: 1.7
@@ -293,13 +279,6 @@ Key interfaces
293
279
 
294
280
  :return bytes: Serialized key.
295
281
 
296
- .. class:: DHPublicKeyWithSerialization
297
-
298
- .. versionadded:: 1.7
299
-
300
- Alias for :class:`DHPublicKey`.
301
-
302
-
303
282
  Numbers
304
283
  ~~~~~~~
305
284
 
@@ -336,13 +336,6 @@ Key interfaces
336
336
  :return bytes: Serialized key.
337
337
 
338
338
 
339
- .. class:: DSAPrivateKeyWithSerialization
340
-
341
- .. versionadded:: 0.8
342
-
343
- Alias for :class:`DSAPrivateKey`.
344
-
345
-
346
339
  .. class:: DSAPublicKey
347
340
 
348
341
  .. versionadded:: 0.3
@@ -412,13 +405,6 @@ Key interfaces
412
405
  not validate.
413
406
 
414
407
 
415
- .. class:: DSAPublicKeyWithSerialization
416
-
417
- .. versionadded:: 0.8
418
-
419
- Alias for :class:`DSAPublicKey`.
420
-
421
-
422
408
  .. _`DSA`: https://en.wikipedia.org/wiki/Digital_Signature_Algorithm
423
409
  .. _`public-key`: https://en.wikipedia.org/wiki/Public-key_cryptography
424
410
  .. _`FIPS 186-4`: https://csrc.nist.gov/publications/detail/fips/186/4/final
@@ -534,11 +534,7 @@ Key Interfaces
534
534
 
535
535
  .. versionadded:: 0.5
536
536
 
537
- An elliptic curve private key for use with an algorithm such as `ECDSA`_ or
538
- `EdDSA`_. An elliptic curve private key that is not an
539
- :term:`opaque key` also implements
540
- :class:`EllipticCurvePrivateKeyWithSerialization` to provide serialization
541
- methods.
537
+ An elliptic curve private key for use with an algorithm such as `ECDSA`_.
542
538
 
543
539
  .. method:: exchange(algorithm, peer_public_key)
544
540
 
@@ -632,13 +628,6 @@ Key Interfaces
632
628
  :return bytes: Serialized key.
633
629
 
634
630
 
635
- .. class:: EllipticCurvePrivateKeyWithSerialization
636
-
637
- .. versionadded:: 0.8
638
-
639
- Alias for :class:`EllipticCurvePrivateKey`.
640
-
641
-
642
631
  .. class:: EllipticCurvePublicKey
643
632
 
644
633
  .. versionadded:: 0.5
@@ -734,13 +723,6 @@ Key Interfaces
734
723
  :class:`~cryptography.hazmat.primitives.asymmetric.ec.EllipticCurve`.
735
724
 
736
725
 
737
- .. class:: EllipticCurvePublicKeyWithSerialization
738
-
739
- .. versionadded:: 0.6
740
-
741
- Alias for :class:`EllipticCurvePublicKey`.
742
-
743
-
744
726
 
745
727
  Serialization
746
728
  ~~~~~~~~~~~~~
@@ -937,7 +919,6 @@ Elliptic Curve Object Identifiers
937
919
  .. _`minimize the number of security concerns for elliptic-curve cryptography`: https://cr.yp.to/ecdh/curve25519-20060209.pdf
938
920
  .. _`SafeCurves`: https://safecurves.cr.yp.to/
939
921
  .. _`ECDSA`: https://en.wikipedia.org/wiki/ECDSA
940
- .. _`EdDSA`: https://en.wikipedia.org/wiki/EdDSA
941
922
  .. _`forward secrecy`: https://en.wikipedia.org/wiki/Forward_secrecy
942
923
  .. _`SEC 1 v2.0`: https://www.secg.org/sec1-v2.pdf
943
924
  .. _`bad cryptographic practice`: https://crypto.stackexchange.com/a/3313
@@ -642,13 +642,6 @@ Key interfaces
642
642
  :return bytes: Serialized key.
643
643
 
644
644
 
645
- .. class:: RSAPrivateKeyWithSerialization
646
-
647
- .. versionadded:: 0.8
648
-
649
- Alias for :class:`RSAPrivateKey`.
650
-
651
-
652
645
  .. class:: RSAPublicKey
653
646
 
654
647
  .. versionadded:: 0.2
@@ -783,13 +776,6 @@ Key interfaces
783
776
  :raises cryptography.exceptions.UnsupportedAlgorithm: If signature
784
777
  data recovery is not supported with the provided ``padding`` type.
785
778
 
786
- .. class:: RSAPublicKeyWithSerialization
787
-
788
- .. versionadded:: 0.8
789
-
790
- Alias for :class:`RSAPublicKey`.
791
-
792
-
793
779
  .. _`RSA`: https://en.wikipedia.org/wiki/RSA_(cryptosystem)
794
780
  .. _`public-key`: https://en.wikipedia.org/wiki/Public-key_cryptography
795
781
  .. _`specific mathematical properties`: https://en.wikipedia.org/wiki/RSA_(cryptosystem)#Key_generation