8.2.34 | Linux | www-data (uid:33)
👁 View: tsp.py
📁 //snap/core18/current/usr/lib/python3/dist-packages/asn1crypto/tsp.py
# coding: utf-8 """ ASN.1 type classes for the time stamp protocol (TSP). Exports the following items: - TimeStampReq() - TimeStampResp() Also adds TimeStampedData() support to asn1crypto.cms.ContentInfo(), TimeStampedData() and TSTInfo() support to asn1crypto.cms.EncapsulatedContentInfo() and some oids and value parsers to asn1crypto.cms.CMSAttribute(). Other type classes are defined that help compose the types listed above. """ from __future__ import unicode_literals, division, absolute_import, print_function from .algos import DigestAlgorithm from .cms import ( CMSAttribute, CMSAttributeType, ContentInfo, ContentType, EncapsulatedContentInfo, ) from .core import ( Any, BitString, Boolean, Choice, GeneralizedTime, IA5String, Integer, ObjectIdentifier, OctetString, Sequence, SequenceOf, SetOf, UTF8String, ) from .crl import CertificateList from .x509 import ( Attributes, CertificatePolicies, GeneralName, GeneralNames, ) # The structures in this file are based on https://tools.ietf.org/html/rfc3161, # https://tools.ietf.org/html/rfc4998, https://tools.ietf.org/html/rfc5544, # https://tools.ietf.org/html/rfc5035, https://tools.ietf.org/html/rfc2634 class Version(Integer): _map = { 0: 'v0', 1: 'v1', 2: 'v2', 3: 'v3', 4: 'v4', 5: 'v5', } class MessageImprint(Sequence): _fields = [ ('hash_algorithm', DigestAlgorithm), ('hashed_message', OctetString), ] class Accuracy(Sequence): _fields = [ ('seconds', Integer, {'optional': True}), ('millis', Integer, {'implicit': 0, 'optional': True}), ('micros', Integer, {'implicit': 1, 'optional': True}), ] class Extension(Sequence): _fields = [ ('extn_id', ObjectIdentifier), ('critical', Boolean, {'default': False}), ('extn_value', OctetString), ] class Extensions(SequenceOf): _child_spec = Extension class TSTInfo(Sequence): _fields = [ ('version', Version), ('policy', ObjectIdentifier), ('message_imprint', MessageImprint), ('serial_number', Integer), ('gen_time', GeneralizedTime), ('accuracy', Accuracy, {'optional': True}), ('ordering', Boolean, {'default': False}), ('nonce', Integer, {'optional': True}), ('tsa', GeneralName, {'explicit': 0, 'optional': True}), ('extensions', Extensions, {'implicit': 1, 'optional': True}), ] class TimeStampReq(Sequence): _fields = [ ('version', Version), ('message_imprint', MessageImprint), ('req_policy', ObjectIdentifier, {'optional': True}), ('nonce', Integer, {'optional': True}), ('cert_req', Boolean, {'default': False}), ('extensions', Extensions, {'implicit': 0, 'optional': True}), ] class PKIStatus(Integer): _map = { 0: 'granted', 1: 'granted_with_mods', 2: 'rejection', 3: 'waiting', 4: 'revocation_warning', 5: 'revocation_notification', } class PKIFreeText(SequenceOf): _child_spec = UTF8String class PKIFailureInfo(BitString): _map = { 0: 'bad_alg', 2: 'bad_request', 5: 'bad_data_format', 14: 'time_not_available', 15: 'unaccepted_policy', 16: 'unaccepted_extensions', 17: 'add_info_not_available', 25: 'system_failure', } class PKIStatusInfo(Sequence): _fields = [ ('status', PKIStatus), ('status_string', PKIFreeText, {'optional': True}), ('fail_info', PKIFailureInfo, {'optional': True}), ] class TimeStampResp(Sequence): _fields = [ ('status', PKIStatusInfo), ('time_stamp_token', ContentInfo), ] class MetaData(Sequence): _fields = [ ('hash_protected', Boolean), ('file_name', UTF8String, {'optional': True}), ('media_type', IA5String, {'optional': True}), ('other_meta_data', Attributes, {'optional': True}), ] class TimeStampAndCRL(SequenceOf): _fields = [ ('time_stamp', EncapsulatedContentInfo), ('crl', CertificateList, {'optional': True}), ] class TimeStampTokenEvidence(SequenceOf): _child_spec = TimeStampAndCRL class DigestAlgorithms(SequenceOf): _child_spec = DigestAlgorithm class EncryptionInfo(Sequence): _fields = [ ('encryption_info_type', ObjectIdentifier), ('encryption_info_value', Any), ] class PartialHashtree(SequenceOf): _child_spec = OctetString class PartialHashtrees(SequenceOf): _child_spec = PartialHashtree class ArchiveTimeStamp(Sequence): _fields = [ ('digest_algorithm', DigestAlgorithm, {'implicit': 0, 'optional': True}), ('attributes', Attributes, {'implicit': 1, 'optional': True}), ('reduced_hashtree', PartialHashtrees, {'implicit': 2, 'optional': True}), ('time_stamp', ContentInfo), ] class ArchiveTimeStampSequence(SequenceOf): _child_spec = ArchiveTimeStamp class EvidenceRecord(Sequence): _fields = [ ('version', Version), ('digest_algorithms', DigestAlgorithms), ('crypto_infos', Attributes, {'implicit': 0, 'optional': True}), ('encryption_info', EncryptionInfo, {'implicit': 1, 'optional': True}), ('archive_time_stamp_sequence', ArchiveTimeStampSequence), ] class OtherEvidence(Sequence): _fields = [ ('oe_type', ObjectIdentifier), ('oe_value', Any), ] class Evidence(Choice): _alternatives = [ ('tst_evidence', TimeStampTokenEvidence, {'implicit': 0}), ('ers_evidence', EvidenceRecord, {'implicit': 1}), ('other_evidence', OtherEvidence, {'implicit': 2}), ] class TimeStampedData(Sequence): _fields = [ ('version', Version), ('data_uri', IA5String, {'optional': True}), ('meta_data', MetaData, {'optional': True}), ('content', OctetString, {'optional': True}), ('temporal_evidence', Evidence), ] class IssuerSerial(Sequence): _fields = [ ('issuer', GeneralNames), ('serial_number', Integer), ] class ESSCertID(Sequence): _fields = [ ('cert_hash', OctetString), ('issuer_serial', IssuerSerial, {'optional': True}), ] class ESSCertIDs(SequenceOf): _child_spec = ESSCertID class SigningCertificate(Sequence): _fields = [ ('certs', ESSCertIDs), ('policies', CertificatePolicies, {'optional': True}), ] class SetOfSigningCertificates(SetOf): _child_spec = SigningCertificate class ESSCertIDv2(Sequence): _fields = [ ('hash_algorithm', DigestAlgorithm, {'default': {'algorithm': 'sha256'}}), ('cert_hash', OctetString), ('issuer_serial', IssuerSerial, {'optional': True}), ] class ESSCertIDv2s(SequenceOf): _child_spec = ESSCertIDv2 class SigningCertificateV2(Sequence): _fields = [ ('certs', ESSCertIDv2s), ('policies', CertificatePolicies, {'optional': True}), ] class SetOfSigningCertificatesV2(SetOf): _child_spec = SigningCertificateV2 EncapsulatedContentInfo._oid_specs['tst_info'] = TSTInfo EncapsulatedContentInfo._oid_specs['timestamped_data'] = TimeStampedData ContentInfo._oid_specs['timestamped_data'] = TimeStampedData ContentType._map['1.2.840.113549.1.9.16.1.4'] = 'tst_info' ContentType._map['1.2.840.113549.1.9.16.1.31'] = 'timestamped_data' CMSAttributeType._map['1.2.840.113549.1.9.16.2.12'] = 'signing_certificate' CMSAttribute._oid_specs['signing_certificate'] = SetOfSigningCertificates CMSAttributeType._map['1.2.840.113549.1.9.16.2.47'] = 'signing_certificate_v2' CMSAttribute._oid_specs['signing_certificate_v2'] = SetOfSigningCertificatesV2
← Back
💻 Terminal
📤 Upload
📂
Click or Drag & Drop
📁 //snap/core18/current/usr/lib/python3/dist-packages/asn1crypto
NameSizePermModifiedActions
📁 __pycache__/-07552026-09-01 05:19🗑 Delete
📁 _perf/-07552026-09-01 05:19🗑 Delete
__init__.py209B06442017-01-24 14:23👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_elliptic_curve.py9.2K06442017-11-07 21:32👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_errors.py967B06442017-08-04 14:19👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_ffi.py738B06442016-07-15 01:53👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_inet.py4.6K06442017-11-07 21:09👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_int.py4.5K06442017-01-23 16:49👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_iri.py8.4K06442017-03-03 11:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_ordereddict.py4.4K06442015-10-08 13:39👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_teletex_codec.py4.9K06442015-10-08 13:39👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
_types.py939B06442017-02-01 12:20👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
algos.py33.3K06442017-11-22 16:10👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
cms.py24.5K06442017-11-20 12:22👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
core.py153.6K06442017-11-21 17:02👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
crl.py15.7K06442017-09-15 10:48👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
csr.py2.1K06442017-09-15 10:48👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
keys.py34.4K06442017-11-22 16:15👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
ocsp.py17.4K06442017-09-15 10:49👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
parser.py8.9K06442017-08-04 14:19👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pdf.py2.2K06442017-09-15 10:49👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pem.py6K06442017-11-28 16:18👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
pkcs12.py4.5K06442017-09-15 10:49👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
tsp.py7.6K06442017-09-15 10:49👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
util.py17.6K06442017-02-01 12:20👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
version.py154B06442017-12-14 21:01👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del
x509.py90.1K06442017-12-14 21:01👁 View ✏️ Edit 📝 Rename 📦 Move 🗑 Del