OXIESEC PANEL
- Current Dir:
/
/
snap
/
core
/
17210
/
usr
/
lib
/
python3
/
dist-packages
/
pyasn1
/
codec
/
der
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
10/02/2024 07:52:54 PM
rwxr-xr-x
📄
__init__.py
59 bytes
07/04/2012 12:36:21 PM
rw-r--r--
📁
__pycache__
-
10/02/2024 07:52:55 PM
rwxr-xr-x
📄
decoder.py
200 bytes
04/25/2015 10:57:21 PM
rw-r--r--
📄
encoder.py
1.11 KB
06/05/2015 04:35:05 PM
rw-r--r--
Editing: encoder.py
Close
# 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): tagSet1 = isinstance(c1, univ.Choice) and \ c1.getEffectiveTagSet() or c1.getTagSet() tagSet2 = isinstance(c2, univ.Choice) and \ c2.getEffectiveTagSet() or c2.getTagSet() return cmp(tagSet1, tagSet2) tagMap = encoder.tagMap.copy() tagMap.update({ # Overload CER encoders with BER ones (a bit hackerish XXX) univ.BitString.tagSet: encoder.encoder.BitStringEncoder(), univ.OctetString.tagSet: encoder.encoder.OctetStringEncoder(), # Set & SetOf have same tags univ.SetOf().tagSet: SetOfEncoder() }) 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)