Skip to content

Commit b6c592f

Browse files
author
Ladislav Andel
committed
Returning offset for multiple object ASN.1 stream with separated records
1 parent c09b87c commit b6c592f

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

asn1crypto/core.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ class Asn1Value(object):
205205
_native = None
206206

207207
@classmethod
208-
def load(cls, encoded_data, strict=False, **kwargs):
208+
def load(cls, encoded_data, strict=False, return_offset=False, **kwargs):
209209
"""
210210
Loads a BER/DER-encoded byte string using the current class as the spec
211211
@@ -227,8 +227,12 @@ def load(cls, encoded_data, strict=False, **kwargs):
227227
if cls.tag is not None:
228228
spec = cls
229229

230-
value, _ = _parse_build(encoded_data, spec=spec, spec_params=kwargs, strict=strict)
231-
return value
230+
if return_offset:
231+
value, new_pointer = _parse_build(encoded_data, spec=spec, spec_params=kwargs, strict=strict)
232+
return value, new_pointer
233+
else:
234+
value, _ = _parse_build(encoded_data, spec=spec, spec_params=kwargs, strict=strict)
235+
return value
232236

233237
def __init__(self, explicit=None, implicit=None, no_explicit=False, tag_type=None, class_=None, tag=None,
234238
optional=None, default=None, contents=None, method=None):

0 commit comments

Comments
 (0)