summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorelie <elie>2015-06-05 16:35:05 +0000
committerelie <elie>2015-06-05 16:35:05 +0000
commit8e729a36b30c3becfbfe424748650802b225cd8f (patch)
treeac22f107850f72f4f1f29295a1f2922aaee7df6f
parent288edae808e5b95b82b3047a95b1b1de2ef01176 (diff)
downloadpyasn1-8e729a36b30c3becfbfe424748650802b225cd8f.tar.gz
prohibit indefinite length DER encoding
-rw-r--r--pyasn1/codec/der/encoder.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/pyasn1/codec/der/encoder.py b/pyasn1/codec/der/encoder.py
index 2044df3..7f55eeb 100644
--- a/pyasn1/codec/der/encoder.py
+++ b/pyasn1/codec/der/encoder.py
@@ -1,6 +1,7 @@
# DER encoder
from pyasn1.type import univ
from pyasn1.codec.cer import encoder
+from pyasn1 import error
class SetOfEncoder(encoder.SetOfEncoder):
def _cmpSetComponents(self, c1, c2):
@@ -24,6 +25,8 @@ typeMap = encoder.typeMap
class Encoder(encoder.Encoder):
supportIndefLength = False
def __call__(self, client, defMode=True, maxChunkSize=0):
+ if not defMode:
+ raise error.PyAsn1Error('DER forbids indefinite length mode')
return encoder.Encoder.__call__(self, client, defMode, maxChunkSize)
encode = Encoder(tagMap, typeMap)