4,Yg      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdef unknown experimental#Vincent Hanquez <vincent@snarc.org> g      unknown experimental#Vincent Hanquez <vincent@snarc.org> h   unknown experimental#Vincent Hanquez <vincent@snarc.org> ijkl mnopqrstuvwxy mpqrstuvwxy mpqrstuvwxyunknown experimental#Vincent Hanquez <vincent@snarc.org>known X509v3 extensions !"#$?key usage flag that is found in the key usage extension field. %&'()*+,-.z{|}~/<try decoding a certificateExt tuple into a known extension.  !"#$%&'()*+,-./.#"! $-,+*)('&%/#"! !"#$ -,+*)('&%%&'()*+,-./O012Certificate Version 3Certificate Serial number 4 Certificate Signature algorithm 5Certificate Issuer DN 6Certificate Subject DN 7Certificate Validity period 8Certificate Public key 9Certificate Extensions :;<=>?@ABCunrecognized format D ECDSA format not done yet FIXME E,DH format with (p,g,q,j,(seed,pgenCounter)) FDSA format with (pub, p, q, g) G*RSA format with (len modulus, modulus, e) HIJKLMNOPQRSTUVWXYZ[\,parse a RSA pubkeys from ASN1 encoded bits. = - return PubKeyRSA (len-modulus, modulus, e) if successful ]^_Kparse 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 - Issuer Unique Identifier (Optional) (>= 2) - Subject Unique Identifier (Optional) (>= 2) ! Extensions (Optional) (>= v3) `2.0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`2HJIQXWVUTSRKPONMLBGFEDC;A@?>=<:.0123456789Y\[Z]^_`10 123456789123456789:;A@?>=<<=>?@ABGFEDCCDEFGHJIIJKPONMLLMNOPQXWVUTSRRSTUVWXYZ[\]^_`unknown experimental#Vincent Hanquez <vincent@snarc.org>abc,get signing data related to a X509 message, ? - which is either the cached data or the encoded certificate d!decode an X509 from a bytestring # - the structure is the following:  - Certificate % - Certificate Signature Algorithm  - Certificate Signature e+encode a X509 certificate to a bytestring ? !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXabcde?abHJIQXWVUTSRKPONMLBGFEDC;A@?>=<:0123456789.#"! $-,+*)('&%/cdeabbcde  unix only experimental#Vincent Hanquez <vincent@snarc.org> fffgood experimental#Vincent Hanquez <vincent@snarc.org>ff         !"#$%&'()*+,-./01234456789:;<=>?@ABCDEFGHIJKLKMNOPQRSTUVWXYZ[\]^_`abccdef ghhijklmnopqrstuvwxyz{|}~    certificate-0.9.4Data.Certificate.KeyRSAData.Certificate.KeyDSAData.Certificate.PEMData.Certificate.X509.ExtData.Certificate.X509.CertData.Certificate.X509System.Certificate.X509Data.Certificate.X509.InternalSystem.Certificate.X509.UnixPrivateversion lenmodulusmoduluspublic_exponantprivate_exponantp1p2exp1exp2coef decodePrivate encodePrivateprivpubpqg parsePEMsfindPEM parsePEMCertparsePEMCertReqparsePEMKeyRSAparsePEMKeyDSA parsePEMKeyExtExtAuthorityKeyIdExtSubjectKeyId ExtKeyUsageExtBasicConstraintsExtKeyUsageFlagKeyUsage_decipherOnlyKeyUsage_encipherOnlyKeyUsage_cRLSignKeyUsage_keyCertSignKeyUsage_keyAgreementKeyUsage_dataEnciphermentKeyUsage_keyEnciphermentKeyUsage_nonRepudiationKeyUsage_digitalSignatureCertificateExt extDecode 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 oidCountryoidOrganizationoidOrganizationUnitoidSigsigOIDparseCertificateencodeCertificateHeaderX509getSigningDatadecodeCertificateencodeCertificatefindCertificate parsePrivatePEM takeTillEndfindSectionNameparsePEMSections ParseASN1PrunPOID runParseASN1getNextgetNextContaineronNextContainergetNextContainerMaybeonNextContainerMaybehasNext asn1ContainermakeASN1SequenceoidSubjectKeyId oidKeyUsageoidBasicConstraintsoidDistributionPoints oidPoliciesoidPoliciesMappingoidAuthorityKeyId CertKeyUsageCertKeyUsageDecipherOnlyCertKeyUsageEncipherOnlyCertKeyUsageCRLSignCertKeyUsageKeyCertSignCertKeyUsageKeyAgreementCertKeyUsageDataEnciphermentCertKeyUsageKeyEnciphermentCertKeyUsageNonRepudiationCertKeyUsageDigitalSignatureTime parse_RSA parse_ECDSAparseCertHeaderVersionparseCertHeaderSerial sig_tablepk_table oidPubKey pubkeyalgOID pubkeyToAlgparseCertHeaderAlgorithmID asn1StringencodeAsn1StringparseCertHeaderDNparseCertHeaderValidityparseCertHeaderSubjectPKparseCertExtensionsencodeDNencodePK encodeExtsReadErr CertError ExceptiondefaultSystemPathenvPathOverride getSystemPathreadCertificatereadAll