diff options
Diffstat (limited to 'tests/utils.py')
-rw-r--r-- | tests/utils.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/utils.py b/tests/utils.py index 60b6f5a2..5c0e2343 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -18,6 +18,9 @@ import collections import re from contextlib import contextmanager +from pyasn1.codec.der import encoder +from pyasn1.type import namedtype, univ + import pytest import six @@ -80,6 +83,20 @@ def raises_unsupported_algorithm(reason): assert exc_info.value._reason is reason +class _DSSSigValue(univ.Sequence): + componentType = namedtype.NamedTypes( + namedtype.NamedType('r', univ.Integer()), + namedtype.NamedType('s', univ.Integer()) + ) + + +def der_encode_dsa_signature(r, s): + sig = _DSSSigValue() + sig.setComponentByName('r', r) + sig.setComponentByName('s', s) + return encoder.encode(sig) + + def load_vectors_from_file(filename, loader): with cryptography_vectors.open_vector_file(filename) as vector_file: return loader(vector_file) |