NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

rfc2511.py (8872B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\carbon\common\lib\pyasn1_modules\rfc2511.py
      2 from pyasn1.type import tag, namedtype, namedval, univ, constraint, char, useful
      3 from pyasn1_modules.rfc2459 import *
      4 from pyasn1_modules import rfc2315
      5 MAX = 16
      6 id_pkix = univ.ObjectIdentifier('1.3.6.1.5.5.7')
      7 id_pkip = univ.ObjectIdentifier('1.3.6.1.5.5.7.5')
      8 id_regCtrl = univ.ObjectIdentifier('1.3.6.1.5.5.7.5.1')
      9 id_regCtrl_regToken = univ.ObjectIdentifier('1.3.6.1.5.5.7.5.1.1')
     10 id_regCtrl_authenticator = univ.ObjectIdentifier('1.3.6.1.5.5.7.5.1.2')
     11 id_regCtrl_pkiPublicationInfo = univ.ObjectIdentifier('1.3.6.1.5.5.7.5.1.3')
     12 id_regCtrl_pkiArchiveOptions = univ.ObjectIdentifier('1.3.6.1.5.5.7.5.1.4')
     13 id_regCtrl_oldCertID = univ.ObjectIdentifier('1.3.6.1.5.5.7.5.1.5')
     14 id_regCtrl_protocolEncrKey = univ.ObjectIdentifier('1.3.6.1.5.5.7.5.1.6')
     15 id_regInfo = univ.ObjectIdentifier('1.3.6.1.5.5.7.5.2')
     16 id_regInfo_utf8Pairs = univ.ObjectIdentifier('1.3.6.1.5.5.7.5.2.1')
     17 id_regInfo_certReq = univ.ObjectIdentifier('1.3.6.1.5.5.7.5.2.2')
     18 
     19 class GeneralName(univ.OctetString):
     20     pass
     21 
     22 
     23 class UTF8Pairs(char.UTF8String):
     24     pass
     25 
     26 
     27 class ProtocolEncrKey(SubjectPublicKeyInfo):
     28     pass
     29 
     30 
     31 class CertId(univ.Sequence):
     32     componentType = namedtype.NamedTypes(namedtype.NamedType('issuer', GeneralName()), namedtype.NamedType('serialNumber', univ.Integer()))
     33 
     34 
     35 class OldCertId(CertId):
     36     pass
     37 
     38 
     39 class KeyGenParameters(univ.OctetString):
     40     pass
     41 
     42 
     43 class EncryptedValue(univ.Sequence):
     44     componentType = namedtype.NamedTypes(namedtype.OptionalNamedType('intendedAlg', AlgorithmIdentifier().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0))), namedtype.OptionalNamedType('symmAlg', AlgorithmIdentifier().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 1))), namedtype.OptionalNamedType('encSymmKey', univ.BitString().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 2))), namedtype.OptionalNamedType('keyAlg', AlgorithmIdentifier().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 3))), namedtype.OptionalNamedType('valueHint', univ.OctetString().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 4))), namedtype.NamedType('encValue', univ.BitString()))
     45 
     46 
     47 class EncryptedKey(univ.Choice):
     48     componentType = namedtype.NamedTypes(namedtype.NamedType('encryptedValue', EncryptedValue()), namedtype.NamedType('envelopedData', rfc2315.EnvelopedData().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0))))
     49 
     50 
     51 class PKIArchiveOptions(univ.Choice):
     52     componentType = namedtype.NamedTypes(namedtype.NamedType('encryptedPrivKey', EncryptedKey().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0))), namedtype.NamedType('keyGenParameters', KeyGenParameters().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))), namedtype.NamedType('archiveRemGenPrivKey', univ.Boolean().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2))))
     53 
     54 
     55 class SinglePubInfo(univ.Sequence):
     56     componentType = namedtype.NamedTypes(namedtype.NamedType('pubMethod', univ.Integer(namedValues=namedval.NamedValues(('dontCare', 0), ('x500', 1), ('web', 2), ('ldap', 3)))), namedtype.OptionalNamedType('pubLocation', GeneralName()))
     57 
     58 
     59 class PKIPublicationInfo(univ.Sequence):
     60     componentType = namedtype.NamedTypes(namedtype.NamedType('action', univ.Integer(namedValues=namedval.NamedValues(('dontPublish', 0), ('pleasePublish', 1)))), namedtype.OptionalNamedType('pubInfos', univ.SequenceOf(componentType=SinglePubInfo()).subtype(subtypeSpec=constraint.ValueSizeConstraint(1, MAX))))
     61 
     62 
     63 class Authenticator(char.UTF8String):
     64     pass
     65 
     66 
     67 class RegToken(char.UTF8String):
     68     pass
     69 
     70 
     71 class SubsequentMessage(univ.Integer):
     72     namedValues = namedval.NamedValues(('encrCert', 0), ('challengeResp', 1))
     73 
     74 
     75 class POPOPrivKey(univ.Choice):
     76     componentType = namedtype.NamedTypes(namedtype.NamedType('thisMessage', univ.BitString().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.NamedType('subsequentMessage', SubsequentMessage().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))), namedtype.NamedType('dhMAC', univ.BitString().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 2))))
     77 
     78 
     79 class PBMParameter(univ.Sequence):
     80     componentType = namedtype.NamedTypes(namedtype.NamedType('salt', univ.OctetString()), namedtype.NamedType('owf', AlgorithmIdentifier()), namedtype.NamedType('iterationCount', univ.Integer()), namedtype.NamedType('mac', AlgorithmIdentifier()))
     81 
     82 
     83 class PKMACValue(univ.Sequence):
     84     componentType = namedtype.NamedTypes(namedtype.NamedType('algId', AlgorithmIdentifier()), namedtype.NamedType('value', univ.BitString()))
     85 
     86 
     87 class POPOSigningKeyInput(univ.Sequence):
     88     componentType = namedtype.NamedTypes(namedtype.NamedType('authInfo', univ.Choice(componentType=namedtype.NamedTypes(namedtype.NamedType('sender', GeneralName().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.NamedType('publicKeyMAC', PKMACValue())))), namedtype.NamedType('publicKey', SubjectPublicKeyInfo()))
     89 
     90 
     91 class POPOSigningKey(univ.Sequence):
     92     componentType = namedtype.NamedTypes(namedtype.OptionalNamedType('poposkInput', POPOSigningKeyInput().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 0))), namedtype.NamedType('algorithmIdentifier', AlgorithmIdentifier()), namedtype.NamedType('signature', univ.BitString()))
     93 
     94 
     95 class ProofOfPossession(univ.Choice):
     96     componentType = namedtype.NamedTypes(namedtype.NamedType('raVerified', univ.Null().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.NamedType('signature', POPOSigningKey().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 1))), namedtype.NamedType('keyEncipherment', POPOPrivKey().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 2))), namedtype.NamedType('keyAgreement', POPOPrivKey().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 3))))
     97 
     98 
     99 class Controls(univ.SequenceOf):
    100     componentType = AttributeTypeAndValue()
    101     subtypeSpec = univ.SequenceOf.subtypeSpec + constraint.ValueSizeConstraint(1, MAX)
    102 
    103 
    104 class OptionalValidity(univ.Sequence):
    105     componentType = namedtype.NamedTypes(namedtype.OptionalNamedType('notBefore', Time().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.OptionalNamedType('notAfter', Time().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))))
    106 
    107 
    108 class CertTemplate(univ.Sequence):
    109     componentType = namedtype.NamedTypes(namedtype.OptionalNamedType('version', Version().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 0))), namedtype.OptionalNamedType('serialNumber', univ.Integer().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 1))), namedtype.OptionalNamedType('signingAlg', AlgorithmIdentifier().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 2))), namedtype.OptionalNamedType('issuer', Name().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 3))), namedtype.OptionalNamedType('validity', OptionalValidity().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 4))), namedtype.OptionalNamedType('subject', Name().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 5))), namedtype.OptionalNamedType('publicKey', SubjectPublicKeyInfo().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 6))), namedtype.OptionalNamedType('issuerUID', UniqueIdentifier().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 7))), namedtype.OptionalNamedType('subjectUID', UniqueIdentifier().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatSimple, 8))), namedtype.OptionalNamedType('extensions', Extensions().subtype(implicitTag=tag.Tag(tag.tagClassContext, tag.tagFormatConstructed, 9))))
    110 
    111 
    112 class CertRequest(univ.Sequence):
    113     componentType = namedtype.NamedTypes(namedtype.NamedType('certReqId', univ.Integer()), namedtype.NamedType('certTemplate', CertTemplate()), namedtype.OptionalNamedType('controls', Controls()))
    114 
    115 
    116 class CertReq(CertRequest):
    117     pass
    118 
    119 
    120 class CertReqMsg(univ.Sequence):
    121     componentType = namedtype.NamedTypes(namedtype.NamedType('certReq', CertRequest()), namedtype.OptionalNamedType('pop', ProofOfPossession()), namedtype.OptionalNamedType('regInfo', univ.SequenceOf(componentType=AttributeTypeAndValue()).subtype(subtypeSpec=constraint.ValueSizeConstraint(1, MAX))))
    122 
    123 
    124 class CertReqMessages(univ.SequenceOf):
    125     componentType = CertReqMsg()
    126     subtypeSpec = univ.SequenceOf.subtypeSpec + constraint.ValueSizeConstraint(1, MAX)