/usr/lib/python3/dist-packages/pyasn1_modules
NameSizeModeActions
__pycache__/-0755rm
pem.py20520644editdlrm
rfc1155.py26770644editdlrm
rfc1157.py35480644editdlrm
rfc1901.py6400644editdlrm
rfc1902.py36990644editdlrm
rfc1905.py48310644editdlrm
rfc2251.py269250644editdlrm
rfc2314.py13070644editdlrm
rfc2315.py96430644editdlrm
rfc2437.py26170644editdlrm
rfc2459.py500130644editdlrm
rfc2511.py103620644editdlrm
rfc2560.py84000644editdlrm
rfc3279.py59660644editdlrm
rfc3280.py466620644editdlrm
rfc3281.py98600644editdlrm
rfc3412.py19500644editdlrm
rfc3414.py11610644editdlrm
rfc3447.py16050644editdlrm
rfc3852.py201130644editdlrm
rfc4210.py283770644editdlrm
rfc4211.py121100644editdlrm
rfc5208.py14260644editdlrm
rfc5280.py494990644editdlrm
rfc5652.py201130644editdlrm
rfc6402.py150190644editdlrm
__init__.py650644editdlrm
Edit: /usr/lib/python3/dist-packages/pyasn1_modules/pem.py (2052B)
# # This file is part of pyasn1-modules software. # # Copyright (c) 2005-2017, Ilya Etingof # License: http://pyasn1.sf.net/license.html # import base64 import sys stSpam, stHam, stDump = 0, 1, 2 # The markers parameters is in form ('start1', 'stop1'), ('start2', 'stop2')... # Return is (marker-index, substrate) def readPemBlocksFromFile(fileObj, *markers): startMarkers = dict(map(lambda x: (x[1], x[0]), enumerate(map(lambda y: y[0], markers)))) stopMarkers = dict(map(lambda x: (x[1], x[0]), enumerate(map(lambda y: y[1], markers)))) idx = -1 substrate = '' certLines = [] state = stSpam while True: certLine = fileObj.readline() if not certLine: break certLine = certLine.strip() if state == stSpam: if certLine in startMarkers: certLines = [] idx = startMarkers[certLine] state = stHam continue if state == stHam: if certLine in stopMarkers and stopMarkers[certLine] == idx: state = stDump else: certLines.append(certLine) if state == stDump: if sys.version_info[0] <= 2: substrate = ''.join([base64.b64decode(x) for x in certLines]) else: substrate = ''.encode().join([base64.b64decode(x.encode()) for x in certLines]) break return idx, substrate # Backward compatibility routine def readPemFromFile(fileObj, startMarker='-----BEGIN CERTIFICATE-----', endMarker='-----END CERTIFICATE-----'): idx, substrate = readPemBlocksFromFile(fileObj, (startMarker, endMarker)) return substrate def readBase64fromText(text): if sys.version_info[0] <= 2: return base64.b64decode(text) else: return base64.b64decode(text.encode()) def readBase64FromFile(fileObj): return readBase64fromText(fileObj.read())