Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
rfc3161.py143 linesDownload Raw Back to pyasn1_modules
1#2# This file is part of pyasn1-modules software.3#4# Created by Russ Housley with assistance from asn1ate v.0.6.0.5#6# Copyright (c) 2019, Vigil Security, LLC7# License: http://snmplabs.com/pyasn1/license.html8#9# Time-Stamp Protocol (TSP)10#11# ASN.1 source from:12# https://www.rfc-editor.org/rfc/rfc3161.txt13#14 15from pyasn1.type import constraint16from pyasn1.type import namedtype17from pyasn1.type import namedval18from pyasn1.type import tag19from pyasn1.type import univ20from pyasn1.type import useful21 22from pyasn1_modules import rfc421023from pyasn1_modules import rfc528024from pyasn1_modules import rfc565225 26 27Extensions = rfc5280.Extensions28 29AlgorithmIdentifier = rfc5280.AlgorithmIdentifier30 31GeneralName = rfc5280.GeneralName32 33ContentInfo = rfc5652.ContentInfo34 35PKIFreeText = rfc4210.PKIFreeText36 37 38id_ct_TSTInfo = univ.ObjectIdentifier('1.2.840.113549.1.9.16.1.4')39 40 41class Accuracy(univ.Sequence):42    pass43 44Accuracy.componentType = namedtype.NamedTypes(45    namedtype.OptionalNamedType('seconds', univ.Integer()),46    namedtype.OptionalNamedType('millis', univ.Integer().subtype(subtypeSpec=constraint.ValueRangeConstraint(1, 999)).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))),47    namedtype.OptionalNamedType('micros', univ.Integer().subtype(subtypeSpec=constraint.ValueRangeConstraint(1, 999)).subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1)))48)49 50 51class MessageImprint(univ.Sequence):52    pass53 54MessageImprint.componentType = namedtype.NamedTypes(55    namedtype.NamedType('hashAlgorithm', AlgorithmIdentifier()),56    namedtype.NamedType('hashedMessage', univ.OctetString())57)58 59 60class PKIFailureInfo(univ.BitString):61    pass62 63PKIFailureInfo.namedValues = namedval.NamedValues(64    ('badAlg', 0),65    ('badRequest', 2),66    ('badDataFormat', 5),67    ('timeNotAvailable', 14),68    ('unacceptedPolicy', 15),69    ('unacceptedExtension', 16),70    ('addInfoNotAvailable', 17),71    ('systemFailure', 25)72)73 74 75class PKIStatus(univ.Integer):76    pass77 78PKIStatus.namedValues = namedval.NamedValues(79    ('granted', 0),80    ('grantedWithMods', 1),81    ('rejection', 2),82    ('waiting', 3),83    ('revocationWarning', 4),84    ('revocationNotification', 5)85)86 87 88class PKIStatusInfo(univ.Sequence):89    pass90 91PKIStatusInfo.componentType = namedtype.NamedTypes(92    namedtype.NamedType('status', PKIStatus()),93    namedtype.OptionalNamedType('statusString', PKIFreeText()),94    namedtype.OptionalNamedType('failInfo', PKIFailureInfo())95)96 97 98class TSAPolicyId(univ.ObjectIdentifier):99    pass100 101 102class TSTInfo(univ.Sequence):103    pass104 105TSTInfo.componentType = namedtype.NamedTypes(106    namedtype.NamedType('version', univ.Integer(namedValues=namedval.NamedValues(('v1', 1)))),107    namedtype.NamedType('policy', TSAPolicyId()),108    namedtype.NamedType('messageImprint', MessageImprint()),109    namedtype.NamedType('serialNumber', univ.Integer()),110    namedtype.NamedType('genTime', useful.GeneralizedTime()),111    namedtype.OptionalNamedType('accuracy', Accuracy()),112    namedtype.DefaultedNamedType('ordering', univ.Boolean().subtype(value=0)),113    namedtype.OptionalNamedType('nonce', univ.Integer()),114    namedtype.OptionalNamedType('tsa', GeneralName().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))),115    namedtype.OptionalNamedType('extensions', Extensions().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1)))116)117 118 119class TimeStampReq(univ.Sequence):120    pass121 122TimeStampReq.componentType = namedtype.NamedTypes(123    namedtype.NamedType('version', univ.Integer(namedValues=namedval.NamedValues(('v1', 1)))),124    namedtype.NamedType('messageImprint', MessageImprint()),125    namedtype.OptionalNamedType('reqPolicy', TSAPolicyId()),126    namedtype.OptionalNamedType('nonce', univ.Integer()),127    namedtype.DefaultedNamedType('certReq', univ.Boolean().subtype(value=0)),128    namedtype.OptionalNamedType('extensions', Extensions().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0)))129)130 131 132class TimeStampToken(ContentInfo):133    pass134 135 136class TimeStampResp(univ.Sequence):137    pass138 139TimeStampResp.componentType = namedtype.NamedTypes(140    namedtype.NamedType('status', PKIStatusInfo()),141    namedtype.OptionalNamedType('timeStampToken', TimeStampToken())142)143 
codekingpro/portable-devtools · Team Ai