1
0
python-tpm2-pytss/python-tpm2-pytss-RSAPrivateNumbers.patch
Markéta Machová fb2280729f Accepting request 1152904 from home:pmonrealgonzalez:branches:devel:languages:python
- Fix tpm2-pkcs11 build:
  * internal/crypto: fix _MyRSAPrivateNumbers with cryptograpy >= 42.0.1
  * Upstream: github.com/tpm2-software/tpm2-pytss/pull/562
  * Add python-tpm2-pytss-RSAPrivateNumbers.patch

- Update to version 2.2.0:
  * docs: use same requirements as in setup.cfg
  * policy: fix hardcoded size in description
  * policy: fix hardcoded size in get_calculated_json
  * readthedocs: switch to new build specification format
  * test: test against python 3.12
  * test: skip tests if ECC curves aren't supported.
  * init: provide a better error message for missing symbols
  * scripts: remove references to TPMS_ALGORITHM_DESCRIPTION
  * tctildr: use Tss2_TctiLdr_GetInfo to lookup tcti backend
  * setup: fixup compilation with fortify source enabled
  * setup: drop python 3.7
  * test: add check for renamed cryptography types
  * constants: use relative import over absolute
  * constants: support unmarshal and marshal routines
  * ESAPI: fix check on ESYS_TR in policy_secret
  * constants: add routine for making ESYS_TR from parts
  * setup: define __float128 for pycparse
  * Remove fix_pycparse_float128.patch fixed upstream

OBS-URL: https://build.opensuse.org/request/show/1152904
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-tpm2-pytss?expand=0&rev=9
2024-02-28 13:21:33 +00:00

54 lines
1.8 KiB
Diff

Index: tpm2-pytss-2.2.0/src/tpm2_pytss/internal/crypto.py
===================================================================
--- tpm2-pytss-2.2.0.orig/src/tpm2_pytss/internal/crypto.py
+++ tpm2-pytss-2.2.0/src/tpm2_pytss/internal/crypto.py
@@ -23,7 +23,7 @@ from cryptography.hazmat.primitives.ciph
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.RSAPrivat
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.RSAPrivat
#
@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):