]> Cypherpunks.ru repositories - pyderasn.git/commitdiff
Space is allowable character in NumericString
authorElena Balakhonova <balakhonova@rnd.stcnet.ru>
Fri, 5 Oct 2018 15:08:07 +0000 (18:08 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Fri, 5 Oct 2018 15:31:06 +0000 (18:31 +0300)
X.680 41.2 table 9.

pyderasn.py
tests/test_pyderasn.py

index 2e63b5a2320bc672bf7d01f35acb053d241b3145..1690ab087e8be7d2c69ccb22756fd42d584b1022 100755 (executable)
@@ -3497,7 +3497,7 @@ class NumericString(CommonString):
     tag_default = tag_encode(18)
     encoding = "ascii"
     asn1_type_name = "NumericString"
-    allowable_chars = set(digits.encode("ascii"))
+    allowable_chars = set(digits.encode("ascii") + b" ")
 
     def _value_sanitize(self, value):
         value = super(NumericString, self)._value_sanitize(value)
index 0a439f8eb9ebf2ef5b9d91e882609485bc23c289..6ea1d40a703e66003648a23f149a4195b9d53e44 100644 (file)
@@ -3296,12 +3296,12 @@ class TestNumericString(StringMixin, CommonMixin, TestCase):
     base_klass = NumericString
 
     def text_alphabet(self):
-        return digits
+        return digits + " "
 
     @given(text(alphabet=ascii_letters, min_size=1, max_size=5))
-    def test_non_numeric(self, cyrillic_text):
+    def test_non_numeric(self, non_numeric_text):
         with assertRaisesRegex(self, DecodeError, "non-numeric"):
-            self.base_klass(cyrillic_text)
+            self.base_klass(non_numeric_text)
 
     @given(
         sets(integers(min_value=0, max_value=10), min_size=2, max_size=2),