úÎ5$/+e      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcd 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 None efghijklmn efghijklmn efghijklmnunknown experimental#Vincent Hanquez <vincent@snarc.org> Safe-Infered?key usage flag that is found in the key usage extension field.   !opqrs  !   !     !opqrs Safe-Infered$Certificate Version %Certificate Serial number & Certificate Signature algorithm 'Certificate Issuer DN (Certificate Subject DN )Certificate Validity period *Certificate Public key +Certificate Extensions 5unrecognized format 6 ECDSA format not done yet FIXME 7,DH format with (p,g,q,j,(seed,pgenCounter)) 8DSA public key 9RSA public key RKparse 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) 3"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTN  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRST4:<;CJIHGFED=BA@?>498765-3210/.,"#$%&'()*+KNMLOPRTQS" #$%&'()*+,-3210/.498765:<;=BA@?>CJIHGFEDKLMNOPQRSTunknown experimental#Vincent Hanquez <vincent@snarc.org> Safe-InferedW)the certificate part of a X509 structure X?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. Y5a cache of the raw representation of the whole x509. Zthe 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 UVWXYZ[\]^_`tP  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJUVWXYZ[\]^_`6UVWXYZ[:<;CJIHGFED=BA@?>498765-3210/.,"#$%&'()*+\]^_`UVWXYZ[\]^_`t unix only experimental#Vincent Hanquez <vincent@snarc.org> Safe-Inferedabcabcabcabc good experimental#Vincent Hanquez <vincent@snarc.org> Safe-Inferedcc Safe-Inferedddddu       !"#$%%&'()*+,-./0123456789:;<=<>?@ABCDEFGHIJKLMNOPQRSTUVVWXYZ[\]^_T`abbcdefghijklmnopqrscertificate-1.2.4Data.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 certPubKeycertExtensions 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 ParseASN1 runParseASN1getNextgetNextContaineronNextContainergetNextContainerMaybeonNextContainerMaybehasNext asn1ContainermakeASN1Sequence$fExtensionExtAuthorityKeyId$fExtensionExtSubjectAltName$fExtensionExtSubjectKeyId$fExtensionExtKeyUsage$fExtensionExtBasicConstraints$fEqX509