PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` gi&ddlmZmZmZmZddlZddlZddlZddlZddl m Z m Z ddl m Z ddlmZmZgdZej$ZddddZd Zd Zdd Zd Zd ZdZdZy))unicode_literalsdivisionabsolute_importprint_functionN)str_cls type_name)LibraryNotFoundError) __version____version_info__)r r backendffi load_order use_ctypes use_openssl use_winlegacy)r backend_configrcttd tdSt5tdtdcdddStjdk(r.tjddkr dtd<n0dtd<n&tjdk(r d td<n d td<tdcdddS#1swYyxYw) zs :return: A unicode string of the backend being used: "openssl", "mac", "win", "winlegacy" r Nwin32r winlegacywindarwinmacopenssl)_module_values _backend_locksysplatformgetwindowsversionB/opt/nydus/tmp/pip-target-bkdi07qp/lib/python/oscrypto/__init__.pyr r "si ,i(( ) ) $ 0!),)) <<7 "$$&q)A-,7y),1y) \\X %(-N9 %(1N9 %i()))sB.A/B..B7ctdk7riStd tdSt5tdtdcdddSitd<tdcdddS#1swYyxYw)z :return: A dict of config info for the backend. Only currently used by "openssl", it may contains zero or more of the following keys: - "libcrypto_path" - "libssl_path" rrN)r rrr!r"r#_backend_configr%>sxyI &'3.// 0 * + 7!"2300,.'(./ 000sAAA(ct|tstdt|zt|tstdt|ztj j |std|ztj j |std|z|Tt|tstdt|ztj j |std|zt5|||d}td d k(rtd |k(r dddytd  td d td <|td <dddy#1swYyxYw) a Forces using OpenSSL dynamic libraries on OS X (.dylib) or Windows (.dll), or using a specific dynamic library on Linux/BSD (.so). This can also be used to configure oscrypto to use LibreSSL dynamic libraries. This method must be called before any oscrypto submodules are imported. :param libcrypto_path: A unicode string of the file path to the OpenSSL/LibreSSL libcrypto dynamic library. :param libssl_path: A unicode string of the file path to the OpenSSL/LibreSSL libssl dynamic library. :param trust_list_path: An optional unicode string of the path to a file containing OpenSSL-compatible CA certificates in PEM format. If this is not provided and the platform is OS X or Windows, the system trust roots will be exported from the OS and used for all TLS connections. :raises: ValueError - when one of the paths is not a unicode string OSError - when the trust_list_path does not exist on the filesystem oscrypto.errors.LibraryNotFoundError - when one of the path does not exist on the filesystem RuntimeError - when this function is called after another part of oscrypto has been imported z/libcrypto_path must be a unicode string, not %sz,libssl_path must be a unicode string, not %szlibcrypto does not exist at %szlibssl does not exist at %sNz0trust_list_path must be a unicode string, not %sz$trust_list_path does not exist at %s)libcrypto_path libssl_pathtrust_list_pathr rrzRAnother part of oscrypto has already been imported, unable to force use of OpenSSL) isinstancer ValueErrorr ospathexistsr OSErrorrr RuntimeError)r'r(r) new_configs r#rrUsQ> ng .JYWeMffgg k7 +G)T_J``aa 77>>. )"#Cn#TUU 77>>+ &"#@;#NOO"/73OR[\kRllm mww~~o.@?RS S 6,&. ) $ 1nEU6VZd6d 66 ) $ 0st t$-y!+5'(666s E.&EE&c<tjdk7r;tjxstj}|dk(rd}td|zt5t ddk(r dddyt d t ddt d<dddy#1swYyxYw) as Forces use of the legacy Windows CryptoAPI. This should only be used on Windows XP or for testing. It is less full-featured than the Cryptography Next Generation (CNG) API, and as a result the elliptic curve and PSS padding features are implemented in pure Python. This isn't ideal, but it a shim for end-user client code. No one is going to run a server on Windows XP anyway, right?! :raises: EnvironmentError - when this function is called on an operating system other than Windows RuntimeError - when this function is called after another part of oscrypto has been imported rDarwinzOS Xz9The winlegacy backend can only be used on Windows, not %sr rNzcAnother part of oscrypto has already been imported, unable to force use of Windows legacy CryptoAPI)rrsystemEnvironmentErrorrrr0)plats r#rrs ||w 0CLL 8 DZ]aabb  0 ) $ 3  0 0 ) $ 0u %0y! 0 0 0sB,BBct5tddk(r dddytd tddtd<dddy#1swYyxYw)z Forces use of ctypes instead of cffi for the FFI layer :raises: RuntimeError - when this function is called after another part of oscrypto has been imported rctypesNr zQAnother part of oscrypto has already been imported, unable to force use of ctypes)rrr0r!r"r#rrs_  ) % H ,  ) ) ) $ 0c !)u ) ) )sAAA ctd tdSt5 ddl}dtd<tdcdddS#t$r dtd<Y&wxYw#1swYyxYw)zh Returns the FFI module being used :return: A unicode string of "cffi" or "ctypes" rNrcffir8)rrr: ImportError)r:s r#rrsne(e$$ % - $*N5 !e$%% -$,N5 ! - %%s+A :AA AAAAc gdS)a) Returns a list of the module and sub-module names for oscrypto in dependency load order, for the sake of live reloading code :return: A list of unicode strings of module names, as they would appear in sys.modules, ordered by which module should be reloaded first )Ezoscrypto._asn1zoscrypto._cipher_suiteszoscrypto._errorsz oscrypto._intzoscrypto._typeszoscrypto.errorszoscrypto.versionoscryptoz oscrypto._ffizoscrypto._pkcs12zoscrypto._pkcs5zoscrypto._randz oscrypto._tlszoscrypto._linux_bsd.trust_listz!oscrypto._mac._common_crypto_cffiz#oscrypto._mac._common_crypto_ctypeszoscrypto._mac._common_cryptoz#oscrypto._mac._core_foundation_cffiz%oscrypto._mac._core_foundation_ctypeszoscrypto._mac._core_foundationzoscrypto._mac._security_cffizoscrypto._mac._security_ctypeszoscrypto._mac._securityzoscrypto._mac.trust_listzoscrypto._mac.utilz!oscrypto._openssl._libcrypto_cffiz#oscrypto._openssl._libcrypto_ctypeszoscrypto._openssl._libcryptozoscrypto._openssl._libssl_cffiz oscrypto._openssl._libssl_ctypeszoscrypto._openssl._libsslzoscrypto._openssl.utilzoscrypto._win._cng_cffizoscrypto._win._cng_ctypeszoscrypto._win._cngzoscrypto._win._decodezoscrypto._win._advapi32_cffizoscrypto._win._advapi32_ctypeszoscrypto._win._advapi32zoscrypto._win._kernel32_cffizoscrypto._win._kernel32_ctypeszoscrypto._win._kernel32zoscrypto._win._secur32_cffizoscrypto._win._secur32_ctypeszoscrypto._win._secur32zoscrypto._win._crypt32_cffizoscrypto._win._crypt32_ctypeszoscrypto._win._crypt32zoscrypto._win.trust_listzoscrypto._win.utilzoscrypto.trust_listz oscrypto.utilz oscrypto.kdfzoscrypto._mac.symmetriczoscrypto._openssl.symmetriczoscrypto._win.symmetriczoscrypto.symmetriczoscrypto._asymmetriczoscrypto._ecdsazoscrypto._pkcs1zoscrypto._mac.asymmetriczoscrypto._openssl.asymmetriczoscrypto._win.asymmetriczoscrypto.asymmetricz oscrypto.keyszoscrypto._mac.tlszoscrypto._openssl.tlszoscrypto._win.tlsz oscrypto.tlsr!r!r"r#rrsF Fr")N) __future__rrrrr,rr threading_typesrr errorsr versionr r __all__Lockrrr r%rrrrrr!r"r#rEsmRR  &(2    )80.?6D0@)(%*Pr"