diff options
Diffstat (limited to 'dev-python/tpm2-pytss')
-rw-r--r-- | dev-python/tpm2-pytss/Manifest | 7 | ||||
-rw-r--r-- | dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-internal-crypto-fix-_MyRSAPrivateNumbers-with-crypto.patch | 73 | ||||
-rw-r--r-- | dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-test-add-check-for-renamed-cryptography-types.patch | 45 | ||||
-rw-r--r-- | dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-test-disable-pcr_set_auth_value-and-pcr_set_auth_pol.patch | 40 | ||||
-rw-r--r-- | dev-python/tpm2-pytss/tpm2-pytss-2.2.1.ebuild (renamed from dev-python/tpm2-pytss/tpm2-pytss-2.1.0-r2.ebuild) | 30 |
5 files changed, 15 insertions, 180 deletions
diff --git a/dev-python/tpm2-pytss/Manifest b/dev-python/tpm2-pytss/Manifest index d94f249ee59d..63c74c07ecff 100644 --- a/dev-python/tpm2-pytss/Manifest +++ b/dev-python/tpm2-pytss/Manifest @@ -1,6 +1,3 @@ -AUX tpm2-pytss-2.1.0-internal-crypto-fix-_MyRSAPrivateNumbers-with-crypto.patch 2494 BLAKE2B 98250351f74b43bb03c714fe208e7ceeae295b5341426527e09ceabd7138b354b765fe8630b50ba37b0e0c157761ac4b8aa5cd7a516a5af3e81a2fc6fd94b989 SHA512 b4a67e42e91af48282648ca673e949380b1df32df2ff9595de387720ee0537c6c350d2bb836b320f6fadee6c6a83d52e3d97708a0797f5d699959e611e1c2995 -AUX tpm2-pytss-2.1.0-test-add-check-for-renamed-cryptography-types.patch 1556 BLAKE2B a3346aa7a685514b2dab15c713ae1661e8edbfc91414a2c2d0cfe939fa7761c551095a03156119bcb73cbe8605abf80446f6fbc9ee7efdafd45f39cc88074679 SHA512 68746d0f71141ea4f8add786aec8f04d50e4b2fb5883d7cecea5e9eab13682bee4bf177bf9351f9a7caa9494430e608c4eb70aa9ca82bf42c379dfe6ddcbe1d5 -AUX tpm2-pytss-2.1.0-test-disable-pcr_set_auth_value-and-pcr_set_auth_pol.patch 1491 BLAKE2B bc39ba520ad03ff22b573f6e93bb6e4cea5d776ca667abad79e3ca09b88116c61e458743f954f2676503a488e5003b78eeb45b3bfb942988651018a83c94c80e SHA512 1ddd469ed5775b742461a2d7a48e692871c6c1a5d9696ae7dadf531707f003a0679dc618d1231b25147b3b744d57130804c4dedeb3ce20a9855a3a2813fe18f8 -DIST tpm2-pytss-2.1.0.tar.gz 203244 BLAKE2B f960fc08c12d10835ec7127e47842ea82b760e2de4fb3060a2f55f9bab5396cbe6f8edd07cb35b98d90ba8ec22c2d3ff287acbad47feac05f02df38b154f2132 SHA512 b4d8b3a0124e67278f08ff72d3635221e84ae26b6a5489ee159e641931aa9045b4b5111ed02d5ff86d69bd89b8460b2592a3fdb94742562351e41783c78184ba -EBUILD tpm2-pytss-2.1.0-r2.ebuild 1230 BLAKE2B 13c672d69ea01f1f89e6bb43773134a8b867e89ad8adcd25c0b88a82f59139af1cd2f3d040506ad54146874ddfe0e16edfd30e01bb8e443a2ac94a02cad8ea0b SHA512 656c63c9c2da8f1b4856fc91b8d7b441a1d30baadb1208148a8a7e1a43b4042ac867e55749cfddd7ee7530547cb7c0fa67492bfe94c455ba94149695040b9000 +DIST tpm2-pytss-2.2.1.tar.gz 208114 BLAKE2B fe07f38a6c19bc2b2baf079184f39d3ef28268900a35e14bfa22abb61dd956fdb286560ab6d35d66160147296e590fa3dac3d015f9919e1966f43179c1bdcdb1 SHA512 0acaa37d118d71edb123c5e88ef5af5dd78a73b0f8db15500866b6799d98e4c6107f9da1b8c1bce1c9061e9df85d735a39d9335cea65cac0e058db83aed8ad06 +EBUILD tpm2-pytss-2.2.1.ebuild 941 BLAKE2B 5d249a0c5a214281fd8d846fd6e946e506580e7dac30054afbae57bf450624726db3a8293f47bf535cd091e61361bf8b32322571465636a7a9b2db7be34ab47f SHA512 07ef46e0fc35711c3cb89fbde64f16af34ab598cd175a1a228cf475a205ecc10792723c0de02c97a7137d2d4a573920b8fe39e922a78e33035b20749024f0639 MISC metadata.xml 648 BLAKE2B e4de9aae579210454f1a71043de7073c1aa7ead9c5acdea48ec2c8ebf5665ebb6837f198b6de49f7ae58bd1f5062ed4f8ca7092df56d8904aecd16bc226d95cd SHA512 dd87ec10b28530281c08d57d86a5004178e4eda729a43690ad4ab84effe246b34d777ec56c66d61a1e0335d2b9c1599366aa55bc58477f7c2dfa4eec5ab7d9ac diff --git a/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-internal-crypto-fix-_MyRSAPrivateNumbers-with-crypto.patch b/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-internal-crypto-fix-_MyRSAPrivateNumbers-with-crypto.patch deleted file mode 100644 index 4aaecd935c22..000000000000 --- a/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-internal-crypto-fix-_MyRSAPrivateNumbers-with-crypto.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 0fbb9d099370c0a7031dd13990986538f586836a Mon Sep 17 00:00:00 2001 -From: Erik Larsson <who+github@cnackers.org> -Date: Fri, 26 Jan 2024 12:01:41 +0100 -Subject: [PATCH 3/3] internal/crypto: fix _MyRSAPrivateNumbers with - cryptograpy >= 42.0.1 - -RSAPrivateNumbers was moved to a rust implementation in 42.0.1. -So inheritance is no longer possible, so turn the class into a -wrapper instead of a subclass. - -Fixes #561 - -Signed-off-by: Erik Larsson <who+github@cnackers.org> ---- - src/tpm2_pytss/internal/crypto.py | 21 +++++++++------------ - 1 file changed, 9 insertions(+), 12 deletions(-) - -diff --git a/src/tpm2_pytss/internal/crypto.py b/src/tpm2_pytss/internal/crypto.py -index 93e5181..42030c5 100644 ---- a/src/tpm2_pytss/internal/crypto.py -+++ b/src/tpm2_pytss/internal/crypto.py -@@ -23,7 +23,7 @@ from cryptography.hazmat.primitives.ciphers.algorithms import AES, Camellia - from cryptography.hazmat.primitives.ciphers import modes, Cipher, CipherAlgorithm - from cryptography.hazmat.backends import default_backend - from cryptography.exceptions import UnsupportedAlgorithm, InvalidSignature --from typing import Tuple, Type -+from typing import Tuple, Type, Any - import secrets - import sys - -@@ -220,7 +220,7 @@ def public_to_key(obj): - return key - - --class _MyRSAPrivateNumbers(rsa.RSAPrivateNumbers): -+class _MyRSAPrivateNumbers: - def __init__(self, p: int, n: int, e: int, pubnums: rsa.RSAPublicNumbers): - - q = n // p -@@ -231,7 +231,12 @@ class _MyRSAPrivateNumbers(rsa.RSAPrivateNumbers): - dmq1 = rsa.rsa_crt_dmq1(d, q) - iqmp = rsa.rsa_crt_iqmp(p, q) - -- super().__init__(p, q, d, dmp1, dmq1, iqmp, pubnums) -+ self._private_numbers = rsa.RSAPrivateNumbers( -+ p, q, d, dmp1, dmq1, iqmp, pubnums -+ ) -+ -+ def private_key(self, *args: Any, **kwargs: Any) -> rsa.RSAPrivateKey: -+ return self._private_numbers.private_key(*args, **kwargs) - - @staticmethod - def _xgcd(a: int, b: int) -> Tuple[int, int, int]: -@@ -251,15 +256,7 @@ class _MyRSAPrivateNumbers(rsa.RSAPrivateNumbers): - # - @staticmethod - def _modinv(a, m): -- -- if sys.version_info < (3, 8): -- g, x, y = _MyRSAPrivateNumbers._xgcd(a, m) -- if g != 1: -- raise Exception("modular inverse does not exist") -- else: -- return x % m -- else: -- return pow(a, -1, m) -+ return pow(a, -1, m) - - @staticmethod - def _generate_d(p, q, e, n): --- -2.43.0 - diff --git a/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-test-add-check-for-renamed-cryptography-types.patch b/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-test-add-check-for-renamed-cryptography-types.patch deleted file mode 100644 index c1aeaee4dcd1..000000000000 --- a/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-test-add-check-for-renamed-cryptography-types.patch +++ /dev/null @@ -1,45 +0,0 @@ -From e4006e6066c015d9ed55befa9b98247fbdcafd7d Mon Sep 17 00:00:00 2001 -From: Erik Larsson <who+github@cnackers.org> -Date: Mon, 26 Jun 2023 12:15:41 +0200 -Subject: [PATCH] test: add check for renamed cryptography types - -Some types have changed their names in newer cryptography release, so add them to the tests - -Signed-off-by: Erik Larsson <who+github@cnackers.org> ---- - test/test_crypto.py | 16 ++++++++++++++-- - 1 file changed, 14 insertions(+), 2 deletions(-) - -diff --git a/test/test_crypto.py b/test/test_crypto.py -index 92cda00..7d7466e 100644 ---- a/test/test_crypto.py -+++ b/test/test_crypto.py -@@ -596,11 +596,23 @@ class CryptoTest(TSS2_EsapiTest): - - with self.assertRaises(ValueError) as e: - TPMT_SENSITIVE.from_pem(der) -- self.assertEqual(str(e.exception), "unsupported key type: _DSAPrivateKey") -+ self.assertIn( -+ str(e.exception), -+ ( -+ "unsupported key type: _DSAPrivateKey", -+ "unsupported key type: DSAPrivateKey", -+ ), -+ ) - - with self.assertRaises(ValueError) as e: - TPMT_PUBLIC.from_pem(dsa_public_key) -- self.assertEqual(str(e.exception), "unsupported key type: _DSAPublicKey") -+ self.assertIn( -+ str(e.exception), -+ ( -+ "unsupported key type: _DSAPublicKey", -+ "unsupported key type: DSAPublicKey", -+ ), -+ ) - - def test_from_pem_with_symmetric(self): - sym = TPMT_SYM_DEF_OBJECT(algorithm=TPM2_ALG.AES) --- -2.41.0 - diff --git a/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-test-disable-pcr_set_auth_value-and-pcr_set_auth_pol.patch b/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-test-disable-pcr_set_auth_value-and-pcr_set_auth_pol.patch deleted file mode 100644 index 6e99688b76ba..000000000000 --- a/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-test-disable-pcr_set_auth_value-and-pcr_set_auth_pol.patch +++ /dev/null @@ -1,40 +0,0 @@ -From c55775c30c06bf3a3066b4047cb51cb42f1e403d Mon Sep 17 00:00:00 2001 -From: Erik Larsson <who+github@cnackers.org> -Date: Sat, 6 Jan 2024 06:25:54 +0100 -Subject: [PATCH 2/3] test: disable pcr_set_auth_value and pcr_set_auth_policy - tests for swtpm - -Since [commit][1] in libtpms setting auth values/policies for PCRs are no longer supported. - -[1]: https://github.com/stefanberger/libtpms/commit/af4fc0e66df6d012c61aee7c418148fb261d77a9 - -Signed-off-by: Erik Larsson <who+github@cnackers.org> ---- - test/test_esapi.py | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/test/test_esapi.py b/test/test_esapi.py -index 269a43b..e0b6d35 100644 ---- a/test/test_esapi.py -+++ b/test/test_esapi.py -@@ -3585,6 +3585,8 @@ class TestEsys(TSS2_EsapiTest): - self.ectx.pcr_allocate(pcrsels, session3=object()) - - def test_pcr_set_auth_policy(self): -+ if getattr(self.tcti, "name", "") == "swtpm": -+ self.skipTest("pcr_set_auth_policy not supported by swtpm") - - policy = b"0123456789ABCDEF0123456789ABCDEF" - self.ectx.pcr_set_auth_policy(policy, TPM2_ALG.SHA256, ESYS_TR.PCR20) -@@ -3630,6 +3632,8 @@ class TestEsys(TSS2_EsapiTest): - ) - - def test_pcr_set_auth_value(self): -+ if getattr(self.tcti, "name", "") == "swtpm": -+ self.skipTest("pcr_set_auth_value not supported by swtpm") - - self.ectx.pcr_set_auth_value(ESYS_TR.PCR20, b"password") - self.ectx.tr_set_auth(ESYS_TR.PCR20, b"password") --- -2.43.0 - diff --git a/dev-python/tpm2-pytss/tpm2-pytss-2.1.0-r2.ebuild b/dev-python/tpm2-pytss/tpm2-pytss-2.2.1.ebuild index 0ec096900a00..aa01cc807256 100644 --- a/dev-python/tpm2-pytss/tpm2-pytss-2.1.0-r2.ebuild +++ b/dev-python/tpm2-pytss/tpm2-pytss-2.2.1.ebuild @@ -1,5 +1,6 @@ # Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 + EAPI=8 DISTUTILS_EXT=1 @@ -11,37 +12,32 @@ inherit distutils-r1 pypi DESCRIPTION="Python bindings for TSS" HOMEPAGE=" - https://pypi.org/project/tpm2-pytss - https://github.com/tpm2-software/tpm2-pytss + https://pypi.org/project/tpm2-pytss/ + https://github.com/tpm2-software/tpm2-pytss/ " LICENSE="BSD-2" SLOT="0" KEYWORDS="~amd64" - IUSE="+fapi test" -RDEPEND="${PYTHON_DEPS} +DEPEND=" app-crypt/tpm2-tss:=[fapi=] fapi? ( >=app-crypt/tpm2-tss-3.0.3:= ) + test? ( app-crypt/swtpm ) +" +RDEPEND=" + ${DEPEND} dev-python/cffi[${PYTHON_USEDEP}] dev-python/asn1crypto[${PYTHON_USEDEP}] dev-python/cryptography[${PYTHON_USEDEP}] dev-python/pycparser[${PYTHON_USEDEP}] - dev-python/pyyaml[${PYTHON_USEDEP}]" - -DEPEND="${RDEPEND} - test? ( app-crypt/swtpm )" - -BDEPEND="${PYTHON_DEPS} + dev-python/pyyaml[${PYTHON_USEDEP}] +" +BDEPEND=" + dev-python/pkgconfig[${PYTHON_USEDEP}] dev-python/setuptools-scm[${PYTHON_USEDEP}] - dev-python/pkgconfig[${PYTHON_USEDEP}]" - -PATCHES=( - "${FILESDIR}/${PN}-2.1.0-test-add-check-for-renamed-cryptography-types.patch" - "${FILESDIR}/${PN}-2.1.0-internal-crypto-fix-_MyRSAPrivateNumbers-with-crypto.patch" - "${FILESDIR}/${PN}-2.1.0-test-disable-pcr_set_auth_value-and-pcr_set_auth_pol.patch" - ) +" export SETUPTOOLS_SCM_PRETEND_VERSION=${PV} |