Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/pyasn1_modules/rfc3161.py: 100%
43 statements
« prev ^ index » next coverage.py v7.2.2, created at 2023-03-26 06:04 +0000
« prev ^ index » next coverage.py v7.2.2, created at 2023-03-26 06:04 +0000
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, LLC
7# License: http://snmplabs.com/pyasn1/license.html
8#
9# Time-Stamp Protocol (TSP)
10#
11# ASN.1 source from:
12# https://www.rfc-editor.org/rfc/rfc3161.txt
13#
15from pyasn1.type import constraint
16from pyasn1.type import namedtype
17from pyasn1.type import namedval
18from pyasn1.type import tag
19from pyasn1.type import univ
20from pyasn1.type import useful
22from pyasn1_modules import rfc4210
23from pyasn1_modules import rfc5280
24from pyasn1_modules import rfc5652
27Extensions = rfc5280.Extensions
29AlgorithmIdentifier = rfc5280.AlgorithmIdentifier
31GeneralName = rfc5280.GeneralName
33ContentInfo = rfc5652.ContentInfo
35PKIFreeText = rfc4210.PKIFreeText
38id_ct_TSTInfo = univ.ObjectIdentifier('1.2.840.113549.1.9.16.1.4')
41class Accuracy(univ.Sequence):
42 pass
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)
51class MessageImprint(univ.Sequence):
52 pass
54MessageImprint.componentType = namedtype.NamedTypes(
55 namedtype.NamedType('hashAlgorithm', AlgorithmIdentifier()),
56 namedtype.NamedType('hashedMessage', univ.OctetString())
57)
60class PKIFailureInfo(univ.BitString):
61 pass
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)
75class PKIStatus(univ.Integer):
76 pass
78PKIStatus.namedValues = namedval.NamedValues(
79 ('granted', 0),
80 ('grantedWithMods', 1),
81 ('rejection', 2),
82 ('waiting', 3),
83 ('revocationWarning', 4),
84 ('revocationNotification', 5)
85)
88class PKIStatusInfo(univ.Sequence):
89 pass
91PKIStatusInfo.componentType = namedtype.NamedTypes(
92 namedtype.NamedType('status', PKIStatus()),
93 namedtype.OptionalNamedType('statusString', PKIFreeText()),
94 namedtype.OptionalNamedType('failInfo', PKIFailureInfo())
95)
98class TSAPolicyId(univ.ObjectIdentifier):
99 pass
102class TSTInfo(univ.Sequence):
103 pass
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)
119class TimeStampReq(univ.Sequence):
120 pass
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)
132class TimeStampToken(ContentInfo):
133 pass
136class TimeStampResp(univ.Sequence):
137 pass
139TimeStampResp.componentType = namedtype.NamedTypes(
140 namedtype.NamedType('status', PKIStatusInfo()),
141 namedtype.OptionalNamedType('timeStampToken', TimeStampToken())
142)