úÎ58/%f      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcde unknown experimental#Vincent Hanquez <vincent@snarc.org> Safe-Inferedunknown experimental#Vincent Hanquez <vincent@snarc.org> Safe-Infered,parse a RSA pubkeys from ASN1 encoded bits. A - return RSA.PublicKey (len-modulus, modulus, e) if successful  Safe-Inferedfg hijklmnopfgfgunknown experimental#Vincent Hanquez <vincent@snarc.org> Safe-Infered?key usage flag that is found in the key usage extension field.   !qrstu  !   !     !qrstu Safe-Infered$Certificate Version %Certificate Serial number & Certificate Signature algorithm 'Certificate Issuer DN (Certificate Subject DN )Certificate Validity period *Certificate Public key +Certificate Extensions 6unrecognized format 7 ECDSA format not done yet FIXME 8,DH format with (p,g,q,j,(seed,pgenCounter)) 9DSA public key :RSA public key SKparse header structure of a x509 certificate. the structure the following:  Version  Serial Number  Algorithm ID  Issuer  Validity  Not Before  Not After  Subject  Subject Public Key Info % Public Key Algorithm # Subject Public Key 4 Issuer Unique Identifier (Optional) (>= 2) 4 Subject Unique Identifier (Optional) (>= 2) ( Extensions (Optional) (>= v3) 4"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUO  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU5;=<DKJIHGFE>CBA@?5:9876.43210/-"#$%&'()*+,LONMPQSURT" #$%&'()*+,-.43210/5:9876;=<>CBA@?DKJIHGFELMNOPQRSTUunknown experimental#Vincent Hanquez <vincent@snarc.org> Safe-InferedX)the certificate part of a X509 structure Y?a cache of the raw representation of the x509 part for signing I since encoding+decoding might not result in the same data being signed. Z5a cache of the raw representation of the whole x509. [the signature algorithm used. \the signature. ],get signing data related to a X509 message, ? - which is either the cached data or the encoded certificate ^!decode an X509 from a bytestring # - the structure is the following:  - Certificate % - Certificate Signature Algorithm  - Certificate Signature _+encode a X509 certificate to a bytestring VWXYZ[\]^_`avQ  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKVWXYZ[\]^_`a7VWXYZ[\;=<DKJIHGFE>CBA@?5:9876.43210/-,"#$%&'()*+]^_`aVWXYZ[\]^_`av unix only experimental#Vincent Hanquez <vincent@snarc.org> Safe-Inferedbcdbcdbcdbcd good experimental#Vincent Hanquez <vincent@snarc.org> Safe-Infereddd Safe-Inferedeeeew       !"#$%%&'()*+,-./0123456789:;<=>=?@ABCDEFGHIJKLMNOPQRSTUVWWXYZ[\]^_`Uabccdefghfgifgjfgkfglfgmfgnfgofgpqrstuvwcertificate-1.2.6Data.Certificate.KeyDSAData.Certificate.KeyRSAData.Certificate.X509.CertData.Certificate.X509.ExtData.Certificate.X509System.Certificate.X509.UnixSystem.Certificate.X509.MacOSData.Certificate.X509.InternalSystem.Certificate.X509 decodePrivate encodePrivate decodePublic encodePublic parse_RSAOIDExtAuthorityKeyIdExtSubjectAltNameExtSubjectKeyId ExtKeyUsageExtBasicConstraints ExtensionextOID extEncode extDecodeExtKeyUsageFlagKeyUsage_decipherOnlyKeyUsage_encipherOnlyKeyUsage_cRLSignKeyUsage_keyCertSignKeyUsage_keyAgreementKeyUsage_dataEnciphermentKeyUsage_keyEnciphermentKeyUsage_nonRepudiationKeyUsage_digitalSignature ExtensionRaw extensionGet Certificate certVersion certSerialcertSignatureAlg certIssuerDN certSubjectDN certValidity certPubKeycertExtensionsDistinguishedName ASN1StringASN1StringTypeT61IA5BMPUniv PrintableUTF8PubKey PubKeyUnknown PubKeyECDSAPubKeyDH PubKeyDSA PubKeyRSA SignatureALGSignatureALG_Unknown PubKeyALGPubKeyALG_Unknown PubKeyALG_DHPubKeyALG_ECDSA PubKeyALG_DSA PubKeyALG_RSAHashALG HashSHA512 HashSHA384 HashSHA256 HashSHA224HashSHA1HashMD5HashMD2 oidCommonName oidCountryoidOrganizationoidOrganizationUnitoidSigsigOIDparseDNparseCertificateencodeDNencodeCertificateHeaderX509x509Certx509CachedSigningDatax509CachedDatax509SignatureALG x509SignaturegetSigningDatadecodeCertificateencodeCertificatedecodeDN getSystemPathreadAllfindCertificate asn1ContainermakeASN1Sequenceasn1-data-0.7.1Data.ASN1.ParsehasNextonNextContainerMaybegetNextContainerMaybeonNextContainergetNextContainergetNext runParseASN1runParseASN1State ParseASN1$fExtensionExtAuthorityKeyId$fExtensionExtSubjectAltName$fExtensionExtSubjectKeyId$fExtensionExtKeyUsage$fExtensionExtBasicConstraints$fEqX509