diff options
author | Alex Stapleton <alexs@prol.etari.at> | 2014-04-30 20:47:52 +0100 |
---|---|---|
committer | Alex Stapleton <alexs@prol.etari.at> | 2014-04-30 20:47:52 +0100 |
commit | 461e83742aec0da4dc34ef0428f7b8e20f40b174 (patch) | |
tree | aaccb0bf201e389148b5d47aed0f986d5d6446ac /tests/utils.py | |
parent | 26f2d5352911ff99c9c7650c926eaa73c432064e (diff) | |
parent | be8ce55717d4c2951a76c0989a692a20aa338ea1 (diff) | |
download | cryptography-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.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) |