úÎ [ä/      !"#$%&'()*+,-.unknown experimental#Vincent Hanquez <vincent@snarc.org> /      unknown experimental#Vincent Hanquez <vincent@snarc.org> 01234unknown experimental#Vincent Hanquez <vincent@snarc.org>Q567Certificate Version Certificate Serial number  Certificate Signature algorithm Certificate Issuer DN Certificate Subject DN Certificate Validity period Certificate Public key Certificate Extensions .Certificate Signature Algorithm and Signature any others fields not parsed 89:;<=>?@ABCDEFGHI !"Certificate DN Common Name ##Certificate DN Country of Issuance $Certificate DN Organization %!Certificate DN Organization Unit & Certificate DN Other Attributes '()*unrecognized format +DSA format with (pub, p, q, g) ,*RSA format with (len modulus, modulus, e) JKLMNOPQRS,parse a RSA pubkeys from ASN1 encoded bits. = - return PubKeyRSA (len-modulus, modulus, e) if successful TUVWXYZ[\]^_`abcdef:parse header structure of a x509 certificate. it contains G - the version, the serial number, the issuer DN, the validity period, ( - the subject DN, and the public keys gUparse root structure of a x509 certificate. this has to be a sequence of 3 objects :  - * the header  - * the signature algorithm  - * the signature --decode a X509 certificate from a bytestring hij.+encode a X509 certificate to a bytestring  !"#$%&'()*+,-.),+*'( !"#$%&-.  !"#$%&!"#$%&'((),+**+,-.k      !""#$%&'(()*+,-./01234567889:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijcertificate-0.3Data.Certificate.KeyData.Certificate.PEMData.Certificate.X509 PrivateKeyprivKey_versionprivKey_lenmodulusprivKey_modulusprivKey_public_exponantprivKey_private_exponant privKey_p1 privKey_p2 privKey_exp1 privKey_exp2 privKey_coefdecodePrivateKeyencodePrivateKey parsePEMs parsePEMCertparsePEMCertReqparsePEMKeyRSAparsePEMKeyDSA parsePEMKey Certificate certVersion certSerialcertSignatureAlg certIssuerDN certSubjectDN certValidity certPubKeycertExtensions certSignature certOthers CertificateDN cdnCommonName cdnCountrycdnOrganizationcdnOrganizationUnit cdnOthersPubKey PubKeyDesc PubKeyUnknown PubKeyDSA PubKeyRSAdecodeCertificateencodeCertificateparsePrivateKeyPEM takeTillEndfindSectionNameparsePEMSectionsfindPEM ParseCertPrunPCertificateExtscertExtKeyUsagecertExtBasicConstraintscertExtSubjectKeyIdentifiercertExtPolicies certExtOthers CertKeyUsageCertKeyUsageDecipherOnlyCertKeyUsageEncipherOnlyCertKeyUsageCRLSignCertKeyUsageKeyCertSignCertKeyUsageKeyAgreementCertKeyUsageDataEnciphermentCertKeyUsageKeyEnciphermentCertKeyUsageNonRepudiationCertKeyUsageDigitalSignatureTime SignatureALGSignatureALG_UnknownSignatureALG_dsaWithSHA1SignatureALG_dsaSignatureALG_rsa"SignatureALG_sha1WithRSAEncryption!SignatureALG_md2WithRSAEncryption!SignatureALG_md5WithRSAEncryptionOID parse_RSA runParseCertgetNext getRemaininghasNextlookNextparseCertHeaderVersionparseCertHeaderSerial sig_tableoidSigsigOIDparseCertHeaderAlgorithmIDstringOfASN1StringparseCertHeaderDNHelperparseCertHeaderDNparseCertHeaderValidityparseCertHeaderSubjectPKparseCertExtensionHelperparseCertExtensionsparseCertificateprocessCertificateencodeDNencodePKencodeCertificateHeader