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

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# 

14 

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 

21 

22from pyasn1_modules import rfc4210 

23from pyasn1_modules import rfc5280 

24from pyasn1_modules import rfc5652 

25 

26 

27Extensions = rfc5280.Extensions 

28 

29AlgorithmIdentifier = rfc5280.AlgorithmIdentifier 

30 

31GeneralName = rfc5280.GeneralName 

32 

33ContentInfo = rfc5652.ContentInfo 

34 

35PKIFreeText = rfc4210.PKIFreeText 

36 

37 

38id_ct_TSTInfo = univ.ObjectIdentifier('1.2.840.113549.1.9.16.1.4') 

39 

40 

41class Accuracy(univ.Sequence): 

42 pass 

43 

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 pass 

53 

54MessageImprint.componentType = namedtype.NamedTypes( 

55 namedtype.NamedType('hashAlgorithm', AlgorithmIdentifier()), 

56 namedtype.NamedType('hashedMessage', univ.OctetString()) 

57) 

58 

59 

60class PKIFailureInfo(univ.BitString): 

61 pass 

62 

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 pass 

77 

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 pass 

90 

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 pass 

100 

101 

102class TSTInfo(univ.Sequence): 

103 pass 

104 

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 pass 

121 

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 pass 

134 

135 

136class TimeStampResp(univ.Sequence): 

137 pass 

138 

139TimeStampResp.componentType = namedtype.NamedTypes( 

140 namedtype.NamedType('status', PKIStatusInfo()), 

141 namedtype.OptionalNamedType('timeStampToken', TimeStampToken()) 

142)