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.
- {cryptography-40.0.2 → cryptography-41.0.1}/CHANGELOG.rst +56 -27
- {cryptography-40.0.2 → cryptography-41.0.1}/LICENSE +0 -3
- {cryptography-40.0.2 → cryptography-41.0.1}/MANIFEST.in +3 -2
- {cryptography-40.0.2/src/cryptography.egg-info → cryptography-41.0.1}/PKG-INFO +12 -15
- {cryptography-40.0.2 → cryptography-41.0.1}/README.rst +1 -1
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/conf.py +2 -5
- cryptography-41.0.1/docs/development/getting-started.rst +66 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/submitting-patches.rst +3 -3
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/test-vectors.rst +27 -3
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/doing-a-release.rst +4 -6
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/faq.rst +17 -10
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/dh.rst +0 -21
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/dsa.rst +0 -14
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/ec.rst +1 -20
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/rsa.rst +0 -14
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/serialization.rst +13 -13
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/key-derivation-functions.rst +3 -1
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/mac/hmac.rst +1 -1
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/mac/poly1305.rst +1 -1
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/installation.rst +13 -14
- cryptography-41.0.1/docs/openssl.rst +45 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/spelling_wordlist.txt +2 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/x509/ocsp.rst +2 -2
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/x509/reference.rst +138 -1
- cryptography-41.0.1/noxfile.py +271 -0
- cryptography-41.0.1/pyproject.toml +154 -0
- cryptography-41.0.1/setup.cfg +4 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/setup.py +6 -10
- cryptography-41.0.1/src/_cffi_src/build_openssl.py +69 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/asn1.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/bignum.py +1 -4
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/bio.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/callbacks.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/cmac.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/crypto.py +1 -8
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/cryptography.py +5 -22
- cryptography-41.0.1/src/_cffi_src/openssl/dh.py +22 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/dsa.py +1 -3
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/ec.py +1 -1
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/ecdsa.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/engine.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/err.py +2 -1
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/evp.py +1 -32
- cryptography-41.0.1/src/_cffi_src/openssl/evp_aead.py +88 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/fips.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/nid.py +1 -1
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/objects.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/opensslv.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/pem.py +1 -6
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/pkcs12.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/pkcs7.py +1 -2
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/provider.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/rand.py +1 -1
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/rsa.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/ssl.py +1 -4
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/x509.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/x509_vfy.py +2 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/x509name.py +1 -1
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/x509v3.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/utils.py +8 -29
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/__about__.py +3 -1
- cryptography-41.0.1/src/cryptography/__init__.py +13 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/exceptions.py +4 -16
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/fernet.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/__init__.py +3 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/_oid.py +6 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/__init__.py +3 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/__init__.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/aead.py +258 -41
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/backend.py +91 -584
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/ciphers.py +4 -4
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/cmac.py +5 -3
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/decode_asn1.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/ec.py +20 -9
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/rsa.py +28 -17
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/backends/openssl/utils.py +3 -1
- cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/exceptions.pyi +17 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/_rust/openssl/__init__.pyi +27 -2
- cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/dh.pyi +22 -0
- cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/dsa.pyi +20 -0
- cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/ed25519.pyi +14 -0
- cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/ed448.pyi +14 -0
- cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/hashes.pyi +17 -0
- cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/hmac.pyi +21 -0
- cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/kdf.pyi +22 -0
- cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/poly1305.pyi +13 -0
- cryptography-41.0.1/src/cryptography/hazmat/bindings/_rust/openssl/x448.pyi +14 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/_rust/x509.pyi +2 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/openssl/_conditional.py +14 -17
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/openssl/binding.py +2 -31
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/_asymmetric.py +2 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/_cipheralgorithm.py +2 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/_serialization.py +6 -4
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/dh.py +19 -9
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/dsa.py +16 -5
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/ec.py +12 -5
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/ed25519.py +21 -14
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/ed448.py +21 -11
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/padding.py +4 -3
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/rsa.py +12 -5
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/types.py +2 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/utils.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/x25519.py +10 -3
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/x448.py +21 -11
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/ciphers/__init__.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/ciphers/aead.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/ciphers/algorithms.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/ciphers/base.py +10 -9
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/ciphers/modes.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/cmac.py +4 -3
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/constant_time.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/hashes.py +32 -48
- cryptography-41.0.1/src/cryptography/hazmat/primitives/hmac.py +13 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/kdf/__init__.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/kdf/concatkdf.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/kdf/hkdf.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/kdf/kbkdf.py +2 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/kdf/pbkdf2.py +5 -6
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/kdf/scrypt.py +10 -3
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/kdf/x963kdf.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/keywrap.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/padding.py +1 -0
- cryptography-41.0.1/src/cryptography/hazmat/primitives/poly1305.py +11 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/serialization/__init__.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/serialization/base.py +3 -2
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/serialization/pkcs12.py +2 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/serialization/pkcs7.py +5 -3
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/serialization/ssh.py +97 -34
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/twofactor/__init__.py +2 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/twofactor/hotp.py +2 -1
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/twofactor/totp.py +2 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/utils.py +4 -3
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/x509/__init__.py +5 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/x509/base.py +43 -22
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/x509/certificate_transparency.py +1 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/x509/extensions.py +109 -20
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/x509/general_name.py +4 -5
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/x509/name.py +3 -1
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/x509/ocsp.py +8 -7
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/x509/oid.py +2 -0
- {cryptography-40.0.2 → cryptography-41.0.1/src/cryptography.egg-info}/PKG-INFO +12 -15
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography.egg-info/SOURCES.txt +45 -17
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography.egg-info/requires.txt +5 -8
- {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/Cargo.lock +90 -341
- {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/Cargo.toml +12 -8
- cryptography-41.0.1/src/rust/build.rs +20 -0
- cryptography-41.0.1/src/rust/cryptography-cffi/Cargo.toml +15 -0
- {cryptography-40.0.2/src/rust → cryptography-41.0.1/src/rust/cryptography-cffi}/build.rs +13 -28
- cryptography-41.0.1/src/rust/cryptography-cffi/src/lib.rs +31 -0
- cryptography-41.0.1/src/rust/cryptography-openssl/Cargo.toml +14 -0
- cryptography-41.0.1/src/rust/cryptography-openssl/build.rs +24 -0
- cryptography-41.0.1/src/rust/cryptography-openssl/src/fips.rs +32 -0
- cryptography-41.0.1/src/rust/cryptography-openssl/src/hmac.rs +93 -0
- cryptography-41.0.1/src/rust/cryptography-openssl/src/lib.rs +37 -0
- cryptography-41.0.1/src/rust/cryptography-x509/Cargo.toml +11 -0
- cryptography-41.0.1/src/rust/cryptography-x509/src/certificate.rs +48 -0
- cryptography-41.0.1/src/rust/cryptography-x509/src/common.rs +333 -0
- cryptography-41.0.1/src/rust/cryptography-x509/src/crl.rs +73 -0
- cryptography-41.0.1/src/rust/cryptography-x509/src/csr.rs +70 -0
- cryptography-41.0.1/src/rust/cryptography-x509/src/extensions.rs +255 -0
- cryptography-41.0.1/src/rust/cryptography-x509/src/lib.rs +18 -0
- cryptography-41.0.1/src/rust/cryptography-x509/src/name.rs +88 -0
- cryptography-41.0.1/src/rust/cryptography-x509/src/ocsp_req.rs +50 -0
- cryptography-41.0.1/src/rust/cryptography-x509/src/ocsp_resp.rs +91 -0
- cryptography-41.0.1/src/rust/cryptography-x509/src/oid.rs +99 -0
- cryptography-41.0.1/src/rust/cryptography-x509/src/pkcs7.rs +60 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/asn1.rs +39 -78
- cryptography-41.0.1/src/rust/src/backend/dh.rs +438 -0
- cryptography-41.0.1/src/rust/src/backend/dsa.rs +333 -0
- cryptography-41.0.1/src/rust/src/backend/ed25519.rs +177 -0
- cryptography-41.0.1/src/rust/src/backend/ed448.rs +175 -0
- cryptography-41.0.1/src/rust/src/backend/hashes.rs +143 -0
- cryptography-41.0.1/src/rust/src/backend/hmac.rs +95 -0
- cryptography-41.0.1/src/rust/src/backend/kdf.rs +60 -0
- cryptography-41.0.1/src/rust/src/backend/mod.rs +42 -0
- cryptography-41.0.1/src/rust/src/backend/poly1305.rs +127 -0
- cryptography-41.0.1/src/rust/src/backend/utils.rs +302 -0
- cryptography-41.0.1/src/rust/src/backend/x25519.rs +166 -0
- cryptography-41.0.1/src/rust/src/backend/x448.rs +165 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/buf.rs +7 -3
- {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/error.rs +18 -27
- cryptography-41.0.1/src/rust/src/exceptions.rs +40 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/lib.rs +10 -35
- {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/oid.rs +6 -12
- {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/pkcs7.rs +95 -134
- {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/pool.rs +2 -2
- {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/x509/certificate.rs +253 -344
- cryptography-41.0.1/src/rust/src/x509/common.rs +562 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/x509/crl.rs +192 -262
- {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/x509/csr.rs +131 -149
- cryptography-41.0.1/src/rust/src/x509/extensions.rs +514 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/x509/mod.rs +2 -5
- cryptography-41.0.1/src/rust/src/x509/ocsp.rs +127 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/x509/ocsp_req.rs +72 -86
- {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/x509/ocsp_resp.rs +287 -325
- {cryptography-40.0.2 → cryptography-41.0.1}/src/rust/src/x509/sct.rs +44 -36
- cryptography-41.0.1/src/rust/src/x509/sign.rs +765 -0
- cryptography-41.0.1/tests/bench/test_hashes.py +14 -0
- cryptography-41.0.1/tests/bench/test_hmac.py +14 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/bench/test_x509.py +10 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/conftest.py +19 -6
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/backends/test_openssl.py +1 -197
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/backends/test_openssl_memleak.py +1 -2
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/bindings/test_openssl.py +0 -17
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_aes.py +1 -3
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_dh.py +26 -1
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_dsa.py +18 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_ec.py +14 -1
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_ed25519.py +49 -2
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_ed448.py +30 -2
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_hmac.py +5 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_pkcs7.py +1 -1
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_rsa.py +12 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_serialization.py +8 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_ssh.py +44 -1
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_x25519.py +36 -2
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_x448.py +29 -2
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/utils.py +0 -2
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/test_fernet.py +4 -5
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/utils.py +1 -4
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/x509/test_ocsp.py +12 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/x509/test_x509.py +412 -9
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/x509/test_x509_crlbuilder.py +4 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/x509/test_x509_ext.py +150 -0
- cryptography-40.0.2/LICENSE.PSF +0 -41
- cryptography-40.0.2/docs/development/getting-started.rst +0 -99
- cryptography-40.0.2/docs/openssl.rst +0 -123
- cryptography-40.0.2/pyproject.toml +0 -76
- cryptography-40.0.2/setup.cfg +0 -90
- cryptography-40.0.2/src/_cffi_src/build_openssl.py +0 -132
- cryptography-40.0.2/src/_cffi_src/openssl/dh.py +0 -42
- cryptography-40.0.2/src/_cffi_src/openssl/hmac.py +0 -25
- cryptography-40.0.2/src/_cffi_src/openssl/osrandom_engine.py +0 -23
- cryptography-40.0.2/src/_cffi_src/openssl/src/osrandom_engine.c +0 -627
- cryptography-40.0.2/src/_cffi_src/openssl/src/osrandom_engine.h +0 -116
- cryptography-40.0.2/src/cryptography/__init__.py +0 -24
- cryptography-40.0.2/src/cryptography/hazmat/backends/openssl/dh.py +0 -317
- cryptography-40.0.2/src/cryptography/hazmat/backends/openssl/dsa.py +0 -236
- cryptography-40.0.2/src/cryptography/hazmat/backends/openssl/ed25519.py +0 -155
- cryptography-40.0.2/src/cryptography/hazmat/backends/openssl/ed448.py +0 -156
- cryptography-40.0.2/src/cryptography/hazmat/backends/openssl/hashes.py +0 -86
- cryptography-40.0.2/src/cryptography/hazmat/backends/openssl/hmac.py +0 -84
- cryptography-40.0.2/src/cryptography/hazmat/backends/openssl/poly1305.py +0 -67
- cryptography-40.0.2/src/cryptography/hazmat/backends/openssl/x448.py +0 -117
- cryptography-40.0.2/src/cryptography/hazmat/primitives/hmac.py +0 -70
- cryptography-40.0.2/src/cryptography/hazmat/primitives/poly1305.py +0 -60
- cryptography-40.0.2/src/rust/src/backend/mod.rs +0 -13
- cryptography-40.0.2/src/rust/src/backend/x25519.rs +0 -297
- cryptography-40.0.2/src/rust/src/intern.rs +0 -44
- cryptography-40.0.2/src/rust/src/x509/common.rs +0 -777
- cryptography-40.0.2/src/rust/src/x509/extensions.rs +0 -471
- cryptography-40.0.2/src/rust/src/x509/ocsp.rs +0 -107
- cryptography-40.0.2/src/rust/src/x509/oid.rs +0 -97
- cryptography-40.0.2/src/rust/src/x509/sign.rs +0 -520
- cryptography-40.0.2/tox.ini +0 -85
- {cryptography-40.0.2 → cryptography-41.0.1}/CONTRIBUTING.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/LICENSE.APACHE +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/LICENSE.BSD +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/Makefile +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/_ext/cryptography-docs.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/_ext/linkcode_res.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/_static/.keep +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/api-stability.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/changelog.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/community.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/c-bindings.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/arc4/generate_arc4.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/arc4/verify_arc4.go +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/arc4.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/cast5/generate_cast5.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/cast5/verify_cast5.go +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/cast5.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/hkdf/generate_hkdf.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/hkdf/verify_hkdf.go +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/hkdf.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/idea/generate_idea.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/idea/verify_idea.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/idea.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/rsa-oaep-sha2/VerifyRSAOAEPSHA2.java +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/rsa-oaep-sha2/generate_rsa_oaep_sha2.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/rsa-oaep-sha2.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/secp256k1/generate_secp256k1.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/secp256k1/verify_secp256k1.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/secp256k1.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/seed/generate_seed.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/seed/verify_seed.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/custom-vectors/seed.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/index.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/development/reviewing-patches.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/exceptions.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/fernet.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/glossary.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/aead.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/ed25519.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/ed448.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/index.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/utils.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/x25519.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/asymmetric/x448.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/constant-time.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/cryptographic-hashes.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/index.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/keywrap.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/mac/cmac.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/mac/index.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/padding.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/symmetric-encryption.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/hazmat/primitives/twofactor.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/index.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/limitations.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/make.bat +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/random-numbers.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/security.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/x509/certificate-transparency.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/x509/index.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/docs/x509/tutorial.rst +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/__init__.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/_cffi_src/openssl/__init__.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/__init__.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/_rust/__init__.pyi +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/_rust/_openssl.pyi +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/_rust/asn1.pyi +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/_rust/ocsp.pyi +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/_rust/openssl/x25519.pyi +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/_rust/pkcs7.pyi +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/bindings/openssl/__init__.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/__init__.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/hazmat/primitives/asymmetric/__init__.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography/py.typed +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography.egg-info/dependency_links.txt +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography.egg-info/not-zip-safe +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/src/cryptography.egg-info/top_level.txt +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/__init__.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/bench/__init__.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/bench/test_aead.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/bench/test_ec_load.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/deprecated_module.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/doubles.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/__init__.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/backends/__init__.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/__init__.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/fixtures_dh.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/fixtures_dsa.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/fixtures_ec.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/fixtures_rsa.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_3des.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_aead.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_aes_gcm.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_arc4.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_asym_utils.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_block.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_blowfish.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_camellia.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_cast5.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_chacha20.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_ciphers.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_cmac.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_concatkdf.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_constant_time.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_hash_vectors.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_hashes.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_hkdf.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_hkdf_vectors.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_hmac_vectors.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_idea.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_kbkdf.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_kbkdf_vectors.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_keywrap.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_padding.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_pbkdf2hmac.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_pbkdf2hmac_vectors.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_pkcs12.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_poly1305.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_scrypt.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_seed.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_sm4.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_x963_vectors.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/test_x963kdf.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/twofactor/__init__.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/twofactor/test_hotp.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/primitives/twofactor/test_totp.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/hazmat/test_oid.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/test_cryptography_utils.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/test_meta.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/test_rust_utils.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/test_utils.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/test_warnings.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/__init__.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_aes.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_chacha20poly1305.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_cmac.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_dsa.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_ecdh.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_ecdsa.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_eddsa.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_hkdf.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_hmac.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_keywrap.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_rsa.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_utils.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_x25519.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/test_x448.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/wycheproof/utils.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/x509/__init__.py +0 -0
- {cryptography-40.0.2 → cryptography-41.0.1}/tests/x509/test_name.py +0 -0
- {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.
|
|
1776
|
-
:class:`~cryptography.hazmat.primitives.asymmetric.dsa.
|
|
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.
|
|
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.
|
|
1782
|
-
:class:`~cryptography.hazmat.primitives.asymmetric.dsa.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
1883
|
-
* Added
|
|
1884
|
-
|
|
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.
|
|
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.
|
|
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
|
|
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:
|
|
3
|
+
Version: 41.0.1
|
|
4
4
|
Summary: cryptography is a package which provides cryptographic recipes and primitives to Python developers.
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Project-URL:
|
|
10
|
-
Project-URL:
|
|
11
|
-
Project-URL:
|
|
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.
|
|
33
|
+
Requires-Python: >=3.7
|
|
36
34
|
Description-Content-Type: text/x-rst
|
|
37
|
-
Provides-Extra:
|
|
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.
|
|
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.
|
|
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-
|
|
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
|
-
|
|
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 ``
|
|
25
|
-
``
|
|
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 ``
|
|
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`` -
|
|
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
|
|
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
|
|
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
|
-
*
|
|
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``)
|
|
91
|
-
``
|
|
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`_
|
|
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
|