D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
thread-self
/
root
/
usr
/
lib
/
python3.6
/
site-packages
/
pyasn1
/
codec
/
der
/
Filename :
encoder.py
back
Copy
# # This file is part of pyasn1 software. # # Copyright (c) 2005-2017, Ilya Etingof <etingof@gmail.com> # License: http://pyasn1.sf.net/license.html # from pyasn1.type import univ from pyasn1.codec.cer import encoder __all__ = ['encode'] class SetOfEncoder(encoder.SetOfEncoder): @staticmethod def _sortComponents(components): # sort by tags depending on the actual Choice value (dynamic sort) return sorted(components, key=lambda x: isinstance(x, univ.Choice) and x.getComponent().tagSet or x.tagSet) tagMap = encoder.tagMap.copy() tagMap.update({ # Set & SetOf have same tags univ.SetOf.tagSet: SetOfEncoder() }) typeMap = encoder.typeMap.copy() typeMap.update({ # Set & SetOf have same tags univ.Set.typeId: SetOfEncoder(), univ.SetOf.typeId: SetOfEncoder() }) class Encoder(encoder.Encoder): fixedDefLengthMode = True fixedChunkSize = 0 #: Turns ASN.1 object into DER octet stream. #: #: Takes any ASN.1 object (e.g. :py:class:`~pyasn1.type.base.PyAsn1Item` derivative) #: walks all its components recursively and produces a DER octet stream. #: #: Parameters #: ---------- # value: any pyasn1 object (e.g. :py:class:`~pyasn1.type.base.PyAsn1Item` derivative) #: A pyasn1 object to encode #: #: defMode: :py:class:`bool` #: If `False`, produces indefinite length encoding #: #: maxChunkSize: :py:class:`int` #: Maximum chunk size in chunked encoding mode (0 denotes unlimited chunk size) #: #: Returns #: ------- #: : :py:class:`bytes` (Python 3) or :py:class:`str` (Python 2) #: Given ASN.1 object encoded into BER octetstream #: #: Raises #: ------ #: : :py:class:`pyasn1.error.PyAsn1Error` #: On encoding errors encode = Encoder(tagMap, typeMap)
Name
Size
Last Modified
Owner
Permissions
Actions
__pycache__
Dir
July 28 2023 2:58:41
root
0755
__init__.py
0.058
KB
September 15 2017 12:21:01
root
0644
decoder.py
2.118
KB
September 15 2017 12:21:01
root
0644
encoder.py
1.693
KB
October 04 2017 8:07:17
root
0644
2017 © D7net | D704T team