import datetime import asn1crypto.algos import asn1crypto.cms import asn1crypto.core import asn1crypto.crl import asn1crypto.tsp import asn1crypto.x509 ci = asn1crypto.cms.ContentInfo( { 'content_type': 'signed_data', 'content': asn1crypto.cms.SignedData( { 'version': 'v1', 'digest_algorithms': asn1crypto.cms.DigestAlgorithms( [ asn1crypto.algos.DigestAlgorithm( {'algorithm': 'sha256', 'parameters': asn1crypto.core.Null()} ) ] ), 'encap_content_info': asn1crypto.cms.ContentInfo({'content_type': 'data'}), 'certificates': asn1crypto.cms.CertificateSet( [ asn1crypto.cms.CertificateChoices( 'certificate', asn1crypto.x509.Certificate( { 'tbs_certificate': asn1crypto.x509.TbsCertificate( { 'version': 'v3', 'serial_number': 703772667869785564450782532369350893519182404576, 'signature': asn1crypto.algos.SignedDigestAlgorithm( { 'algorithm': 'sha256_rsa', 'parameters': asn1crypto.core.Null(), } ), 'issuer': asn1crypto.x509.Name( '', asn1crypto.x509.RDNSequence( [ asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'country_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'SE' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'postal_code', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( '11156' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'street_address', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'Box 3437, Stockholm' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'email_address', 'value': asn1crypto.x509.EmailAddress( 'support@zealid.com' ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'organization_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'ZealiD AB' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'common_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'ZealiD Root CA 2021 STG' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'organization_identifier', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'SE5569724288' ), ), } ) ] ), ] ), ), 'validity': asn1crypto.x509.Validity( { 'not_before': asn1crypto.x509.Time( 'utc_time', asn1crypto.core.UTCTime( datetime.datetime( 2021, 10, 22, 13, 56, 20, tzinfo=datetime.timezone.utc, ) ), ), 'not_after': asn1crypto.x509.Time( 'general_time', asn1crypto.core.GeneralizedTime( datetime.datetime( 2051, 10, 22, 13, 56, 20, tzinfo=datetime.timezone.utc, ) ), ), } ), 'subject': asn1crypto.x509.Name( '', asn1crypto.x509.RDNSequence( [ asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'country_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'SE' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'postal_code', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( '11156' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'street_address', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'Box 3437, Stockholm' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'email_address', 'value': asn1crypto.x509.EmailAddress( 'support@zealid.com' ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'organization_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'ZealiD AB' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'common_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'ZealiD Root CA 2021 STG' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'organization_identifier', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'SE5569724288' ), ), } ) ] ), ] ), ), 'subject_public_key_info': asn1crypto.keys.PublicKeyInfo( { 'algorithm': asn1crypto.keys.PublicKeyAlgorithm( { 'algorithm': 'rsa', 'parameters': asn1crypto.core.Null(), } ), 'public_key': asn1crypto.keys.RSAPublicKey( { 'modulus': 833291744077196149854069618688711883845660292506168118305304676543087010046154228574597270102308292945633842699042414155132522685498966296731634848473410290972815009106898829977349431890424909033972093571795284800223780697323400369560402421854281899609318528148672367411061131785126604958568195663239245626221758008963292323165146929381789005010810596697174327907375791675304322180915102539296293044401789302396012741167902839586132160651985425553204542375630184088961516945711916053289706504859941126350596794625740217948821337392114985617768300129196478608651431068573620500563369341679773862225260372109711702435792825536376583635272474229955112314146269348686298557428493022510040807204772580746060494685452046855013975842794310396586039002069322176793699137892052311986971037972444333289352015700401318018551886784580237624157053314927123940367714356862421848359884253193305890799045154114231255166105497350461859694315941664631809199939413751430465356675071454569557807181859568693182127846632684291315782969258396238313769796861436607848313435519339687787784336858162296195014039291343385368540937839274768536931279615900607939735237731073968555725619426208252430552438991996212159070752874922605603858926266827297581550768179, 'public_exponent': 65537, } ), } ), 'extensions': asn1crypto.x509.Extensions( [ asn1crypto.x509.Extension( { 'extn_id': 'key_usage', 'critical': True, 'extn_value': { 'key_cert_sign', 'crl_sign', }, } ), asn1crypto.x509.Extension( { 'extn_id': 'basic_constraints', 'critical': True, 'extn_value': asn1crypto.x509.BasicConstraints( {'ca': True} ), } ), asn1crypto.x509.Extension( { 'extn_id': 'certificate_policies', 'critical': False, 'extn_value': asn1crypto.x509.CertificatePolicies( [ asn1crypto.x509.PolicyInformation( { 'policy_identifier': '0.4.0.194112.1.2', 'policy_qualifiers': asn1crypto.x509.PolicyQualifierInfos( [ asn1crypto.x509.PolicyQualifierInfo( { 'policy_qualifier_id': 'certification_practice_statement', 'qualifier': asn1crypto.core.IA5String( 'https://www.zealid.com/repository' ), } ), asn1crypto.x509.PolicyQualifierInfo( { 'policy_qualifier_id': 'user_notice', 'qualifier': asn1crypto.x509.UserNotice( { 'explicit_text': asn1crypto.x509.DisplayText( 'utf8_string', asn1crypto.core.UTF8String( 'Certificate has been issued according to QCP-n-qscd policy' ), ) } ), } ), ] ), } ), asn1crypto.x509.PolicyInformation( { 'policy_identifier': '0.4.0.2042.1.2', 'policy_qualifiers': asn1crypto.x509.PolicyQualifierInfos( [ asn1crypto.x509.PolicyQualifierInfo( { 'policy_qualifier_id': 'certification_practice_statement', 'qualifier': asn1crypto.core.IA5String( 'https://www.zealid.com/repository' ), } ), asn1crypto.x509.PolicyQualifierInfo( { 'policy_qualifier_id': 'user_notice', 'qualifier': asn1crypto.x509.UserNotice( { 'explicit_text': asn1crypto.x509.DisplayText( 'utf8_string', asn1crypto.core.UTF8String( 'Certificate has been issued according to NCP+ policy' ), ) } ), } ), ] ), } ), ] ), } ), asn1crypto.x509.Extension( { 'extn_id': 'key_identifier', 'critical': False, 'extn_value': b'\xa7V\xe4\xc5\xd8\x10\xac\x17\xc2\xaa\xb0\xfa\xb8r\x01s\xfa\xf2\x15\xc9', } ), ] ), } ), 'signature_algorithm': asn1crypto.algos.SignedDigestAlgorithm( { 'algorithm': 'sha256_rsa', 'parameters': asn1crypto.core.Null(), } ), 'signature_value': b'\xbb\x1e\x8b\x90\xa1\x025g\xa2\x18\x9b\xc6F\xbfq\xff\xd6\x1b\r,Z\\\xdd\xb5\xba\xaf%.\xe7\x9b!\xa1R\x9c\x12\x89\x81\x826\xbc\x12\xcc\x8a\x06\x1f\xd3T\xed\x1f\x99z\x80c\xa2\x17\xac\x0b\\\xaf\x82\x0b*\\bG\xe2\xec\x1bm\xca{\x03U\xb0\x0c\xaf\t \xfb\xa0(\x1c\xec#e\xa5\x05\x97\xc3\xfaR\xd2F\xbd|k\xc4\xd4vk\xb4uh\x97\xec)\x007\xa5\xc1\x15\xa2\xd7\x17\x88\xa4rU\x7f\x01u\xfcjd\xc1\xeb\x8a\xfbw\x10\x1e\x08\xf9\x82\n\xe2\xf2\xfa\xef"\xf3\x89/]\x08\xe6\xbaKNs.\x8a\xd5\x8dO\xeee\xbb!\xcey~5\xbc\x16\x11"\xeb\xf0\xc3\x9b\xb2\xd9IB5 7\\\xff`%U\x04\xec\x8c\x1b\xecyA\xc2DE/.\xec\x13\xc4zG\xd4<{.\xb4p\x03w\xdbP\x81\x04\xcfX.\xf16U~J\n&\xb3e\xa3*\x84\x84\xb5\x13\x83G\xaf\xf1$2#\x13S\xad\xed\xca\xce_\xfez\xbc\xc3G-\n\x944B\x8e\x93\x97\x1e\xa6f\xd3\xa5\x83gP#xU\xe4\xfc\xc7\xa1&\x03\xf3\xbf\xcf\xea\xebr\x89\xd8\x1c\x7fX\xe6\xc4\x80\x1e\x02\xf9\xb8\xfea}\xe4v\xa5x\tVI\x92ZN\xb9\xc9\xce\xac\x9d\x1bQB\xef\xd2\xb3\x96\x856\xd6{!>', } ), ] ), } ), 'signature_algorithm': asn1crypto.algos.SignedDigestAlgorithm( { 'algorithm': 'sha384_rsa', 'parameters': asn1crypto.core.Null(), } ), 'signature_value': b"\x84\x92N\xeb\xa2\xff\x0e\x88\x91K^\xfe\xb7Z\xe5>\xfa=\xdf\xb0-\xa4\xffn;\xb67\xaf\x19QtQ\xa1:\xb5^\xb2W\xc6\xb9\xe6g\xc8\xdbv\xb8+&\x9b\x84\x96\x1d5mK\x1fJ0t@_\xb6/\x18s\\\xa2\x0c^w\x99\x0c'\x86v3aJ\x97\x18\xbfxN{&^\x8e\x12\xe4w&I\xdaT\xea\xa4t+@%R-\x99\xaf\x8d4Ea\x18\x8f\xa5\xce\xa6\xf1\xc24g\xb3\x92M\xab\x05a~\x875\x03\xf3z\x11\\\x9d\xc4\x08\xa8\x87\xb8\xafzFt[\xf2H\x07\x12&\x83\xde\xe4\xb3\xae\x93fG\x0c\x0b\xe7\xe2y\xbc\x8aC\x19\xcb\xa23>\xf1\xb2G\x8f\xba\xaaX\xd4\xd8\x85U\x1b\x97\xe9\x10\x8bN\xc03\xe1\x92FT\xc1\x026\x88\xf3K.MD\x07\xe7(\xd5\xad*\xa5\x1f\xe1\xf9)v\xaf\x8a8p\xbf\xa5\xb3\xa7!q]\x14O\xef\xd9\x15\xa5miOX\x98\xa9\x91\xe8\xfe\xd0\xf6\xa9\xe3]2}\xf4\xee\xa2\x87\xd5\x8d\x87p}Vig\xe4\xfaS6J \xd2e\x14\xd1\x01\xea*\xc7\xb2\xdb\xbd\xb8\xc7T^u\x83\x0f\xef,L\xa1\\\x9a\xa3\xab\xf6\xeb^d\x9c\x92\xfb\xd9\xa2\xf6<9\xd8\x0b\xd8\x127\xceW\xdb\xf6\x8a\xf1\r6W\xa7<9\x8b\xba'\x0e\xf6\x9e\x97\x1c\xa3-\xd6\xfb\x0f\xf4\xb1\x97g\x005\x15\xe3E(U\x84\xd0\xb3\x0b,\x84\xcd\x11,\x18Y\xeb\x17\xcc\xca\xd7\x1a\xf4\xcd^\xd8\xc0pQ\xd0dQ\xccn\x9e\x18|\xc3\x95\xb9\x08\x97#\x94f\x8e\x94\x882j\x80\xfa%\xc0\x1d\xc8X\x01\x84K\x1a\xd2\xb9\xaa \x15b\x9bS\x9b\x03\xf4\xadE\xefPB\xd1I\xcenNI\xf7\xdd\x1d\rtJ\x9f\xcf\x98>\xea\r\x13@\x85W\x9e\xec\xc8C\x84!Kef\xd1o\xf6\x91\x00)\x85\xff`f\r/\xc89i.\\3\xcd\xcf\x0e\x1bm\xff\xb91\xd9\x9c\xc8\\\xc4\x99\x9dT\x9d\x7fM\x9dt\x83\xc27IG\x03\xc6Y\x85M\xd0\xa8\xfb\xaa\x1a\xd7{0$o\x1fkY\x18\x175\xe8a", } ), ), asn1crypto.cms.CertificateChoices( 'certificate', asn1crypto.x509.Certificate( { 'tbs_certificate': asn1crypto.x509.TbsCertificate( { 'version': 'v3', 'serial_number': 316960528459366444456249056941869489936491596859, 'signature': asn1crypto.algos.SignedDigestAlgorithm( { 'algorithm': 'sha256_rsa', 'parameters': asn1crypto.core.Null(), } ), 'issuer': asn1crypto.x509.Name( '', asn1crypto.x509.RDNSequence( [ asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'country_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'SE' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'postal_code', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( '11156' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'street_address', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'Box 3437, Stockholm' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'email_address', 'value': asn1crypto.x509.EmailAddress( 'support@zealid.com' ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'organization_identifier', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'SE5569724288' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'organization_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'ZealiD AB' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'common_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'ZealiD Issuing CA 2021 STG' ), ), } ) ] ), ] ), ), 'validity': asn1crypto.x509.Validity( { 'not_before': asn1crypto.x509.Time( 'utc_time', asn1crypto.core.UTCTime( datetime.datetime( 2023, 3, 28, 11, 30, 10, tzinfo=datetime.timezone.utc, ) ), ), 'not_after': asn1crypto.x509.Time( 'utc_time', asn1crypto.core.UTCTime( datetime.datetime( 2025, 3, 28, 11, 30, 10, tzinfo=datetime.timezone.utc, ) ), ), } ), 'subject': asn1crypto.x509.Name( '', asn1crypto.x509.RDNSequence( [ asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'serial_number', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'PNOLT-38412091061' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'country_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'LT' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'surname', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'Mustermann' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'given_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'Hartmut' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'common_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'Hartmut Mustermann PNOLT-38412091061' ), ), } ) ] ), ] ), ), 'subject_public_key_info': asn1crypto.keys.PublicKeyInfo( { 'algorithm': asn1crypto.keys.PublicKeyAlgorithm( { 'algorithm': 'rsa', 'parameters': asn1crypto.core.Null(), } ), 'public_key': asn1crypto.keys.RSAPublicKey( { 'modulus': 700964560532332005456121072914030002830170176500428917806210924262583293395160688296220179894899574429888362208764169501262606891434038465044075456122590012059615468300111798524749636660394052622047025158131999680190319144207197447874456951941370694220269952245094178968962747531807228159070311494349600555182499102302409236093807201620159623117907264410213207689196473982964052113897685474059411668426280669203989475596016310205367839508480793392163690194717277222711934220837678881711861726124619685600915205450492566778168879648700910142808732430730308730711052012410334059593012571367888272761727252855092379149548067301444338966867289045781294083081938817907032798750581240108943319275496811347115651842499047114653910853801275888161298982195441625354526700505866837604091856806398268250205839549393144620903034985241314385411824798450739897639578357013087546824271850793130743072632750933670495648035842063562483616789739632750189501164849243497351869719457149313783070620038920738116582040496265031902563762867601527998281528447492040825602415438345768218845679346923583464613619798918456112353431596419987001026253557489149044290068440949486560172631825082117328509574528996789260640687851195989733044547419523527794062955383, 'public_exponent': 65537, } ), } ), 'extensions': asn1crypto.x509.Extensions( [ asn1crypto.x509.Extension( { 'extn_id': 'key_usage', 'critical': True, 'extn_value': {'non_repudiation'}, } ), asn1crypto.x509.Extension( { 'extn_id': 'basic_constraints', 'critical': True, 'extn_value': asn1crypto.x509.BasicConstraints( {'ca': False} ), } ), asn1crypto.x509.Extension( { 'extn_id': 'authority_information_access', 'critical': False, 'extn_value': asn1crypto.x509.AuthorityInfoAccessSyntax( [ asn1crypto.x509.AccessDescription( { 'access_method': 'ocsp', 'access_location': asn1crypto.x509.GeneralName( 'uniform_resource_identifier', asn1crypto.x509.URI( 'https://ocsp-test2.stg-zealid.com/' ), ), } ), asn1crypto.x509.AccessDescription( { 'access_method': 'ca_issuers', 'access_location': asn1crypto.x509.GeneralName( 'uniform_resource_identifier', asn1crypto.x509.URI( 'https://www.stg-zealid.com/repository/ZealiD_Root_CA.der.crt' ), ), } ), ] ), } ), asn1crypto.x509.Extension( { 'extn_id': 'authority_key_identifier', 'critical': False, 'extn_value': asn1crypto.x509.AuthorityKeyIdentifier( { 'key_identifier': b'\x8a\xa3\xec\x02s>\x9d\x1bQB\xef\xd2\xb3\x96\x856\xd6{!>' } ), } ), asn1crypto.x509.Extension( { 'extn_id': 'certificate_policies', 'critical': False, 'extn_value': asn1crypto.x509.CertificatePolicies( [ asn1crypto.x509.PolicyInformation( { 'policy_identifier': '0.4.0.194112.1.2', 'policy_qualifiers': asn1crypto.x509.PolicyQualifierInfos( [ asn1crypto.x509.PolicyQualifierInfo( { 'policy_qualifier_id': 'certification_practice_statement', 'qualifier': asn1crypto.core.IA5String( 'https://www.zealid.com/repository' ), } ), asn1crypto.x509.PolicyQualifierInfo( { 'policy_qualifier_id': 'user_notice', 'qualifier': asn1crypto.x509.UserNotice( { 'explicit_text': asn1crypto.x509.DisplayText( 'utf8_string', asn1crypto.core.UTF8String( 'Certificate has been issued according to QCP-n-qscd policy' ), ) } ), } ), ] ), } ), asn1crypto.x509.PolicyInformation( { 'policy_identifier': '0.4.0.2042.1.2', 'policy_qualifiers': asn1crypto.x509.PolicyQualifierInfos( [ asn1crypto.x509.PolicyQualifierInfo( { 'policy_qualifier_id': 'certification_practice_statement', 'qualifier': asn1crypto.core.IA5String( 'https://www.zealid.com/repository' ), } ), asn1crypto.x509.PolicyQualifierInfo( { 'policy_qualifier_id': 'user_notice', 'qualifier': asn1crypto.x509.UserNotice( { 'explicit_text': asn1crypto.x509.DisplayText( 'utf8_string', asn1crypto.core.UTF8String( 'Certificate has been issued according to NCP+ policy' ), ) } ), } ), ] ), } ), ] ), } ), asn1crypto.x509.Extension( { 'extn_id': 'key_identifier', 'critical': False, 'extn_value': b'\xf9\xcb\xf7\xe2\x83N\xc0s\xc2\xc1\xbf\x95|D\xe5;\xab\xae\xcb\x1b', } ), ] ), } ), 'signature_algorithm': asn1crypto.algos.SignedDigestAlgorithm( { 'algorithm': 'sha256_rsa', 'parameters': asn1crypto.core.Null(), } ), 'signature_value': b'g>gJ\xbd\xa6\x9f\xd7\xea\xbe`(O\xc8s\xac\xdf%F\x1bG\xc7\xb1\x84\xa7\xd5g:bm\xd3@[\xc8\x8e\xad\xe3H\x8dr\xb5\xc8\xcb$\x8f\x19\xaf\xcbTt\x17Q\x92\x99\x7f5\x88Fc\xec\x1a\x80\x11\x00\xca\xf4\xcf\xdc\xb3\xfa \x94g?@\xbd\xfd&\xdfY\xb2\x9c"\x1f\x93SM\xa4\xa7\\\x1byS\x86"\x9c\xb0q\rrU0\x80\xe0\xae\x92z\x1d\x05{6\xb3rG\'p\xdd\xee\x04\xe3n\x9a\x9b\xe1\'"\x92z\x90\xf3T\x8a\xac\xabjN\xe1\x86\xbd\xa2@C\xb5\xdf\x17\x7f\x82\xe9Z\x81\xf9lq\xe9\x8a\xfa\xc5\xcej\xb9\xe3\x86\x84I`\x83-\xa4D\x8f*\x0f\x85\xac\xf7\x06X\x19J\xf9\x01P\xf4e<\xb5d\xde\xa2\xbc\x88\xba\xc5\x92\xa9!\xa0\x01\xf6u\xad\xaell\xb3\x0b\x89\xa3\x9d\xceLt\xa5\xe9\xbe<\xe2R\xbb\xf2\x19\xf9H-\xbc\x0en\x9b{=\xd8\xc0T\x9e+m\xfc\x9b\x91\x96C\x01\xb1\x96{\xdc\x00\x9d\xcf\xdc\x1b\xb3M\x07\x8e&\xb4\xe3P\xfe\xa1-\x93E\x08l$^g]5s>', } ), ), asn1crypto.cms.CertificateChoices( 'certificate', asn1crypto.x509.Certificate( { 'tbs_certificate': asn1crypto.x509.TbsCertificate( { 'version': 'v3', 'serial_number': 316960528459366444456249056941869489936491596859, 'signature': asn1crypto.algos.SignedDigestAlgorithm( { 'algorithm': 'sha256_rsa', 'parameters': asn1crypto.core.Null(), } ), 'issuer': asn1crypto.x509.Name( '', asn1crypto.x509.RDNSequence( [ asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'country_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'SE' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'postal_code', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( '11156' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'street_address', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'Box 3437, Stockholm' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'email_address', 'value': asn1crypto.x509.EmailAddress( 'support@zealid.com' ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'organization_identifier', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'SE5569724288' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'organization_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'ZealiD AB' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'common_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'ZealiD Issuing CA 2021 STG' ), ), } ) ] ), ] ), ), 'validity': asn1crypto.x509.Validity( { 'not_before': asn1crypto.x509.Time( 'utc_time', asn1crypto.core.UTCTime( datetime.datetime( 2023, 3, 28, 11, 30, 10, tzinfo=datetime.timezone.utc, ) ), ), 'not_after': asn1crypto.x509.Time( 'utc_time', asn1crypto.core.UTCTime( datetime.datetime( 2025, 3, 28, 11, 30, 10, tzinfo=datetime.timezone.utc, ) ), ), } ), 'subject': asn1crypto.x509.Name( '', asn1crypto.x509.RDNSequence( [ asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'serial_number', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'PNOLT-38412091061' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'country_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'LT' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'surname', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'Mustermann' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'given_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'Hartmut' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'common_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'Hartmut Mustermann PNOLT-38412091061' ), ), } ) ] ), ] ), ), 'subject_public_key_info': asn1crypto.keys.PublicKeyInfo( { 'algorithm': asn1crypto.keys.PublicKeyAlgorithm( { 'algorithm': 'rsa', 'parameters': asn1crypto.core.Null(), } ), 'public_key': asn1crypto.keys.RSAPublicKey( { 'modulus': 700964560532332005456121072914030002830170176500428917806210924262583293395160688296220179894899574429888362208764169501262606891434038465044075456122590012059615468300111798524749636660394052622047025158131999680190319144207197447874456951941370694220269952245094178968962747531807228159070311494349600555182499102302409236093807201620159623117907264410213207689196473982964052113897685474059411668426280669203989475596016310205367839508480793392163690194717277222711934220837678881711861726124619685600915205450492566778168879648700910142808732430730308730711052012410334059593012571367888272761727252855092379149548067301444338966867289045781294083081938817907032798750581240108943319275496811347115651842499047114653910853801275888161298982195441625354526700505866837604091856806398268250205839549393144620903034985241314385411824798450739897639578357013087546824271850793130743072632750933670495648035842063562483616789739632750189501164849243497351869719457149313783070620038920738116582040496265031902563762867601527998281528447492040825602415438345768218845679346923583464613619798918456112353431596419987001026253557489149044290068440949486560172631825082117328509574528996789260640687851195989733044547419523527794062955383, 'public_exponent': 65537, } ), } ), 'extensions': asn1crypto.x509.Extensions( [ asn1crypto.x509.Extension( { 'extn_id': 'key_usage', 'critical': True, 'extn_value': {'non_repudiation'}, } ), asn1crypto.x509.Extension( { 'extn_id': 'basic_constraints', 'critical': True, 'extn_value': asn1crypto.x509.BasicConstraints( {'ca': False} ), } ), asn1crypto.x509.Extension( { 'extn_id': 'authority_information_access', 'critical': False, 'extn_value': asn1crypto.x509.AuthorityInfoAccessSyntax( [ asn1crypto.x509.AccessDescription( { 'access_method': 'ocsp', 'access_location': asn1crypto.x509.GeneralName( 'uniform_resource_identifier', asn1crypto.x509.URI( 'https://ocsp-test2.stg-zealid.com/' ), ), } ), asn1crypto.x509.AccessDescription( { 'access_method': 'ca_issuers', 'access_location': asn1crypto.x509.GeneralName( 'uniform_resource_identifier', asn1crypto.x509.URI( 'https://www.stg-zealid.com/repository/ZealiD_Root_CA.der.crt' ), ), } ), ] ), } ), asn1crypto.x509.Extension( { 'extn_id': 'authority_key_identifier', 'critical': False, 'extn_value': asn1crypto.x509.AuthorityKeyIdentifier( { 'key_identifier': b'\x8a\xa3\xec\x02s>\x9d\x1bQB\xef\xd2\xb3\x96\x856\xd6{!>' } ), } ), asn1crypto.x509.Extension( { 'extn_id': 'certificate_policies', 'critical': False, 'extn_value': asn1crypto.x509.CertificatePolicies( [ asn1crypto.x509.PolicyInformation( { 'policy_identifier': '0.4.0.194112.1.2', 'policy_qualifiers': asn1crypto.x509.PolicyQualifierInfos( [ asn1crypto.x509.PolicyQualifierInfo( { 'policy_qualifier_id': 'certification_practice_statement', 'qualifier': asn1crypto.core.IA5String( 'https://www.zealid.com/repository' ), } ), asn1crypto.x509.PolicyQualifierInfo( { 'policy_qualifier_id': 'user_notice', 'qualifier': asn1crypto.x509.UserNotice( { 'explicit_text': asn1crypto.x509.DisplayText( 'utf8_string', asn1crypto.core.UTF8String( 'Certificate has been issued according to QCP-n-qscd policy' ), ) } ), } ), ] ), } ), asn1crypto.x509.PolicyInformation( { 'policy_identifier': '0.4.0.2042.1.2', 'policy_qualifiers': asn1crypto.x509.PolicyQualifierInfos( [ asn1crypto.x509.PolicyQualifierInfo( { 'policy_qualifier_id': 'certification_practice_statement', 'qualifier': asn1crypto.core.IA5String( 'https://www.zealid.com/repository' ), } ), asn1crypto.x509.PolicyQualifierInfo( { 'policy_qualifier_id': 'user_notice', 'qualifier': asn1crypto.x509.UserNotice( { 'explicit_text': asn1crypto.x509.DisplayText( 'utf8_string', asn1crypto.core.UTF8String( 'Certificate has been issued according to NCP+ policy' ), ) } ), } ), ] ), } ), ] ), } ), asn1crypto.x509.Extension( { 'extn_id': 'key_identifier', 'critical': False, 'extn_value': b'\xf9\xcb\xf7\xe2\x83N\xc0s\xc2\xc1\xbf\x95|D\xe5;\xab\xae\xcb\x1b', } ), ] ), } ), 'signature_algorithm': asn1crypto.algos.SignedDigestAlgorithm( { 'algorithm': 'sha256_rsa', 'parameters': asn1crypto.core.Null(), } ), 'signature_value': b'g>gJ\xbd\xa6\x9f\xd7\xea\xbe`(O\xc8s\xac\xdf%F\x1bG\xc7\xb1\x84\xa7\xd5g:bm\xd3@[\xc8\x8e\xad\xe3H\x8dr\xb5\xc8\xcb$\x8f\x19\xaf\xcbTt\x17Q\x92\x99\x7f5\x88Fc\xec\x1a\x80\x11\x00\xca\xf4\xcf\xdc\xb3\xfa \x94g?@\xbd\xfd&\xdfY\xb2\x9c"\x1f\x93SM\xa4\xa7\\\x1byS\x86"\x9c\xb0q\rrU0\x80\xe0\xae\x92z\x1d\x05{6\xb3rG\'p\xdd\xee\x04\xe3n\x9a\x9b\xe1\'"\x92z\x90\xf3T\x8a\xac\xabjN\xe1\x86\xbd\xa2@C\xb5\xdf\x17\x7f\x82\xe9Z\x81\xf9lq\xe9\x8a\xfa\xc5\xcej\xb9\xe3\x86\x84I`\x83-\xa4D\x8f*\x0f\x85\xac\xf7\x06X\x19J\xf9\x01P\xf4e<\xb5d\xde\xa2\xbc\x88\xba\xc5\x92\xa9!\xa0\x01\xf6u\xad\xaell\xb3\x0b\x89\xa3\x9d\xceLt\xa5\xe9\xbe<\xe2R\xbb\xf2\x19\xf9H-\xbc\x0en\x9b{=\xd8\xc0T\x9e+m\xfc\x9b\x91\x96C\x01\xb1\x96{\xdc\x00\x9d\xcf\xdc\x1b\xb3M\x07\x8e&\xb4\xe3P\xfe\xa1-\x93E\x08l$^g]5s>', } ), ), ] ), 'signer_infos': asn1crypto.cms.SignerInfos( [ asn1crypto.cms.SignerInfo( { 'version': 'v1', 'sid': asn1crypto.cms.SignerIdentifier( 'issuer_and_serial_number', asn1crypto.cms.IssuerAndSerialNumber( { 'issuer': asn1crypto.x509.Name( '', asn1crypto.x509.RDNSequence( [ asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'country_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'SE' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'postal_code', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( '11156' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'street_address', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'Box 3437, Stockholm' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'email_address', 'value': asn1crypto.x509.EmailAddress( 'support@zealid.com' ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'organization_identifier', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'SE5569724288' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'organization_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'ZealiD AB' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'common_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'ZealiD Issuing CA 2021 STG' ), ), } ) ] ), ] ), ), 'serial_number': 316960528459366444456249056941869489936491596859, } ), ), 'digest_algorithm': asn1crypto.algos.DigestAlgorithm( {'algorithm': 'sha256', 'parameters': asn1crypto.core.Null()} ), 'signed_attrs': asn1crypto.cms.CMSAttributes( [ asn1crypto.cms.CMSAttribute( { 'type': 'content_type', 'values': asn1crypto.cms.SetOfContentType(['data']), } ), asn1crypto.cms.CMSAttribute( { 'type': 'message_digest', 'values': asn1crypto.cms.SetOfOctetString( [ b'\xe66\xad\xa4B\x84t\xdc\x86\xdc\xc1\xb3\xc6K\x95\x94\xf7.\xbd\xafj\x1a\xae\xba\xef=\xc3\xfcxhG.' ] ), } ), asn1crypto.cms.CMSAttribute( { 'type': '1.2.840.113549.1.9.16.2.47', 'values': asn1crypto.tsp.SetOfSigningCertificatesV2( [] ), } ), ] ), 'signature_algorithm': asn1crypto.algos.SignedDigestAlgorithm( { 'algorithm': 'sha256_rsa', 'parameters': asn1crypto.core.Null(), } ), 'signature': b'+\xc6T\xe4W\x92\xc1\xaa\xcb\xa7\xf4\xd1)\xa5\x00\xffc<\xf6\x05!\x10r\xbe{e\x162\x0c\xb1\x0b\xe9\xc5\x8c\x8e\xe6\xad\x98#\x8b%\xf23\xe6\xd6\xa7\x94\x99\x11Ds\xa6\x96\x1e\xb2\x00M\x12\x9b\xacpw\xf9@\x1aq\xd7>q]h\xb2\xac\xe9%9@H\xa93BO\x96v\xa7t\xd1^90\xd4\xf0\x9c3*1\x8av\xe2N\x12H\xd4\xea\x8b\xf8-=\xd2\xb0\xc3\xd9\xf7b yhy\x87\xe2\xc9c\xd9O<\x01+#\xe3\xaf\xe4\xd5h%I\xfe\x01\x17\xeb\x01\x95\xec]\x94\x98\xc3\xc6\xac\xf5\xc0\n\x9fw\x10Ro\x94\x14\'\x9d\x1b\x1f?s\x17\xa1\xf0Wj\xc7L\xc8$`\x10\x89\x16r\xa4>\x82d\xd4pv\xa54\xbc\xe6\xce\xb4\xec?\x9f\xff\xc4\x94\'\xba\xc0\x82\x8c\xb0\xfc>\xd1`\x0e\x10e\xb7\xb5\xafc3\xf6%\xeb\x02\x821\x7f\xf3\x01\xe6\xa5\x1fa\xb9pc\xe8U\x0cA\x99\x92iJ\xb5~\xc2\xc1\x8f\xd9\xb4:\t*`\x08\xa4_\xd9\xeeI\xe8\xb4\xcb\xaa9#{\x99\xe9\xf7\x97\x1e\x89\xda:l\xc3,\xa2\xb9\xadf6\x98J\xdbnL\x03\xd8+\xce\xe5b\'o;p\t\xf2\x9c\xf2O*\x13d\xa2\xe7\x85!\xf9a\xbf\xbf\x9f\xfe]\x99\xd65\x82Z\x8e{\xd2\r3Q\x80\x89(\xd7P .D\xe5v\xd9\xcb\xc1\xfb\x9fK\x8epn\xe8\xdbh\xc3\xdd\xf0\x93\x14:$\x01\xb8\x83\r"\xa7\x02\xba\x97Z\x80\xeaa.\'\x0fW\x0b>SU3).\xacG\xf6K\xc1p\x15\xd5\x8a\xfb$\x1f&%\xfa\xb9@\xda\xa4<\xfb\r\xf0w^^\x92)\x871\rL\xb9\xa15S\xd0I82m\xc0R\x86\xf6\x8d\x1c\x03\xa3\xa0{;Z\x04\x1e$\x189\xbbx\xf5\x87\x07?@\x14\x90-O(h3\xd6\nv\x99\xa8\xce\x0c.\x00/%[\x8d\xb8\xf15\xcat\xb2\x0c\r\xdc\x80\x0cG(\x02\x0e\x14*\xa3\xdd_\xa1\xe1\xab%\x94\xcf\xc7{\xda\x90d\xe4`A\x1c' } ), } ), asn1crypto.x509.Extension( { 'extn_id': 'key_identifier', 'critical': False, 'extn_value': b'J\x1e\x92i\x1b\x81H\x19BV\x1c2\xb0\xe6(\xdc\xces %', } ), ] ), } ), 'signature_algorithm': asn1crypto.algos.SignedDigestAlgorithm( { 'algorithm': 'sha256_rsa', 'parameters': asn1crypto.core.Null(), } ), 'signature_value': b'\x85\x8eMv\xf0%!Z\xed\xa8k\x0fm\x0c\xb5g?\xbb\xad\xa8\xd6\xa9\x19\xb6\xf9i\xb45\xab\x0b#]\xc9\x97p\xb6+%\x91\xbdVB9\x15Q5\xf0d"\x94\xca-\xe5\x0b|\'\x85`\x97\xa3\xc7j\xddAW^#\xbb\x97\xe3f\xb6\xa10\x8d\xd3\xa5\xd0\x89\xf0\x97\x81\xa8\xa1a\xe4\xa7\xb5\x10^1\x7f\x00\t\xbf\x84\x98o!\x0bL\x88\xc1l\xdd\x957\xf2\xf3\xefn4d*yA\xe0O5j\xdd\xc3{)u\xe3\x80\xb7\x10t\x01\x87\xe9\xc5\xa4\xfbI\xc2\x81\xb9i\x10\xff;\xe2\x1bQT h\xd4\xa8\x0f2\xcc9\xcf\x14\xfa\xa8\xd0\x8ee\xa4\x07\xa2\xf3\xdb\xdcu\x06\x02\xa9\xfc\xd0\t\x90\xb1*\xa8w:\xe3z\x1d\xea0\xa2\xd7\x1f\xd29X83\xda#<4\xd9w\xfe}JzPPT\x10\xb7t\x1d\xc6!\xe1\n\xe8\x1e\xd4\xd7\xef\xbb\xa5\xcaZ~\xc8\xe5[\xa7bd\xfe\xfb\x03\xc5<\x19\x95\x80\xed\t\x0f\\!\xb4~M\x97M^\x92\x1bH\xd3\xcb(\xc0\x81}\x8f\xb2M\xe2\x10G\x14\xecK}\x0bq`F6P\x86\x8c\x95\xa1\x9e\xe3\xdc\x95t\xb8\xb1|\x18\x18\x8b\xa5H\x10\x86\xe2r\xbd\xb6\xd0\xbeW\x02\xed\xce\x9c\xce\xc6 }\xaf8\xfb\x00\x07pz\x07>\x87\x80\xe2\x9b\xe9\xff\xa0\x12\x16\xaec0\xd3\x9d5\xeb\xd2\x1f\x12!\x814b6\xce_\xd59\xeaO\x97b{\x90\x9e\xa9\x9b\xb8\xd2Q\x98\x13\x0fI\xbf\xca\xc9\xd1/Y\xe9\xc0\xba\x8a\x11\xe6\xc3v\xcc9\xab\xa5\xa7\xff\x8cg\x1f\x02\xf2\x84\x8d&\xc8Mo\xa3\x99\xb3\x06\x9b\xeaH\x9b}J\x8e\xcdI\rB\xac\xf8\xb2\x8a\x9a\xe54\x89\xa1~\x99\x81\xf0\rH\xa3\x0b\x90\xb8\xf7\xf9z=$p\xa7L/)S\xac\xe8\xe2g\xe7\x9f\x0f\x1d\x1b\x1b\x14\x95\xf1\x06\x01\x1b(\xe8e[\xd1\x13\x1b;\x13\xea\x9f\x93\xab\x85w\xf4P\xa5\xeaT\xacH]\xc3\x19\xaa\xe0\xdc\xa3\xee\xa0\x92\x81\xb1@\xa5i\xf2V\'\xad\xc7\xf1\x8b\x84\x19\x04[\x80\x9b\x0ct5\x9bb\x04\x0e', } ), ), asn1crypto.cms.CertificateChoices( 'certificate', asn1crypto.x509.Certificate( { 'tbs_certificate': asn1crypto.x509.TbsCertificate( { 'version': 'v3', 'serial_number': 599517995320824117974156862845765436047315558107, 'signature': asn1crypto.algos.SignedDigestAlgorithm( { 'algorithm': 'sha256_rsa', 'parameters': asn1crypto.core.Null(), } ), 'issuer': asn1crypto.x509.Name( '', asn1crypto.x509.RDNSequence( [ asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'country_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'SE' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'postal_code', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( '11156' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'street_address', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'Box 3437, Stockholm' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'email_address', 'value': asn1crypto.x509.EmailAddress( 'support@zealid.com' ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'organization_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'ZealiD AB' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'common_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'ZealiD Advanced Root CA CNT' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'organization_identifier', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'SE5569724288' ), ), } ) ] ), ] ), ), 'validity': asn1crypto.x509.Validity( { 'not_before': asn1crypto.x509.Time( 'utc_time', asn1crypto.core.UTCTime( datetime.datetime( 2021, 12, 1, 14, 29, 45, tzinfo=datetime.timezone.utc, ) ), ), 'not_after': asn1crypto.x509.Time( 'general_time', asn1crypto.core.GeneralizedTime( datetime.datetime( 2051, 12, 1, 14, 29, 45, tzinfo=datetime.timezone.utc, ) ), ), } ), 'subject': asn1crypto.x509.Name( '', asn1crypto.x509.RDNSequence( [ asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'country_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'SE' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'postal_code', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( '11156' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'street_address', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'Box 3437, Stockholm' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'email_address', 'value': asn1crypto.x509.EmailAddress( 'support@zealid.com' ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'organization_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'ZealiD AB' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'common_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'ZealiD Advanced Root CA CNT' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'organization_identifier', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'SE5569724288' ), ), } ) ] ), ] ), ), 'subject_public_key_info': asn1crypto.keys.PublicKeyInfo( { 'algorithm': asn1crypto.keys.PublicKeyAlgorithm( { 'algorithm': 'rsa', 'parameters': asn1crypto.core.Null(), } ), 'public_key': asn1crypto.keys.RSAPublicKey( { 'modulus': 693217446234268989833899631545941474453873223228117753923849129129384709980857236523131645427495499071340316559818914373651546430638501316077302368628516927784529895273255941999885633103795091246848665581555064024223240351676218927195198557273577913230347441089226953766409358972181337352839794484510463605246330406480747568067464558145805119425152800187478059403217324931533925069483374807578587958945420878742775228860422713135274041254509457928336412228650128348721502044996980908798963941822646189314165962604071261857029216017809348565936251422912072398704706708086146612591142432082464516775512422094349829289156747640592915123477131880163540108964512819275696702694370236446875073575053616535901381386193407651516248405001491148435463820360474379301125334078515831579646563800109186412802360451840047300470945116748259565721754613140699673183954791747047176343474413049788124594947005866299589021442987497328499218599182296163138243221162114409275404163503850964049249680812453281470992651069363638560499068363255364480821296565979430846164355580810844243891958798349588269241760994057913849081650318874531356494588484338989975451015497585371802705158653217118448067758842388098047638392812852345422681821490451472980609036011, 'public_exponent': 65537, } ), } ), 'extensions': asn1crypto.x509.Extensions( [ asn1crypto.x509.Extension( { 'extn_id': 'key_usage', 'critical': True, 'extn_value': { 'key_cert_sign', 'crl_sign', }, } ), asn1crypto.x509.Extension( { 'extn_id': 'basic_constraints', 'critical': True, 'extn_value': asn1crypto.x509.BasicConstraints( { 'ca': True } ), } ), asn1crypto.x509.Extension( { 'extn_id': 'key_identifier', 'critical': False, 'extn_value': b'\x14b\xf08\x81\x99\xe3J\xbf\x9b\xf1|\xd1\xdd\xc2\x0f?u\r\n', } ), ] ), } ), 'signature_algorithm': asn1crypto.algos.SignedDigestAlgorithm( { 'algorithm': 'sha256_rsa', 'parameters': asn1crypto.core.Null(), } ), 'signature_value': b'\x9fUu@5\x8b2\xf2\x0c\xc7\xc8\xfc\x95\x1aF\x87\xbaQ\xb5:\xd87\xa0\x9d\x19\xa9@\x9bc\xde\xaf\xccD"\xef8O_y\xdd\x11$fS(|\xecv\xf8&\xfe\x97\x0c\xb5\xbe\xcf@\xef\xc9\xbc\xda\x97\xef\xb2d\xb2\x8a\x8c\xae|\xdfb\x97\x8d:\x01\xe6\xe7D\xe5l)\xd11)\xb6\xff\xe0\x9d\xb4\x00\xab\xd2\xb4\xda\x16\xe7\xab\x7f\r\xa1\xcb\xee\xa7|\x8f\x8e\xc4\xc6~(N^%`b\xff\x1a`L\x8e\x1b\xdf%#ZD\x95+s\xc8]oI\x8f\x14\x8a)\x8dcG\xdd\x8f\xca\xdd\x8c\x96L\xc1z\x9c\x8aD\t\x7f>\x08\x1e\x88\xd1\r\x0f\xfdu\x1b\xbc\x96L\x88N\x04\xf9K\xe8K:\xdc\x93\x05F\xb2\x16\x83\xe0\x04\xce\xa7 \x1e_\x1b"\xb6\xcb\xb2SB&\xa4\xf2}\x06\xf0\xc6Z\x16\xff\xa8\xf9sZ\x0f\x91\x94r\xf4\xe6*wv\x9b\xb1\xcbJ\xa7\xeb\x88\xa0b\tf@\xfc\x95\xe2\xcf\xe5\x9b\xaf\x87\xec\x16\x12\x9fp\xf8vq4?fB;\xb08\x0b\x96\x80\x067^\xd4U`a\x81\xd0\xa9\t\xc7:S\x06\xbe*\x1e\xe6\x04\xcc\'\x0e}\xa5L\x92\xed<\x813"j\xce\x82zed\x98x#\xb4V\x9ck\xfay\x1c\x05\x0f\xdc8\xdcugeZ;K~Cw\xbb\xcb\xa7\xad\x04\x88\xa8\x99aL@=SmR\xa2\xde\x7f\xcd,;\xcc\x87sa\xbf6\xe9U\xdb\xb2C\xa2\xb9\x90-\xb8I\x89Z\xf536\xc4v\xabt\x87#\xbc\xa5\xc0\x1f\x87\xa0K\xfc\xdf\xcb%\t\xfc\x18Q\x13O\xd0\xe0\xa0\xb6g\x8c\xa0dW\x8e\x1d\xc3\xfc\xf4\xf8\x9eI\x0bm\xc7\x83D\x84R\x1dv\x00\xb9i\xaeC1\xd1s\xca\xbb\x13~\xaf\x99\xb6\x85i\xf4\x93\xce\x1e\x13z\xffA6\xca\xed\xf5P\xbdv\x86\xfa\xabc-\xe5!\xf9\xf2\rT\xd6\xdf\xe1\xdel^\x18\xcd*d\x023\xa2\xa8\n{Y\xba\xa0\x9d\xa9\xeb/\xdf`~\xa3\x976wq\xb1\xdbr1\xb8\xc6\xce@\xb4=)\xb8n\x9fY\x03\xb93\xb7o\xe4`A\x1c', } ), ] ), } ), 'signature_algorithm': asn1crypto.algos.SignedDigestAlgorithm( { 'algorithm': 'sha384_rsa', 'parameters': asn1crypto.core.Null(), } ), 'signature_value': b'x;Xr\xb1m\x1d\xb4\xe9.u\x0e\x7f\xa2\xbb@>\xe5\xb2\x8dV|{\x1d\x01:#\xb0\xec\xaf\x8bL\'\x9f\xde\xfc}Q\xf9\xbd\x8a\xd8\x9dHjH\xf3\tR[@\x97\xa3\x9f\x0c\x04\x9d\x1f^\xd2\x9e\xea\xf7\x9e\xf3K\xa7\x13\\=\xa9\x81\xb7\xb6\xb5\xa7\\\'\xb7a\x1e!\xcd\x8a\x0cd\x16\xac8\xaf\xe2\x99\xdb\x06\x98\xbc\xf5\xfd\xd85Z\x13\xcff#\xfc"\xd9\xa95tT\x83\x98\x10-T\x1e\x03\xff\xbd\x116\xa7\xca\xf6\x12dU\x97I\xb7\x8f\xbc\r\'i\x1f5\xcc\xe2.M\x8e\x13\xec\x90P\xde\xcf\x97\x0e\rg\xa3\xd6\xd1\xbb\xd3\xb2\xa6\x8b#\x8c\x9d\xa4\xd6\x83P\xe6ch\xc5\x87J\x02\xef\x1f\x8e\x91\xd2\x93\xa1\x03s\x92\x9fx\xa5[\xa5\xd5\xe0\x07\x10\xe7\xb7\xcb>}\xbe\xb1\xc4\x1b\xbcw\xbe\x89!\xee\x18\xfcU\x99\xf0\x95g\xd1\x1bhC\x1f\xb2\xac\x0e\x05g\xcb\xf2`\xc6Q\xba\x84>\xbfa\xdf\xda\xfaz\xb1m\xdf\xf6\x82s\xb4\xa54\x83\x03\xfb\xd7\xc4,7T\xdd\x8a\x11\xa9b9\xa5uY\x98\x0buW/1\xc9;\xd2\xed\xe1\x91\x94\xda\x08\xe1E\xb6\x9a\xeb5\x87|l\xa3H\xbc\xdb\x98\nn\x1c\xc4\xe8\xd3\x15F\x1b\xb2\x86\xb4\xc0\x19X\xb51\x95\xe7\xb2\x8f1\x93"\x81\xe0\x15\x94i\x0f\xf2\x1ai\xb1\xc5\xaf\xed"\xb3/\x03M\xf6kX\xe7\xe2\xa5\x98\xcf\xab\xe3y\x82(\xc7d/:\xc5\x1b8s\xa5w\x81"K\xc7\xb9\xf6\x03\xfe\xf3S\xb0\xaaP\xd9/k7\xce\xff\xe5:\x8c\x97\xff\x81\xac\xa4Y\xc6\xb3\x1f\x9d]\xbe\xa1\x07_\xb2u`\xd9zO\xb16\t\xben\x03\xb4\x00\'.\xce)\x99;\xdcKxX\x18\x01\x96\xa1\x91\xacP\xb9C\xffV`2\x17\xa4\xc5\xff\xd9\x87', } ), ), ] ), 'signer_infos': asn1crypto.cms.SignerInfos( [ asn1crypto.cms.SignerInfo( { 'version': 'v1', 'sid': asn1crypto.cms.SignerIdentifier( 'issuer_and_serial_number', asn1crypto.cms.IssuerAndSerialNumber( { 'issuer': asn1crypto.x509.Name( '', asn1crypto.x509.RDNSequence( [ asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'country_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'SE' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'postal_code', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( '11156' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'street_address', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'Box 3437, Stockholm' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'email_address', 'value': asn1crypto.x509.EmailAddress( 'support@zealid.com' ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'organization_identifier', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'SE5569724288' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'organization_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'ZealiD AB' ), ), } ) ] ), asn1crypto.x509.RelativeDistinguishedName( [ asn1crypto.x509.NameTypeAndValue( { 'type': 'common_name', 'value': asn1crypto.x509.DirectoryString( 'printable_string', asn1crypto.core.PrintableString( 'ZealiD Advanced Issuing CA CNT' ), ), } ) ] ), ] ), ), 'serial_number': 660779039411475051672310271841957467429519716379, } ), ), 'digest_algorithm': asn1crypto.algos.DigestAlgorithm( { 'algorithm': 'sha256', 'parameters': asn1crypto.core.Null(), } ), 'signed_attrs': asn1crypto.cms.CMSAttributes( [ asn1crypto.cms.CMSAttribute( { 'type': 'content_type', 'values': asn1crypto.cms.SetOfContentType( [ '1.2.840.113549.1.9.16.1.4' ] ), } ), asn1crypto.cms.CMSAttribute( { 'type': 'message_digest', 'values': asn1crypto.cms.SetOfOctetString( [ b'\xeeuD\xb24O\xfe\xb7@F\x91Gw!Z\x88\x19$l\xcc\xec\x9e\xd1\x8b\x9f\x84\xa9\x84\x8a\x8b\xc5V' ] ), } ), asn1crypto.cms.CMSAttribute( { 'type': '1.2.840.113549.1.9.16.2.47', 'values': asn1crypto.tsp.SetOfSigningCertificatesV2( [] ), } ), ] ), 'signature_algorithm': asn1crypto.algos.SignedDigestAlgorithm( { 'algorithm': 'rsassa_pkcs1v15', 'parameters': asn1crypto.core.Null(), } ), 'signature': b'a\x0c\x84\xecqYK\xee7\xfbF\xba\x0cD\xebA\xf7\x19,\xbf\xac\xba$M\xfd\xc7\xe6\xcee\x94U\xfe\xf1H\xa7\xd4\xf2=\xac\xed\xb5T\xd6\xeb\xdd~"\xdb\x87\x16z\x9f\x9c:\x7f\xc4\x1b\xba\xa9\xc8\xd0a\xce\xf0\xeb{\xb1@o~z\xe0\xee\x92\x99[g\xf9\x99=\xfe#\xb6\xd1I?\xfch\x91\x95\xf7\xf8\xcb\x0eH\xe83\xc4\xf5|\xaf\x81\xff\x8aK\xbd\xce\xc7\xa2\xd5\xbb0\x93t^\x95\x0b@\x18\x13\x01\xcd@\xb0\xa4\xcd%S\x87\xa9\xcb\x93<\x14\xc4\xdb=\xc3\xde.\xed\xa6Y\xf4|\x8cB\xc9{\x1f\xcb\xde\x07\xdentC\xd5\xd6>\xbcXc\x87@\x8a\xb0>\x1eq$\x94>x$', } ) ] ), } ), } ) ] ), } ) ] ), } ) ] ), } ), } ) ci.dump()