ó ükWc@s®dZddlZddlZddlZddlZddlTdZejjejj e ƒƒZ e d„Z dZd„Zd„Zed krªeje ƒe d ƒ\ZZed d ƒZejeƒWdQXed d ƒZejeƒWdQXdGHedddd dddddg ƒedddd dddddg ƒedd ƒ!ZejeƒejeƒWdQXeddƒZejeƒWdQXeƒe dƒ\ZZedd ƒ!ZejeƒejeƒWdQXe d eƒ\ZZedd ƒ!ZejeƒejeƒWdQXe deƒ\ZZedd ƒ!ZejeƒejeƒWdQXeƒdGHeddddd d!d"gƒndS(#sOMake the custom certificate and private key files used by test_ssl and friends.iÿÿÿÿN(t*sˆ [req] distinguished_name = req_distinguished_name x509_extensions = req_x509_extensions prompt = no [req_distinguished_name] C = XY L = Castle Anthrax O = Python Software Foundation CN = {hostname} [req_x509_extensions] subjectAltName = DNS:{hostname} [ ca ] default_ca = CA_default [ CA_default ] dir = cadir database = $dir/index.txt crlnumber = $dir/crl.txt default_md = sha1 default_days = 3600 default_crl_days = 3600 certificate = pycacert.pem private_key = pycakey.pem serial = $dir/serial RANDFILE = $dir/.rand policy = policy_match [ policy_match ] countryName = match stateOrProvinceName = optional organizationName = match organizationalUnitName = optional commonName = supplied emailAddress = optional [ policy_anything ] countryName = optional stateOrProvinceName = optional localityName = optional organizationName = optional organizationalUnitName = optional commonName = supplied emailAddress = optional [ v3_ca ] subjectKeyIdentifier=hash authorityKeyIdentifier=keyid:always,issuer basicConstraints = CA:true c Cséd|GHg}x?tdƒD]1}tjdtƒ}|j|jƒWdQXqW|\}}}zct|dƒ }|jtj d|ƒƒWdQXdddd d d d d |d|g }|rtjdtƒ }|j|jƒ|j} WdQX|d| g7}n|dd|g7}t dg|ƒ|rpdd|d|dddddd| g }t dg|ƒnt|dƒ}|j ƒ} WdQXt|dƒ}|j ƒ} WdQX| | fSWdx|D]} t j | ƒqÍWXdS(Nscreating cert for itdeletetwthostnametreqs-news-dayst3650s-nodess-newkeysrsa:1024s-keyouts-configs-outs-x509topenssltcas-outdirtcadirs-policytpolicy_anythings-batchs-infilestr(trangettempfiletNamedTemporaryFiletFalsetappendtnametopentwritet req_templatetformatt check_calltreadtostremove( Rtsignt tempnamestitftreq_filet cert_filetkey_filetargstreqfiletcerttkeyR((s)/usr/lib/python2.7/test/make_ssl_certs.pyt make_cert_keyFs<    RcCstjtƒdS(N(tshutiltrmtreet TMP_CADIR(((s)/usr/lib/python2.7/test/make_ssl_certs.pyt unmake_canscCs¶tjtƒttjjddƒdƒ}WdQXttjjddƒdƒ}|jdƒWdQXttjjddƒdƒ}|jdƒWdQXtjd ƒ}|jt j d d ƒƒ|j ƒtjƒÍ}d d dddddddddd|j ddg}t dg|ƒdd|j ddddd td!dddd"ddd#|j g}t dg|ƒdd|j d$dd%g}t dg|ƒWdQXWdQXdS(&NRs index.txtsa+scrl.txtt00sindex.txt.attrsw+sunique_subject = noRRs our-ca-serverRs-news-daysRs -extensionstv3_cas-nodess-newkeysrsa:2048s-keyouts pycakey.pems-outs-subjsG/C=XY/L=Castle Anthrax/O=Python Software Foundation CA/CN=our-ca-serverRRs-configs-create_serials pycacert.pems-batchs-outdirs-keyfiles -selfsigns-infiless-gencrlsrevocation.crl(RtmkdirR'RtpathtjoinRR R RRtflushRR(RttR ((s)/usr/lib/python2.7/test/make_ssl_certs.pytmake_caqs. !!!     t__main__t localhosts ssl_cert.pemRs ssl_key.pems5password protecting ssl_key.pem in ssl_key.passwd.pemRtrsas-ins-outsssl_key.passwd.pems-des3s-passouts pass:somepassskeycert.passwd.pems keycert.pemsa+t fakehostnames keycert2.pems keycert3.pems keycert4.pemsr Please change the values in test_ssl.py, test_parse_cert function related to notAfter,notBefore and serialNumbertx509s-datess-serials-noout(t__doc__RR%tsysR t subprocessRR,tabspathtdirnamet__file__thereRR$R'R(R0t__name__tchdirR"R#RRRRtTrue(((s)/usr/lib/python2.7/test/make_ssl_certs.pytsT     : &    %%