;i5oddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlm Z dd lm Z dd lm Z e d Z Gd d ejZGdde jZGddeZGddeZGddejZGddejZGddejZGddejZGddejZGddejZGd d!ejZGd"d#ejZGd$d%ejZGd&d'ejZ Gd(d)ejZ!Gd*d+ej"Z#Gd,d-ejZ$Gd.d/ejZ%Gd0d1ejZ&Gd2d3ej'Z(Gd4d5ej)Z*Gd6d7ejZ+Gd8d9ejZ,Gd:d;ejZ-Gd<d=ejZ.Gd>d?ejZ/Gd@dAejZ0GdBdCejZ1GdDdEejZ2GdFdGejZ3GdHdIejZ4GdJdKejZ5GdLdMejZ6GdNdOejZ7ej8dPZ9GdQdRejZ:ej8dSZ;GdTdUej)Z<e6=ej>ej?ej@dVWZAGdXdYej"ZBGdZd[ejZCGd\d]ejZDGd^d_ejZEGd`daejZFeFe6_GeFeA_GdbS)c)char) constraint) namedtype)namedval)tag)univ)useful)rfc2314)rfc2459)rfc2511infceZdZdS) KeyIdentifierN__name__ __module__ __qualname__JC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\pyasn1_modules/rfc4210.pyrrDrrceZdZdS)CMPCertificateNrrrrrrrrrceZdZdS)OOBCertNrrrrrr"rrrceZdZdS)CertAnnContentNrrrrrr&rrrcleZdZdZejZejj e j de zZ dS) PKIFreeTextz> PKIFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String N) rrr__doc__r UTF8String componentTyper SequenceOfsizeSpecrValueSizeConstraintMAXrrrrr*sH$DO%%M'*H**HC*P*PPHHHrrcLeZdZdZGddejZeZdS)PollRepContentz PollRepContent ::= SEQUENCE OF SEQUENCE { certReqId INTEGER, checkAfter INTEGER, -- time in seconds reason PKIFreeText OPTIONAL } c eZdZejejdejejdejejde Z dS)PollRepContent.CertReq certReqId checkAfterreasonN) rrrr NamedTypes NamedTyperIntegerOptionalNamedTyperr#rrrCertReqr+;sn, , I  \T\^^ < < I  ldlnn = = 'I '++-- @ @  rr3Nrrrr!rSequencer3r#rrrr)r)2sQ     $-   GIIMMMrr)cLeZdZdZGddejZeZdS)PollReqContentzh PollReqContent ::= SEQUENCE OF SEQUENCE { certReqId INTEGER } cfeZdZejejdejZdS)PollReqContent.CertReqr,N) rrrrr/r0rr1r#rrrr3r9Ms<, , I  \T\^^ < <  rr3Nr4rrrr7r7EsQ     $-   GIIMMMrr7ceZdZdZejejdejej dej Z dS)InfoTypeAndValuez InfoTypeAndValue ::= SEQUENCE { infoType OBJECT IDENTIFIER, infoValue ANY DEFINED BY infoType OPTIONAL }infoType infoValueN) rrrr!rr/r0rObjectIdentifierr2Anyr#rrrr;r;Usf  )I( J(=(=(?(?@@# #K<<MMMrr;c"eZdZeZdS) GenRepContentNrrrr;r#rrrrArAa$$&&MMMrrAc"eZdZeZdS) GenMsgContentNrBrrrrErEerCrrEceZdZdS)PKIConfirmContentNrrrrrGrGirrrGc,eZdZejZdS) CRLAnnContentN)rrrr CertificateListr#rrrrIrIms+G+--MMMrrIc eZdZdZejejdeejdeejdeZdS)CAKeyUpdAnnContentz CAKeyUpdAnnContent ::= SEQUENCE { oldWithNew CMPCertificate, newWithOld CMPCertificate, newWithNew CMPCertificate } oldWithNew newWithOld newWithNewN) rrrr!rr/r0rr#rrrrLrLqs|)I( L..*:*:;; L..*:*:;; L..*:*:;;MMMrrLceZdZdZejejdejej de j Z dS) RevDetailsz RevDetails ::= SEQUENCE { certDetails CertTemplate, crlEntryDetails Extensions OPTIONAL } certDetailscrlEntryDetailsN) rrrr!rr/r0r CertTemplater2r Extensionsr#rrrrQrQsk )I( M+?7+?+A+ABB# #$57Iw7I7K7KLLMMMrrQc"eZdZeZdS) RevReqContentN)rrrrQr#rrrrWrWJLLMMMrrWc ReZdZdZejejdee j e j e j dejde je j e j e j dZdS) CertOrEncCertz CertOrEncCert ::= CHOICE { certificate [0] CMPCertificate, encryptedCert [1] EncryptedValue } certificater explicitTag encryptedCertr N)rrrr!rr/r0rsubtyperTagtagClassContexttagFormatConstructedr EncryptedValuer#rrrrZrZs )I( M>>+;+;+C+CPWPSPWX[XkmpnFHIQJQJ+C,K,K L L O-CW-C-E-E-M-MZaZ]ZabebuwzxPRS[T[T-M.U.U V VMMMrrZceZdZdZejejdeejde j e j e je jdejde j e j e je jdZdS) CertifiedKeyPairz CertifiedKeyPair ::= SEQUENCE { certOrEncCert CertOrEncCert, privateKey [0] EncryptedValue OPTIONAL, publicationInfo [1] PKIPublicationInfo OPTIONAL } certOrEncCert privateKeyrr\publicationInfor N)rrrr!rr/r0rZr2r rcr_rr`rarbPKIPublicationInfor#rrrreres)I( O]]__==# #L2H'2H2J2J2R2R_f_b_fgjgz|}UWX`Y`Y2R3Z3Z [ [# #$57Qw7Q7S7S7[7[hohkhopsqDFIF^`aibib7[8c8c d dMMMrrec,eZdZejZdS)POPODecKeyRespContentN)rrrrr1r#rrrrkrks DLNNMMMrrkc eZdZdZejejdejej de j ej de j Z dS) Challengez Challenge ::= SEQUENCE { owf AlgorithmIdentifier OPTIONAL, witness OCTET STRING, challenge OCTET STRING } owfwitness challengeN) rrrr!rr/r2r AlgorithmIdentifierr0r OctetStringr#rrrrmrms)I(# #E+F7+F+H+HII I'7t'7'9'9:: K)9)9););<<MMMrrmc >eZdZdZejdddddddZd S) PKIStatusa+ PKIStatus ::= INTEGER { accepted (0), grantedWithMods (1), rejection (2), waiting (3), revocationWarning (4), revocationNotification (5), keyUpdateWarning (6) } )acceptedr)grantedWithModsr ) rejection)waiting)revocationWarning)revocationNotification)keyUpdateWarningNrrrr!r NamedValues namedValuesrrrrtrtsC  '(& %KKKrrtcfeZdZdZejdddddddd d d d d dddddddddddddddZdS)PKIFailureInfoa PKIFailureInfo ::= BIT STRING { badAlg (0), badMessageCheck (1), badRequest (2), badTime (3), badCertId (4), badDataFormat (5), wrongAuthority (6), incorrectData (7), missingTimeStamp (8), badPOP (9), certRevoked (10), certConfirmed (11), wrongIntegrity (12), badRecipientNonce (13), timeNotAvailable (14), unacceptedPolicy (15), unacceptedExtension (16), addInfoNotAvailable (17), badSenderNonce (18), badCertTemplate (19), signerNotTrusted (20), transactionIdInUse (21), unsupportedVersion (22), notAuthorized (23), systemUnavail (24), systemFailure (25), duplicateCertReq (26) )badAlgr)badMessageCheckr ) badRequestrx)badTimerz) badCertIdr|) badDataFormatr~)wrongAuthorityr) incorrectData)missingTimeStamp)badPOP ) certRevoked ) certConfirmed )wrongIntegrity )badRecipientNonce )timeNotAvailable)unacceptedPolicy)unacceptedExtension)addInfoNotAvailable)badSenderNonce)badCertTemplate)signerNotTrusted)transactionIdInUse)unsupportedVersion) notAuthorized) systemUnavail) systemFailure)duplicateCertReqNrrrrrrs<'(&!  ## "" 7KKKrrc eZdZdZejejdeejde ejde Z dS) PKIStatusInfoz PKIStatusInfo ::= SEQUENCE { status PKIStatus, statusString PKIFreeText OPTIONAL, failInfo PKIFailureInfo OPTIONAL } status statusStringfailInfoN) rrrr!rr/r0rtr2rrr#rrrrrsx)I( Hiikk22# #NKKMMBB# #J0@0@AAMMMrrc eZdZdZejejdeejde j ejde Z dS)ErrorMsgContenta7 ErrorMsgContent ::= SEQUENCE { pKIStatusInfo PKIStatusInfo, errorCode INTEGER OPTIONAL, -- implementation-specific error codes errorDetails PKIFreeText OPTIONAL -- implementation-specific error details } pKIStatusInfo errorCode errorDetailsN) rrrr!rr/r0rr2rr1rr#rrrrr$sx)I( O]]__==# #K@@# #NKKMMBBMMMrrc eZdZdZejejdejejdej ej de Z dS) CertStatusz CertStatus ::= SEQUENCE { certHash OCTET STRING, certReqId INTEGER, statusInfo PKIStatusInfo OPTIONAL } certHashr, statusInfoN) rrrr!rr/r0rrrr1r2rr#rrrrr5s~)I( J(8(8(:(:;; K88# #L--//BBMMMrrc"eZdZeZdS)CertConfirmContentN)rrrrr#rrrrrDrXrrc HeZdZdZejejdeejdej ejde j ejde j ej de jZdS) RevAnnContenta RevAnnContent ::= SEQUENCE { status PKIStatus, certId CertId, willBeRevokedAt GeneralizedTime, badSinceDate GeneralizedTime, crlDetails Extensions OPTIONAL } rcertIdwillBeRevokedAt badSinceDate crlDetailsN)rrrr!rr/r0rtr CertIdr GeneralizedTimer2r rUr#rrrrrHs)I( Hiikk22 Hngn&6&677 -/Ev/E/G/GHH N,BF,B,D,DEE# #L2D'2D2F2FGG MMMrrcFeZdZdZejejdeje e j de ej dejeje j de ejejejdej d ejeje j de ejejejdZd S) RevRepContentaI RevRepContent ::= SEQUENCE { status SEQUENCE SIZE (1..MAX) OF PKIStatusInfo, revCerts [0] SEQUENCE SIZE (1..MAX) OF CertId OPTIONAL, crls [1] SEQUENCE SIZE (1..MAX) OF CertificateList OPTIONAL rr )r#r%revCertsr#rr%r]crlsN)rrrr!rr/r0rr$rrr&r'r2r rr_rr`rarbr rJr#rrrrr[s])I(  odo+moo773??  $ # ngn6F6FGGGOO773??#CGC$79QSTUUP  $ # ODO2I'2I2K2KLLLTT773??#CGC$79QSTUUU  MMMrrceZdZdZejejdeejde e j e j e jdejdeje  e j e j e jdejde ejd eje e j e j e jd ejde Zd S) KeyRecRepContenta KeyRecRepContent ::= SEQUENCE { status PKIStatusInfo, newSigCert [0] CMPCertificate OPTIONAL, caCerts [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate OPTIONAL, keyPairHist [2] SEQUENCE SIZE (1..MAX) OF CertifiedKeyPair OPTIONAL } r newSigCertrr\caCertsrr )r]r% keyPairHistrxN)rrrr!rr/r0rr2rr_rr`rarbrr$rr&r'rer#rrrrrzsx  )I( Hmmoo66# # ..**22#CGC$79QSTUU3  $ # t^^5E5EFFFNN#CGC$79QSTUU773??O  $ #M?4?QaQaQcQc3d3d3d3l3l 3S5MqQQ3Z3As;;4m4=4=  MMMrrc eZdZdZejejdejejde ej de ej dej Z dS) CertResponsez CertResponse ::= SEQUENCE { certReqId INTEGER, status PKIStatusInfo, certifiedKeyPair CertifiedKeyPair OPTIONAL, rspInfo OCTET STRING OPTIONAL } r,rcertifiedKeyPairrspInfoN)rrrr!rr/r0rr1rr2rerrr#rrrrrs)I( K88 Hmmoo66# #$68H8H8J8JKK# #I/?t/?/A/ABB MMMrrc HeZdZdZejejdeje  e j de ejejejdejdejeZdS)CertRepMessagez CertRepMessage ::= SEQUENCE { caPubs [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate OPTIONAL, response SEQUENCE OF CertResponse } caPubsrr rresponseN)rrrr!rr/r2rr$rr_rr&r'rr`rarbr0rr#rrrrrs)I(# # odo,n..g=z=aEE")#'#*=s?WYZ"["[]]   Jllnn(U(U(UVVMMMrrc"eZdZeZdS)POPODecKeyChallContentN)rrrrmr#rrrrrsIKKMMMrrc eZdZdZejejdej e j e j e j dejdej e j e j e j dejdejZdS) OOBCertHashz OOBCertHash ::= SEQUENCE { hashAlg [0] AlgorithmIdentifier OPTIONAL, certId [1] CertId OPTIONAL, hashVal BIT STRING } hashAlgrr\rr hashValN)rrrr!rr/r2r rqr_rr`rarbr rr0r BitStringr#rrrrrs)I(# # 2w244<<QTQdfif~ABJCJC<DD   $ # ngn&&..7373CVX[Xprs;t;t.uu    I~t~'7'788MMMrrc0eZdZdZejZdS)NestedMessageContentz. NestedMessageContent ::= PKIMessages N)rrrr!rr?r#rrrrrs'DHJJMMMrrceZdZdZejejdejejdejZ dS) DHBMParametera1 DHBMParameter ::= SEQUENCE { owf AlgorithmIdentifier, -- AlgId for a One-Way Function (SHA-1 recommended) mac AlgorithmIdentifier -- the MAC AlgId (e.g., DES-MAC, Triple-DES-MAC [PKCS11], } -- or HMAC [RFC2104, RFC2202]) rnmacN) rrrr!rr/r0r rqr#rrrrrsj)I( E#>7#>#@#@AA E#>7#>#@#@AAMMMrrz1.2.840.113533.7.66.30c ^eZdZdZejejdej e j ddejde j ejdejejde j Zd S) PBMParameterz PBMParameter ::= SEQUENCE { salt OCTET STRING, owf AlgorithmIdentifier, iterationCount INTEGER, mac AlgorithmIdentifier } saltr) subtypeSpecrniterationCountrN)rrrr!rr/r0rrrr_rr&r rqr1r#rrrrrs)I(  $D$&&..;Y:;YZ[]`;a;a.bb    E#>7#>#@#@AA ,ldlnn== E#>7#>#@#@AA MMMrrz1.2.840.113533.7.66.13ceZdZdS) PKIProtectionNrrrrrrrrrrr\c&eZdZdZejejdej e j e j e j dejde e j e j e j dejdej e j e j e j dejd e e j e j e j d ejd ej e j e j e j d ejd e e j e j e j dejde e j e j e j dejdej e j e j e j dejde e j e j e j dejdej e j e j e j dejde e j e j e j dejde e j e j e j dejde e j e j e j dejdej e j e j e j dejde e j e j e j d ejd!e e j e j e j d"ejd#e e j e j e j d$ejd%e e j e j e j d&ejd'e e j e j e j d(ejd)e e j e j e j d*ejd+eejd,e e j e j e j d-ejd.e e j e j e j d/ejd0e e j e j e j d1ejd2e e j e j e j d3ejd4e e j e j e j d5ejd6e! e j e j e j d7Z"d8S)9PKIBodyag PKIBody ::= CHOICE { -- message-specific body elements ir [0] CertReqMessages, --Initialization Request ip [1] CertRepMessage, --Initialization Response cr [2] CertReqMessages, --Certification Request cp [3] CertRepMessage, --Certification Response p10cr [4] CertificationRequest, --imported from [PKCS10] popdecc [5] POPODecKeyChallContent, --pop Challenge popdecr [6] POPODecKeyRespContent, --pop Response kur [7] CertReqMessages, --Key Update Request kup [8] CertRepMessage, --Key Update Response krr [9] CertReqMessages, --Key Recovery Request krp [10] KeyRecRepContent, --Key Recovery Response rr [11] RevReqContent, --Revocation Request rp [12] RevRepContent, --Revocation Response ccr [13] CertReqMessages, --Cross-Cert. Request ccp [14] CertRepMessage, --Cross-Cert. Response ckuann [15] CAKeyUpdAnnContent, --CA Key Update Ann. cann [16] CertAnnContent, --Certificate Ann. rann [17] RevAnnContent, --Revocation Ann. crlann [18] CRLAnnContent, --CRL Announcement pkiconf [19] PKIConfirmContent, --Confirmation nested [20] NestedMessageContent, --Nested Message genm [21] GenMsgContent, --General Message genp [22] GenRepContent, --General Response error [23] ErrorMsgContent, --Error Message certConf [24] CertConfirmContent, --Certificate confirm pollReq [25] PollReqContent, --Polling request pollRep [26] PollRepContent --Polling response irrr\ipr crrxcprzp10crr|popdeccr~popdecrrkurrkuprkrrrkrprrrrrprccrrccprckuannrcannrrannrcrlannrpkiconfrnestedgenmrgenrerrorrcertConfrpollReqrpollReprN)#rrrr!rr/r0r CertReqMessagesr_rr`rarbrr CertificationRequestrrkrrWrrLrrrIrGnestedMessageContentrErArrr7r)r#rrrrrs>)I(  )')++33#CGC$79QSTUU4    ..""**#CGC$79QSTUU+    )')++33#CGC$79QSTUU4    ..""**#CGC$79QSTUU+    1W133;;#CGC$79QSTUU<    --//77#CGC$79QSTUU8    ,,..66#CGC$79QSTUU7    *7*,,44#CGC$79QSTUU5    >>##++#CGC$79QSTUU,    *7*,,44#CGC$79QSTUU5    ##%%--#CGC$79QSUVV.    --//))#CGC$79QSUVV*    --//))#CGC$79QSUVV*    *7*,,44#CGC$79QSUVV5    >>##++#CGC$79QSUVV,    ((**22#CGC$79QSUVV3    NN$$,,#CGC$79QSUVV-    MMOO++#CGC$79QSUVV,    mmoo--#CGC$79QSUVV.    ((**22#CGC$79QSUVV3    *     MMOO++#CGC$79QSUVV,    ==??**#CGC$79QSUVV+    __&&..#CGC$79QSUVV/    **,,44#CGC$79QSUVV5    ~~''//#CGC$79QSUVV0    ~~''//#CGC$79QSUVV0  KJJMMMrrceZdZdZejejdeje j ddejde j ejde j ej dejejejejd  ej d e jejejejd  ej d e jejejejd ej de jejejejd ej dejejejejd ej dejejejejd ej dejejejejd ej deejejejd ej dejeejd eejejejd  ZdS) PKIHeadera PKIHeader ::= SEQUENCE { pvno INTEGER { cmp1999(1), cmp2000(2) }, sender GeneralName, recipient GeneralName, messageTime [0] GeneralizedTime OPTIONAL, protectionAlg [1] AlgorithmIdentifier OPTIONAL, senderKID [2] KeyIdentifier OPTIONAL, recipKID [3] KeyIdentifier OPTIONAL, transactionID [4] OCTET STRING OPTIONAL, senderNonce [5] OCTET STRING OPTIONAL, recipNonce [6] OCTET STRING OPTIONAL, freeText [7] PKIFreeText OPTIONAL, generalInfo [8] SEQUENCE SIZE (1..MAX) OF InfoTypeAndValue OPTIONAL } pvno)cmp1999r )cmp2000rx)rsender recipient messageTimerr\ protectionAlgr senderKIDrxrecipKIDrz transactionIDr| senderNoncer~ recipNoncerfreeTextr generalInfo)r%rrN) rrrr!rr/r0rr1rrr GeneralNamer2r rr_rr`ratagFormatSimplerqrbrrrrr$r;rr&r'r#rrrrrs$)I(  LDL0H0PP   H&9g&9&;&;<< K)<)<)>)>??# #M3I63I3K3K3S3S 3S5H!LL4T4N4N O O# #O5PW5P5R5R5Z5Z 3S5MqQQ6[6S6S T T# #K1F1F1H1H1P1P 3S5H!LL2Q2N2N O O# #J0E0E0G0G0O0O 3S5H!LL1P1N1N O O# #O5ET5E5G5G5O5O 3S5H!LL6P6N6N O O# #M3C43C3E3E3M3M 3S5H!LL4N4N4N O O# #L2B$2B2D2D2L2L 3S5H!LL3M3N3N O O# #J 0E0E 3S5MqQQ1F1S1S T T# #M$3DO6F6F6H6H6P6P5SZ5STUWZ5[5[7Q7*7*%&%&%&'.g 3S5H!LL'.'N'N   1  MMMrrceZdZdZejejdeejdeZ dS) ProtectedPartzg ProtectedPart ::= SEQUENCE { header PKIHeader, body PKIBody } headerr=N) rrrr!rr/r0rrr#rrrr'r's^ )I( Hiikk22 K33MMMrr'ceZdZdZejejdeejdeej de e j e je jdej deje ejd ee j e je jd  Zd S) PKIMessagez PKIMessage ::= SEQUENCE { header PKIHeader, body PKIBody, protection [0] PKIProtection OPTIONAL, extraCerts [1] SEQUENCE SIZE (1..MAX) OF CMPCertificate OPTIONAL }r(body protectionrr\ extraCertsrr rN)rrrr!rr/r0rrr2rr_rr`rar%rr$rrr&r'rbr#rrrr*r*s%  )I( Hiikk22 FGGII..# #L--//2I2I 3S5H!LL3J3N3N O O# #L$3DO6Dn6F6F%&%&%&&-g1O1OPQSV1W1W4;CGC PKIMessages ::= SEQUENCE SIZE (1..MAX) OF PKIMessage r N) rrrr!r*r#rr$r%rr&r'rrrr/r/sDJLLM'*H**HC*P*PPHHHrr/N)H pyasn1.typerrrrrrr pyasn1_modulesr r r floatr'rrr Certificaterrrr$rr)r7r5r;rArENullrGrIrLrQrWChoicerZrerkrmr1rtrrrrrrrrrrrrrrrr> id_DHBasedMacrid_PasswordBasedMacrr_r`rarbrrrr'r*r/_componentTyperrrr9s""""""!!!!!! """""""""""""""""" eEll     D$        W(        n        ^   QQQQQ$/QQQT_&     T_        t}   '''''DO''''''''DO'''         .....DO...                !!!!!DO!!!     DK        t}   #####DO###         .;;;;;T^;;;|     DM   dm"        !!!!!!!!DM&DM>t}>4="T]&     T_   $-*4?     DM   &%&>?? 4=&,d+,DEE     DN   ,+--55+S-ErJJ6LLjjjjjdkjjjZ33333 333l     DM   2QQQQQ$/QQQ'2kmm#&1kmm###r