]> Cypherpunks.ru repositories - pyderasn.git/blobdiff - pyderasn.py
Check if tag's long form used in expected way
[pyderasn.git] / pyderasn.py
index df0eb8f2cabaa46430590bf1bbeeedc231e36d66..505f3baafac8516084242256bb12f2633f02ace0 100755 (executable)
@@ -1558,6 +1558,8 @@ def tag_strip(data):
             raise DecodeError("unfinished tag")
         if indexbytes(data, i) & 0x80 == 0:
             break
+    if i == 1 and indexbytes(data, 1) < 0x1F:
+        raise DecodeError("unexpected long form")
     if i > 1 and indexbytes(data, 1) & 0x7F == 0:
         raise DecodeError("leading zero byte in tag value")
     i += 1