/usr/lib64/python2.6/site-packages/OpenSSL/test
NameSizeModeActions
test_crypto.py597380644editdlrm
test_crypto.pyc575600644editdlrm
test_crypto.pyo575600644editdlrm
test_rand.py22640644editdlrm
test_rand.pyc28530644editdlrm
test_rand.pyo28530644editdlrm
test_ssl.py307970644editdlrm
test_ssl.pyc292630644editdlrm
test_ssl.pyo291720644editdlrm
util.py48340644editdlrm
util.pyc55130644editdlrm
util.pyo55130644editdlrm
__init__.py1170644editdlrm
__init__.pyc2160644editdlrm
__init__.pyo2160644editdlrm
Edit: /usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyc (29263B)
Ñò ð|ýJc@s†dZddklZddklZddklZddklZddkl Z ddk l Z l Z l Z lZlZlZddklZlZlZlZlZlZdd klZlZlZlZdd klZlZlZdd klZl Z l!Z!dd k"l#Z#dd k$l%Z%l&Z&ddk$l'Z'l(Z(l)Z)l*Z*l+Z+yddkl,Z,Wne-j o e.Z,nXyddkl/Z/Wne-j o e.Z/nXyddkl0Z0Wne-j o e.Z0nXd„Z1de#fd„ƒYZ2de#fd„ƒYZ3de#fd„ƒYZ4de#fd„ƒYZ5d„Z6de#fd„ƒYZ7e8djo e ƒndS( s Unit tests for L{OpenSSL.SSL}. iÿÿÿÿ(tplatform(tsocket(tmakedirs(tjoin(tmain(tTYPE_RSAt FILETYPE_PEMtPKeytdump_privatekeytload_certificatetload_privatekey(t WantReadErrortContextt ContextTypet ConnectiontConnectionTypetError(t SSLv2_METHODt SSLv3_METHODt SSLv23_METHODt TLSv1_METHOD(t OP_NO_SSLv2t OP_NO_SSLv3tOP_SINGLE_DH_USE(t VERIFY_PEERtVERIFY_FAIL_IF_NO_PEER_CERTtVERIFY_CLIENT_ONCE(tTestCase(tcleartextCertificatePEMtcleartextPrivateKeyPEM(tclient_cert_pemtclient_key_pemtserver_cert_pemtserver_key_pemt root_cert_pem(tOP_NO_QUERY_MTU(tOP_COOKIE_EXCHANGE(t OP_NO_TICKETcCsëtƒ}|idƒ|idƒtƒ}|itƒ|id|iƒdfƒ|itƒ|iƒd}|i dƒ|i dƒdjpt ‚|i dƒ|i dƒdjpt ‚|itƒ|itƒ||fS( sQ Establish and return a pair of network sockets connected to each other. tiis 127.0.0.1txity(R&i( Rtbindtlistent setblockingtFalset connect_ext getsocknametTruetaccepttsendtrecvtAssertionError(tporttclienttserver((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt socket_pair#s          t ContextTestscBs”eZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z e djon d „Z d „Zd„Zd„ZRS(s0 Unit tests for L{OpenSSL.SSL.Context}. cCsQx$ttttgD]}t|ƒqW|ittdƒ|ittdƒdS(sŒ L{Context} can be instantiated with one of L{SSLv2_METHOD}, L{SSLv3_METHOD}, L{SSLv23_METHOD}, or L{TLSv1_METHOD}. R&i N(RRRRR t assertRaisest TypeErrort ValueError(tselftmeth((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt test_methodEs cCs'|ittƒ|itdtƒdS(s‡ L{Context} and L{ContextType} refer to the same type object and can be used to create instances of that type. R N(tassertIdenticalR R tassertConsistentTypeR(R<((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt test_typePscCsLtƒ}|itdƒttƒ}|i|ƒ|it|idƒdS(sU L{Context.use_privatekey} takes an L{OpenSSL.crypto.PKey} instance. i€R&N(Rt generate_keyRR Rtuse_privatekeyR9R:(R<tkeytctx((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_use_privatekeyYs    cs tƒ}|itdƒ|iƒ}t|dƒ}d‰|itt|dˆƒƒ|iƒg‰‡‡fd†}t t ƒ}|i |ƒ|i |ƒ|i tˆƒdƒ|i tˆddtƒƒ|i tˆddtƒƒ|iˆddd ƒd S( s L{Context.set_passwd_cb} accepts a callable which will be invoked when a private key is loaded from an encrypted PEM. i€twtfoobartblowfishcsˆi|||fƒˆS(N(tappend(tmaxlentverifytextra(t calledWitht passphrase(s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pytpassphraseCallbackrsiiiN(RRBRtmktemptfiletwriteRRtcloseR Rt set_passwd_cbtuse_privatekey_filet assertTruetlent isinstancetintt assertEqualtNone(R<RDtpemFiletfObjRPtcontext((RNROs;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_set_passwd_cbds       csütƒ\}}tttƒ|ƒ}|iƒg‰‡fd†}ttƒ}|i|ƒ|ittt ƒƒ|i t tt ƒƒt||ƒ}|i ƒxGˆp?x8||fD]*}y|iƒWq¸tj oq¸Xq¸Wq¤W|iˆƒdS(sž L{Context.set_info_callback} accepts a callable which will be invoked when certain information about an SSL connection is available. csˆi|||fƒdS(N(RJ(tconntwheretret(tcalled(s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pytinfo‰sN(R7RR Rtset_connect_statetset_info_callbacktuse_certificateR RRRCR Rtset_accept_statet do_handshakeR RW(R<R6R5t clientSSLReR_t serverSSLtssl((Rds;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_set_info_callback~s,     c Gs tƒ\}}ttƒ}|i|Œ|itd„ƒt||ƒ}|iƒttƒ}|it t t ƒƒ|i t t tƒƒt||ƒ}|iƒxOtdƒD]A}x8||fD]*} y| iƒWqÅtj oqÅXqÅWq²W|iƒ} |i| iƒidƒdS(NcSs|S(((Ratcertterrnotdeptht preverify_ok((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt©sisTesting Root CA(R7R Rtload_verify_locationst set_verifyRRRfRhR RRRCR RRitrangeRjR tget_peer_certificateR[t get_subjecttCN( R<targsR6R5t clientContextRkt serverContextRltiRmRo((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt_load_verify_locations_test s2          cCsC|iƒ}t|dƒ}|itƒ|iƒ|i|ƒdS(sŠ L{Context.load_verify_locations} accepts a file name and uses the certificates within for verification purposes. RGN(RQRRRSRRTR~(R<tcafileR^((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_load_verify_fileÆs    cCs,ttƒ}|it|i|iƒƒdS(sm L{Context.load_verify_locations} raises L{Error} when passed a non-existent cafile. N(R RR9RRtRQ(R<R{((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_load_verify_invalid_fileÓs cCs_|iƒ}t|ƒt|dƒ}t|dƒ}|itƒ|iƒ|id|ƒdS(s L{Context.load_verify_locations} accepts a directory name and uses the certificates within for verification purposes. s c7adac82.0RGN( RQRRRRRSRRTR~R\(R<tcapathRR^((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_load_verify_directoryÝs    tdarwintwin32cCs‰ttƒ}|iƒ|itd„ƒtƒ}|idƒt||ƒ}|iƒ|i ƒ|i dƒ|i |i dƒƒdS(s¥ L{Context.set_default_verify_paths} causes the platform-specific CA certificate locations to be used for verification purposes. cSs|S(((RaRoRpRqRr((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyRsss verisign.comi»sGET / HTTP/1.0 iN(s verisign.comi»( R Rtset_default_verify_pathsRuRRtconnectRRfRjR1RWR2(R<R_R5Rk((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_set_default_verify_pathsòs        cCsRttƒ}|it|idƒ|it|idƒ|it|idƒdS(sv L{Context.set_default_verify_paths} takes no arguments and raises L{TypeError} if given any. iR&N(R RR9R:R†R\(R<R_((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt'test_set_default_verify_paths_signatures cCs[ttƒ}|it|iƒ|it|itƒƒ|it|itƒtƒƒdS(s½ L{Context.add_extra_chain_cert} raises L{TypeError} if called with other than one argument or if called with an object which is not an instance of L{X509}. N(R RR9R:tadd_extra_chain_certtobject(R<R_((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt&test_add_extra_chain_cert_invalid_certs cCs&ttƒ}|itttƒƒdS(sv L{Context.add_extra_chain_cert} accepts an L{X509} instance to add to the certificate chain. N(R RRŠR RR(R<R_((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_add_extra_chain_cert%s (sdarwinswin32(t__name__t __module__t__doc__R>RARFR`RnR~R€RRƒRRˆR‰RŒR(((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyR8As   " &    tConnectionTestscBseZdZd„ZRS(s3 Unit tests for L{OpenSSL.SSL.Connection}. cCs6|ittƒttƒ}|itd|dƒdS(s L{Connection} and L{ConnectionType} refer to the same type object and can be used to create instances of that type. RN(R?RRR RR@R\(R<RE((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyRA5s (RŽRRRA(((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyR‘1st ErrorTestscBseZdZd„ZRS(s. Unit tests for L{OpenSSL.SSL.Error}. cCs-|itttƒƒ|itidƒdS(s0 L{Error} is an exception type. RN(RWt issubclassRt ExceptionR[RŽ(R<((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyRADs(RŽRRRA(((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyR’@stConstantsTestscBs\eZdZedj o d„Znedj o d„Znedj o d„Z nRS(sð Tests for the values of constants exposed in L{OpenSSL.SSL}. These are values defined by OpenSSL intended only to be used as flags to OpenSSL APIs. The only assertions it seems can be made about them is their values. cCs|itdƒdS(s The value of L{OpenSSL.SSL.OP_NO_QUERY_MTU} is 0x1000, the value of I{SSL_OP_NO_QUERY_MTU} defined by I{openssl/ssl.h}. iN(R[R#(R<((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_op_no_query_mtuWscCs|itdƒdS(s£ The value of L{OpenSSL.SSL.OP_COOKIE_EXCHANGE} is 0x2000, the value of I{SSL_OP_COOKIE_EXCHANGE} defined by I{openssl/ssl.h}. i N(R[R$(R<((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_op_cookie_exchangebscCs|itdƒdS(s— The value of L{OpenSSL.SSL.OP_NO_TICKET} is 0x4000, the value of I{SSL_OP_NO_TICKET} defined by I{openssl/ssl.h}. i@N(R[R%(R<((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_op_no_ticketmsN( RŽRRR#R\R–R$R—R%R˜(((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyR•Ms    cCs|S(N((RaRoterrnumRqtok((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt verify_cbxstMemoryBIOTestscBsÂeZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z d„Z d „Z d „Z d „Z d „Zd „Zd„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(sA Tests for L{OpenSSL.SSL.Connection} using a memory BIO. cCs®ttƒ}|ittBtBƒ|ittBt Bt ƒ|i ƒ}|i t ttƒƒ|itttƒƒ|iƒ|itttƒƒt||ƒ}|iƒ|S(sc Create a new server-side SSL L{Connection} object wrapped around C{sock}. (R Rt set_optionsRRRRuRRRR›tget_cert_storeRCR RR!RhR R tcheck_privatekeytadd_certR"RRi(R<tsockt server_ctxt server_storet server_conn((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt_servers    cCs®ttƒ}|ittBtBƒ|ittBt Bt ƒ|i ƒ}|i t ttƒƒ|itttƒƒ|iƒ|itttƒƒt||ƒ}|iƒ|S(sc Create a new client-side SSL L{Connection} object wrapped around C{sock}. (R RRRRRRuRRRR›RžRCR RRRhR RRŸR R"RRf(R<R¡t client_ctxt client_storet client_conn((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt_client•s    c CsÇt}xº|o²t}x¥||f||fgD]‹\}}y|idƒ}Wntj on X||fSxItoAy|idƒ}Wntj oPqqXt}|i|ƒqqWq/Wq WdS(s Try to read application bytes from each of the two L{Connection} objects. Copy bytes back and forth between their send/receive buffers for as long as there is anything to copy. When there is nothing more to copy, return C{None}. If one of them actually manages to deliver some application bytes, return a two-tuple of the connection from which the bytes were read and the bytes themselves. iiiNi(R/R,R2R tbio_readt bio_write(R<R¨R¤twrotetreadRStbytestdirty((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt _loopback©s(    cCs°|idƒ}|idƒ}|i|iƒdƒ|i|iƒdƒ|i|iƒdƒ|i|i||ƒdƒ|i|iƒdƒ|i|iƒdƒ|i|iƒdƒ|i |iƒ|iƒƒ|i |iƒ|iƒƒ|i |iƒ|iƒƒ|i |iƒ|iƒƒd}|i |ƒ|i |i||ƒ||fƒ|i |ddd…ƒ|i |i||ƒ||ddd…fƒdS(s Two L{Connection}s which use memory BIOs can be manually connected by reading from the output of each and writing those bytes to the input of the other and in this way establish a connection and exchange application-level bytes with each other. sOne if by land, two if by sea.Niÿÿÿÿ( R¥R\R©R?t master_keyt client_randomt server_randomR°tassertNotIdenticalt assertEqualstassertNotEqualsRS(R<R¤R¨timportant_message((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_memoryConnectØs,  c Csþtƒ\}}|i|ƒ}|i|ƒ}t}xS|pKt}x>||fD]0}y|iƒWqPtj o t}qPXqPWq6Wd}|i|ƒ|idƒ}|i ||ƒ|ddd…}|i|ƒ|idƒ}|i ||ƒdS(s³ Just like L{test_memoryConnect} but with an actual socket. This is primarily to rule out the memory BIO code as the source of any problems encountered while passing data over a L{Connection} (if this test fails, there must be a problem outside the memory BIO code, as no memory BIO is involved here). Even though this isn't a memory BIO test, it's convenient to have it here. s,Help me Obi Wan Kenobi, you're my only hope.iNiÿÿÿÿ( R7R©R¥R,R/RjR R1R2R[( R<R6R5R¨R¤t establishedRmR·tmsg((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_socketConnects*    cCsgttƒ}tƒ}t||ƒ}|it|idƒ|it|idƒ|it|iƒdS(s” Test that L{OpenSSL.SSL.bio_read} and L{OpenSSL.SSL.bio_write} don't work on L{OpenSSL.SSL.Connection}() that use sockets. idtfooN( R RRRR9R:RªR«t bio_shutdown(R<R_R5Rk((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_socketOverridesMemory,s   cCsœ|idƒ}|idƒ}|i||ƒd}|id|ƒ}|i||jƒ|i||ƒ\}}|i||ƒ|it|ƒ|ƒdS(s  If more bytes than can be written to the memory BIO are passed to L{Connection.send} at once, the number of bytes which were written is returned and that many bytes from the beginning of the input can be read from the other end of the connection. iiR'Ni€( R¥R\R©R°R1RWR?RµRX(R<R6R5tsizetsenttreceivertreceived((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_outgoingOverflow9scCsH|idƒ}|iƒ|it|idƒ}|i|itƒdS(s{ L{Connection.bio_shutdown} signals the end of the data stream from which the L{Connection} reads. iN(R¥R\R½R9RR2Rµt __class__(R<R6te((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt test_shutdownTs cCsÎ|idƒ}|idƒ}|i|iƒgƒ|i|iƒgƒ|iƒ}||ƒ}|i|iƒgƒ|i|iƒ|ƒ|i||ƒ|i|iƒ|ƒ|i|iƒ|ƒdS(s Verify the return value of the C{get_client_ca_list} method for server and client connections. @param func: A function which will be called with the server context before the client and server are connected to each other. This function should specify a list of CAs for the server to send to the client and return that same list. The list will be used to verify that C{get_client_ca_list} returns the proper value at various times. N(R¥R\R©R[tget_client_ca_listt get_contextR°(R<tfuncR6R5REtexpected((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt_check_client_ca_listas   cCsXttƒ}|it|idƒ|it|idgƒ|i|igƒdƒdS(s L{Context.set_client_ca_list} raises a L{TypeError} if called with a non-list or a list that contains objects other than X509Names. tspamN(R RR9R:tset_client_ca_listR?R\(R<RE((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_set_client_ca_list_errorsys cCsd„}|i|ƒdS(s If passed an empty list, L{Context.set_client_ca_list} configures the context to send no CA names to the client and, on both the server and client sides, L{Connection.get_client_ca_list} returns an empty list after the connection is set up. cSs|igƒgS(N(RÍ(RE((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pytno_ca‹s N(RË(R<RÏ((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_set_empty_ca_list„s cs;tttƒ}|iƒ‰‡fd†}|i|ƒdS(sK If passed a list containing a single X509Name, L{Context.set_client_ca_list} configures the context to send that CA name to the client and, on both the server and client sides, L{Connection.get_client_ca_list} returns a list containing that X509Name after the connection is set up. cs|iˆgƒˆgS(N(RÍ(RE(tcadesc(s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt single_ca›sN(R RR"RxRË(R<tcacertRÒ((RÑs;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_set_one_ca_list‘s csYtttƒ}tttƒ}|iƒ‰|iƒ‰‡‡fd†}|i|ƒdS(sW If passed a list containing multiple X509Name objects, L{Context.set_client_ca_list} configures the context to send those CA names to the client and, on both the server and client sides, L{Connection.get_client_ca_list} returns a list containing those X509Names after the connection is set up. csˆˆg}|i|ƒ|S(N(RÍ(REtL(tcldesctsedesc(s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt multiple_ca¯s  N(R RR RxRË(R<tsecerttclcertRØ((R×RÖs;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_set_multiple_ca_list¡s   cswtttƒ}tttƒ}tttƒ}|iƒ‰|iƒ‰|iƒ‰‡‡‡fd†}|i|ƒdS(s¿ If called multiple times, only the X509Names passed to the final call of L{Context.set_client_ca_list} are used to configure the CA names sent to the client. cs*|iˆˆgƒ|iˆgƒˆgS(N(RÍ(RE(RÖR×RÑ(s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt changed_caÄsN(R RR"R RxRË(R<RÓRÙRÚRÜ((RÑR×RÖs;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_reset_ca_list¶s   csYtttƒ}tttƒ}|iƒ‰|iƒ‰‡‡fd†}|i|ƒdS(sª If the list passed to L{Context.set_client_ca_list} is mutated afterwards, this does not affect the list of CA names sent to the client. cs-ˆg}|iˆgƒ|iˆƒˆgS(N(RÍRJ(RERÕ(R×RÑ(s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyt mutated_ca×s  N(R RR"R RxRË(R<RÓRÙRÞ((R×RÑs;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_mutated_ca_listËs   cCsattƒ}tttƒ}|it|iƒ|it|idƒ|it|i||ƒdS(s• L{Context.add_client_ca} raises L{TypeError} if called with a non-X509 object or with a number of arguments other than one. RÌN(R RR RR"R9R:t add_client_ca(R<RERÓ((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_add_client_ca_errorsßs  cs>tttƒ‰ˆiƒ‰‡‡fd†}|i|ƒdS(s~ A certificate's subject can be added as a CA to be sent to the client with L{Context.add_client_ca}. cs|iˆƒˆgS(N(Rà(RE(RÓRÑ(s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyRÒòs N(R RR"RxRË(R<RÒ((RÑRÓs;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_one_add_client_caës cs_tttƒ‰tttƒ‰ˆiƒ‰ˆiƒ‰‡‡‡‡fd†}|i|ƒdS(s… Multiple CA names can be sent to the client by calling L{Context.add_client_ca} with multiple X509 objects. cs$|iˆƒ|iˆƒˆˆgS(N(Rà(RE(RÓRÙRÑR×(s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyRØs  N(R RR"R RxRË(R<RØ((R×RÙRÑRÓs;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_multiple_add_client_caøs   csztttƒ}tttƒ}tttƒ‰|iƒ‰|iƒ‰ˆiƒ‰‡‡‡‡fd†}|i|ƒdS(sÐ A call to L{Context.set_client_ca_list} followed by a call to L{Context.add_client_ca} results in using the CA names from the first call and the CA name from the second call. cs-|iˆˆgƒ|iˆƒˆˆˆgS(N(RÍRà(RE(RÖR×RÑRÚ(s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pytmixed_set_add_cas N(R RR"R RxRË(R<RÓRÙRä((RÚRÑR×RÖs;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_set_and_add_client_ca s   csztttƒ}tttƒ‰tttƒ‰|iƒ‰ˆiƒ‰ˆiƒ}‡‡‡‡fd†}|i|ƒdS(sÐ A call to L{Context.set_client_ca_list} after a call to L{Context.add_client_ca} replaces the CA name specified by the former call with the names specified by the latter cal. cs4|iˆƒ|iˆgƒ|iˆƒˆˆgS(N(RàRÍ(RE(RÚRÙRÑR×(s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pytset_replaces_add_ca-s  N(R RR"R RxRË(R<RÓRÖRæ((RÚRÙRÑR×s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyttest_set_after_add_client_cas   (RŽRRR¥R©R°R¸R»R¾RÃRÆRËRÎRÐRÔRÛRÝRßRáRâRãRåRç(((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pyRœ{s*   / + )        t__main__N(9RtsysRRtosRtos.pathRtunittestRtOpenSSL.cryptoRRRRR R t OpenSSL.SSLR R R RRRRRRRRRRRRRtOpenSSL.test.utilRtOpenSSL.test.test_cryptoRRRRR R!R"R#t ImportErrorR\R$R%R7R8R‘R’R•R›RœRŽ(((s;/usr/lib64/python2.6/site-packages/OpenSSL/test/test_ssl.pytsF.."(    ð + ÿ¼