Update to version 0.9.1 OBS-URL: https://build.opensuse.org/request/show/891081 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-fido2?expand=0&rev=19
87 lines
3.1 KiB
Diff
87 lines
3.1 KiB
Diff
From 2e3224d7a8be8625b05e88c10efdbf57b646107c Mon Sep 17 00:00:00 2001
|
|
From: Dain Nilsson <dain@yubico.com>
|
|
Date: Tue, 16 Feb 2021 08:41:30 +0100
|
|
Subject: [PATCH] Skip tests on older Cryptography versions.
|
|
|
|
---
|
|
test/test_cose.py | 25 +++++++++++++------------
|
|
test/utils.py | 5 +++++
|
|
2 files changed, 18 insertions(+), 12 deletions(-)
|
|
|
|
diff --git a/test/test_cose.py b/test/test_cose.py
|
|
index 4ce0fd7..4ae0479 100644
|
|
--- a/test/test_cose.py
|
|
+++ b/test/test_cose.py
|
|
@@ -30,7 +30,8 @@ from __future__ import absolute_import, unicode_literals
|
|
|
|
from fido2 import cbor
|
|
from fido2.cose import CoseKey, ES256, RS256, EdDSA, UnsupportedKey
|
|
-from cryptography.exceptions import UnsupportedAlgorithm
|
|
+from cryptography import __version__ as cryptography_version
|
|
+from distutils.version import LooseVersion
|
|
from binascii import a2b_hex
|
|
|
|
import unittest
|
|
@@ -100,6 +101,9 @@ class TestCoseKey(unittest.TestCase):
|
|
)
|
|
|
|
def test_EdDSA_parse_verify(self):
|
|
+ if LooseVersion(cryptography_version) < LooseVersion("2.6"):
|
|
+ self.skipTest("EdDSA support missing")
|
|
+
|
|
key = CoseKey.parse(cbor.decode(_EdDSA_KEY))
|
|
self.assertIsInstance(key, EdDSA)
|
|
self.assertEqual(
|
|
@@ -113,17 +117,14 @@ class TestCoseKey(unittest.TestCase):
|
|
),
|
|
},
|
|
)
|
|
- try:
|
|
- key.verify(
|
|
- a2b_hex(
|
|
- b"a379a6f6eeafb9a55e378c118034e2751e682fab9f2d30ab13d2125586ce1947010000000500a11a323057d1103784ddff99a354ddd42348c2f00e88d8977b916cabf92268" # noqa E501
|
|
- ),
|
|
- a2b_hex(
|
|
- b"e8c927ef1a57c738ff4ba8d6f90e06d837a5219eee47991f96b126b0685d512520c9c2eedebe4b88ff2de2b19cb5f8686efc7c4261e9ed1cb3ac5de50869be0a" # noqa E501
|
|
- ),
|
|
- )
|
|
- except UnsupportedAlgorithm:
|
|
- self.skipTest("EdDSA support missing")
|
|
+ key.verify(
|
|
+ a2b_hex(
|
|
+ b"a379a6f6eeafb9a55e378c118034e2751e682fab9f2d30ab13d2125586ce1947010000000500a11a323057d1103784ddff99a354ddd42348c2f00e88d8977b916cabf92268" # noqa E501
|
|
+ ),
|
|
+ a2b_hex(
|
|
+ b"e8c927ef1a57c738ff4ba8d6f90e06d837a5219eee47991f96b126b0685d512520c9c2eedebe4b88ff2de2b19cb5f8686efc7c4261e9ed1cb3ac5de50869be0a" # noqa E501
|
|
+ ),
|
|
+ )
|
|
|
|
def test_unsupported_key(self):
|
|
key = CoseKey.parse({1: 4711, 3: 4712, -1: b"123", -2: b"456"})
|
|
diff --git a/test/utils.py b/test/utils.py
|
|
index d649cb2..f50898d 100644
|
|
--- a/test/utils.py
|
|
+++ b/test/utils.py
|
|
@@ -1,4 +1,5 @@
|
|
import six
|
|
+import unittest
|
|
from binascii import a2b_hex
|
|
|
|
from cryptography.hazmat.backends import default_backend
|
|
@@ -17,8 +18,12 @@ class U2FDevice(object):
|
|
)
|
|
|
|
def __init__(self, credential_id, app_id):
|
|
+ if not hasattr(serialization.Encoding, "X962"):
|
|
+ raise unittest.SkipTest("Requires Cryptography >= 2.5")
|
|
+
|
|
assert isinstance(credential_id, six.binary_type)
|
|
assert isinstance(app_id, six.binary_type)
|
|
+
|
|
# Note: do not use in production, no garantees is provided this is
|
|
# cryptographically safe to use.
|
|
priv_key_params = ConcatKDFHash(
|
|
--
|
|
2.26.2
|
|
|