chore(tests): add cryptography to constraints file (#1944)

Add new required dependency to test constraints, to ensure minimum
versions are tested

Also, moved constraints file to 3.8, since 3.7 is no longer supported
diff --git a/noxfile.py b/noxfile.py
index 4b9bb97..27e34e5 100644
--- a/noxfile.py
+++ b/noxfile.py
@@ -33,7 +33,6 @@
 
 DEFAULT_PYTHON_VERSION = "3.14"
 UNIT_TEST_PYTHON_VERSIONS = [
-    "3.7",
     "3.8",
     "3.9",
     "3.10",
diff --git a/testing/constraints-3.7.txt b/testing/constraints-3.7.txt
deleted file mode 100644
index 52ad3af..0000000
--- a/testing/constraints-3.7.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-# This constraints file is used to check that lower bounds
-# are correct in setup.py
-# List *all* library dependencies and extras in this file.
-# Pin the version to the lower bound.
-#
-# e.g., if setup.py has "foo >= 1.14.0, < 2.0.0dev",
-# Then this file should have foo==1.14.0
-pyasn1-modules==0.2.1
-setuptools==40.3.0
-rsa==3.1.4
-aiohttp==3.6.2
-requests==2.20.0
-pyjwt==2.0
\ No newline at end of file
diff --git a/testing/constraints-3.8.txt b/testing/constraints-3.8.txt
index e69de29..5eba7b6 100644
--- a/testing/constraints-3.8.txt
+++ b/testing/constraints-3.8.txt
@@ -0,0 +1,14 @@
+# This constraints file is used to check that lower bounds
+# are correct in setup.py
+# List *all* library dependencies and extras in this file.
+# Pin the version to the lower bound.
+#
+# e.g., if setup.py has "foo >= 1.14.0, < 2.0.0dev",
+# Then this file should have foo==1.14.0
+pyasn1-modules==0.2.1
+setuptools==40.3.0
+rsa==3.1.4
+cryptography==38.0.3
+aiohttp==3.6.2
+requests==2.20.0
+pyjwt==2.0
\ No newline at end of file