summaryrefslogtreecommitdiff
path: root/OpenSSL/test/test_ssl.py
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSSL/test/test_ssl.py')
-rw-r--r--OpenSSL/test/test_ssl.py24
1 files changed, 22 insertions, 2 deletions
diff --git a/OpenSSL/test/test_ssl.py b/OpenSSL/test/test_ssl.py
index 5e9fd83..beb5d28 100644
--- a/OpenSSL/test/test_ssl.py
+++ b/OpenSSL/test/test_ssl.py
@@ -38,7 +38,7 @@ from OpenSSL.SSL import (
SESS_CACHE_NO_INTERNAL_STORE, SESS_CACHE_NO_INTERNAL)
from OpenSSL.SSL import (
_Cryptography_HAS_EC, ELLIPTIC_CURVE_DESCRIPTIONS,
- ECNotAvailable, UnknownObject)
+ ECNotAvailable, UnknownObject, UnsupportedEllipticCurve)
from OpenSSL.SSL import (
Error, SysCallError, WantReadError, WantWriteError, ZeroReturnError)
@@ -1204,7 +1204,7 @@ class ContextTests(TestCase, _LoopbackMixin):
_lib.Cryptography_HAS_EC = has_ec
- def test_set_tmp_ecdh_curve_bad_sn(self):
+ def test_set_tmp_ecdh_curve_bad_curve_name(self):
"""
:py:obj:`Context.set_tmp_ecdh_curve` raises :py:obj:`UnknownObject` if
passed a curve_name that OpenSSL does not recognize and EC is
@@ -1223,6 +1223,26 @@ class ContextTests(TestCase, _LoopbackMixin):
"non-existent curve name")
+ def test_set_tmp_ecdh_curve_bad_nid(self):
+ """
+ :py:obj:`Context._set_tmp_ecdh_curve_by_nid`, an implementation detail
+ of :py:obj:`Context.set_tmp_ecdh_curve`, raises
+ :py:obj:`UnsupportedEllipticCurve` raises if passed a NID that does not
+ identify a supported curve.
+ """
+ context = Context(TLSv1_METHOD)
+ try:
+ context._set_tmp_ecdh_curve_by_nid(
+ u"curve", _lib.OBJ_sn2nid(b"sha256"))
+ except UnsupportedEllipticCurve:
+ pass
+ else:
+ self.fail(
+ "_set_tmp_ecdh_curve_by_nid did not raise "
+ "UnsupportedEllipticCurve for a NID that does not "
+ "identify a supported curve.")
+
+
def test_set_tmp_ecdh_curve_not_a_curve(self):
"""
:py:obj:`Context.set_tmp_ecdh_curve` raises