> I finally got around to running the regression tests on sparc64, and 71 > fail. They all seem to fail the same way though: > > > raise NotImplementedError("Use module Crypto.Cipher.PKCS1_OAEP > > instead") > E NotImplementedError: Use module Crypto.Cipher.PKCS1_OAEP instead > > /usr/local/lib/python3.7/site-packages/Crypto/PublicKey/RSA.py:379: > NotImplement > edError > > > So this is not a problem with this new port.
It turns out that this failure is triggered by the presence of py3-cryptodome. Removing py3-cryptodome on sparc64 makes all tests pass. For both tlslite-ng and tlsfuzzer. Since a ton of stuff pulls in py3-cryptodome via gobject-introspection, I think we had better work around this, as it will break all RSA operations. With the patch below all tests for tlslite-ng and tlsfuzzer pass independently of whether py3-cryptodome is present. Tested on both sparc64 and amd64. ok? or do you have a better suggestion? Index: Makefile =================================================================== RCS file: /var/cvs/ports/net/py-tlslite-ng/Makefile,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 Makefile --- Makefile 28 Feb 2020 09:18:41 -0000 1.1.1.1 +++ Makefile 29 Feb 2020 13:41:16 -0000 @@ -6,6 +6,7 @@ MODPY_EGG_VERSION = 0.8.0-alpha37 DISTNAME = tlslite-ng-${MODPY_EGG_VERSION} PKGNAME = py-${DISTNAME:S/-alpha/alpha/} CATEGORIES = net +REVISION = 0 GH_ACCOUNT = tomato42 GH_PROJECT = tlslite-ng Index: patches/patch-tlslite_utils_cryptomath_py =================================================================== RCS file: patches/patch-tlslite_utils_cryptomath_py diff -N patches/patch-tlslite_utils_cryptomath_py --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-tlslite_utils_cryptomath_py 29 Feb 2020 13:42:00 -0000 @@ -0,0 +1,24 @@ +$OpenBSD$ + +Avoid loading pycrypto. If py3-cryptodome is installed, this will hit failures +as the one below whenever RSA methods are used: + +> raise NotImplementedError("Use module Crypto.Cipher.PKCS1_OAEP instead") +E NotImplementedError: Use module Crypto.Cipher.PKCS1_OAEP instead + +/usr/local/lib/python3.7/site-packages/Crypto/PublicKey/RSA.py:379: NotImplementedErro + +Index: tlslite/utils/cryptomath.py +--- tlslite/utils/cryptomath.py.orig ++++ tlslite/utils/cryptomath.py +@@ -51,8 +51,8 @@ except ImportError: + + #Try to load pycrypto + try: +- import Crypto.Cipher.AES +- pycryptoLoaded = True ++ # import Crypto.Cipher.AES ++ pycryptoLoaded = False + except ImportError: + pycryptoLoaded = False +