aboutsummaryrefslogtreecommitdiffstats
path: root/tests/utils.py
diff options
context:
space:
mode:
authorAlex Stapleton <alexs@prol.etari.at>2014-04-30 20:47:52 +0100
committerAlex Stapleton <alexs@prol.etari.at>2014-04-30 20:47:52 +0100
commit461e83742aec0da4dc34ef0428f7b8e20f40b174 (patch)
treeaaccb0bf201e389148b5d47aed0f986d5d6446ac /tests/utils.py
parent26f2d5352911ff99c9c7650c926eaa73c432064e (diff)
parentbe8ce55717d4c2951a76c0989a692a20aa338ea1 (diff)
downloadcryptography-461e83742aec0da4dc34ef0428f7b8e20f40b174.tar.gz
cryptography-461e83742aec0da4dc34ef0428f7b8e20f40b174.tar.bz2
cryptography-461e83742aec0da4dc34ef0428f7b8e20f40b174.zip
Merge pull request #980 from reaperhulk/dsa-sig-serializer
dss_sig_value: Pure python conversion of (r, s) to byte stream
Diffstat (limited to 'tests/utils.py')
-rw-r--r--tests/utils.py17
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)