Files
boc/rust-service/target/debug/deps/libnative_tls-e1026d29fb07daec.rmeta
T

207 lines
78 KiB
Plaintext
Raw Normal View History

rust
“4#rustc 1.96.0 (ac68faa20 2026-05-25)ÁÀ뉊]!ÜÛê(¹Þ—šên-5be7b69c3ff7b5b8ÁíàÄTËŸ ÜJîÄ)'ß\¥!-3d1337db07d0b3aeÁ¤²XctÔ'ÐÓ©z¨ɽÓ-a4945860e1c53b00Á¤°ð ¾ä-±($²ï=©Ã-7e98a21bfd32b0edÁòÖÀH•‘PIÓHã#£-055f30b747f859b6Árustc_std_workspace_coreÁ­Cçß^ò½èÝ$­Çÿ+Cé-c4878ee60b2242c9ÁŸÃï+Ñ]ŠqB<ÏïW#-8dd1dd90e70d0b6aÁ miniz_oxideÁ€š»J(P>àö÷g\K-1eb618da2918ab7fÁadler2ÁÆ;+Þ®5¥Ìýݰ¦ÛLˆ-f7919172d268e069Á hashbrownÁPäV9ÒÆèÜ"ÊÖVŽ\-0fc2184a5da6723aÁrustc_std_workspace_allocÁs&ØòØy¯s•bæ!‰ýŠ-97e4bf30be240674Á
std_detectÁhŠBîÙºÌI®ËÅš-9dbbf8346ba7ac8bÁrustc_demangleÁûë9´Ç×@Œ’ùXFº-f33013f239bf9f14Ácfg_ifÁÜLhž§Œaã¯>­-0a71c8f33a838301Á addr2lineÁ׎Þ!]8V$É@@-e618e6be60e87ba2ÁgimliÁ¸
°µ~Î1‹Ñt ðÁ€w-1f7768a68858f670ÁobjectÁ
áPÃ?­À¶¼QHJ¥-914cd6a4dbe590d1ÁmemchrÁ›º«8Ór­2Ù $¨ûib-cf21ca6f2bb15dcdÁë
‹ás«LÖ€îâƒ×ɯŒ-ee6f3747e38367f0ÁopensslÁüT?Û>þŒ‰D—½Ûl‘™-ebad870e4e559d60Á openssl_sysÁ³9ø„ðL ç¦A-6d2d9f97aafcade7Á?A©ú¡E2¯ëäu-8e0657b9e365f274Á
foreign_typesÁŠYz„£ÌØënѱ
-c99eb47d449146deÁforeign_types_sharedÁÕ©ûóQI
”IÛˆ¥ù©-ebb23b107d694726Á®f©¾/ô)c§{õa“â‘-a3906971a93fd1b8Áopenssl_macrosÁaŒY<â:¬tr*l^E -0f421b18af44bc19ÁbitflagsÁŽ¡mMÇ3@…EDZqTL-10ed8b3efd511271Á
openssl_probeÁ*hEUœ;ñj®N-ec16c6408cc220b6ÁlogÁ’@ž®LäÏë´©†l¶æÞ-d2ed4e8c2a586cf8Á supported_protocolsÁœ—
have_min_max_versionÁ¤ü ´û  load_android_root_certsÁ¼ËúandroidÁ¬° alpn_wire_formatÁ„óW»alpnÁ„ÃW» alpn-acceptÁ¼ÕWüÂW+ÀimpÁ            
     
                  PROBE_RESULTÁ ¸ ))cvtÁ ,sourceÁ .× 0÷ 2 from_pkcs12Á3 3 2
from_pkcs8Á 7from_derÁ7from_pemÁ7stack_from_pemÁ7to_derÁ MidHandshakeTlsStreamÁ<
<¤<ˆ @¤@× C¤Cget_refÁCget_mutÁ G¤G handshakeÁ HandshakeErrorÁJ¤JFailureÁL
LˆJ
WouldBlockÁO
Oˆ R¤R÷  U¤U÷ 
Xæ XconnectÁZ¤  \×  ^æ ^acceptÁ`¤  TlsStreamÁb
b¤bˆ 
f¤f× i¤i½iË m¤mbuffered_read_sizeÁmpeer_certificateÁmtls_server_end_pointÁq mshutdownÁ t¤treadÁ w¤wwriteÁwflushÁÍ{¥ErrorÁ}
}ˆÜ××÷ˆƒˆ²ÁÐåò
¤ˆ¤×¤½Ë¤ä ž¤žÜ
¡¤¡× ¤¤¤÷TlsConnectorBuilderÁ§identityÁ§ min_protocolÁ§ max_protocolÁ§root_certificatesÁ§accept_invalid_certsÁ§accept_invalid_hostnamesÁ§use_sniÁ§disable_built_in_rootsÁ °æ°min_protocol_versionÁ°max_protocol_versionÁ°add_root_certificateÁ°°danger_accept_invalid_certsÁ°ó°danger_accept_invalid_hostnamesÁ°buildÁ
ºæ ºbuilderÁºô½¤TlsAcceptorBuilderÁ¿æ¿ö¿ŠÃ¬ÃÈÃÚÇæ Çóǟʤ³Ì
̤̈ФÐ×Ó¤Ó½ÓËפ×פ׻×ÚݤÝôà¤àŠà _check_kindsÁääis_syncÁæ¥äis_sendÁè¥ °êªë
ëˆêSslÁî
îˆîê
EmptyChainÁò
êNotPkcs8Áô
ê AlpnTooLongÁö
 ø× IdentityÁúpkeyÁúcertÁúchainÁ þƒ  CertificateÁ
ˆ ƒƒ  TlsConnectorÁ connectorÁóÓ· Šƒ  TlsAcceptorÁŒ
Œˆ ƒü
ˆƒ¼
ˆƒô¤
ˆ© 
 ˆ£¤£×ProtocolÁ¦Sslv3Á§
¦Tlsv10Á©
¦Tlsv11Á«
¦Tlsv12Á­
¦Tlsv13Á¯
±×µƒç·
·ˆºƒ¼×¯¾
¾ˆÁƒ)
-
/
/
/
3
3
6
6
8
9
:
;
B
B
B
E
F
Y
Z
Z
]
]
]
_
`
h
h
h
k
l
o
p
q
s
v
v
y
y
z

ƒ
ƒ
ƒ





Š
Š
Œ

Ž





š
 
£
£
£
±
²
³
´
µ

·
¸
¹
½
½
Ä
Å
Æ
Ê
Ò
Ò
Ò
Õ
Ö
Ù
Ú
Û
Ü
ß
ß
â
â
ã
ù
ù
ù
ÿ




š
¥
¥
¥
²
²
²

»
½
½
½
Â
¿cêëìªíˆîïðˆñòó­ôõÄö÷ÙÅÊ)ø·1¾Ó'ÄcÓ'éÓ'Û,Û,Ü,
ErrorStackÁÝ,ˆÐ N1b´ñ@ØúúüûŒ ü˜ ý¤ ’óÆ—ºú÷aؼˆ  B¶êÓ˜`_Ø¿c<<=ò?ˆ  ášmßñ]¤éJLMNˆOP©QˆZˆœÔ¤ä*Õ:×:Ø: SetupFailureÁÙ:ˆÚ:Û:Ü:ˆÝ:Þ:©ß:ˆF®ñ@:ä*éñ*ò(Øçû ó ˆÓ · ó[Ò5k¿c¹,ØŒŒ¯Žˆ  ÕXHÒ /¿cbbc³eˆ  «§`jKªÜÇä*à Ð-Ÿ!Ð-¾}}~°ˆ ðROåÅÚÄc›.¿c.é.Ó'Øüˆ ‰]”™T|ÄLؼ˜ˆ ̸¥þg ¿còˆ k=ä*¿cžŸˆ ¡©¢ˆƒL¾N4å¥ä*¾›0Äc›0é›0ñ*¿c¦§¨÷ ©ª‰!«¬œ!­®¯!¯°Â!þ/ÿŽÉ{金 Ž1ÛŽ1ØŽ1Ø··¸ç¹ˆ 3¤”ò¤Þпc™2ؾ¾¿¯Àˆ Œ:`YŸdx¿cÌÌͳψ \ñ‹¬ÇHóä*à “3Ÿ!“3øê@<\fb„}”£±¦¼·ÐÌ,ê.ê0êRJUJ†þúƒŠŒµ¦º·Á¾tÌw̳¦´¦¿c
è¾@ÄcéØ à ?Ÿ! Š  Û4— êì%Ó'0ò(7>¯ êï(Ó'3Ð:Ð:°Ñ:codeÁÒ:ÜÑ+ƒ°W=/sSSSX509VerifyResultÁSˆÄ K‰ÑqŠ"`¹À´ß/ %ÿ)0µPµP¶PX509Á·PˆÄ ©.›ÐþƒjqüÚ4# <ä*='·*2åGåGMidHandshakeSslStreamÁçGstreamÁ²èGerrorÁ²C\'·í›ò•ä*š<³: Jä*M&ñ*1Ó'8?TÇ: Jä*P&ñ*1·*8?´a Œ%˜-0³:³:´: SslAcceptorÁµ:ˆ» #âDZqx¼¸q bä*c&Ð-1»» SslStreamÁ½sslÁ²¾methodÁ²¿_pÁ²7¨/éd²õÎä*„È  }~#..Ó'5<œ¢& %ð.0µ)7>´Ã3 %¨/0ÿ)7>üå<# ä*)à/4·*;B<ÖG ä*ž(03.:ATÿI ä*¡(03à/:A¼â~ ·¸%™20¹,7>´Ã  ¾¿&Û21˜-8?¼…« Ìä*Í)“34Ð-;B {}~§¿ÌÍ䦷¸¾¿ÀAnyÁðì%þ8,ÿפ,ioÁ¦ 4¾[ü ¿ü>; An abstraction over platform-specific TLS implementations.Á?úüCMJ Many applications require TLS/SSL communication in one form or another asÁü‘MJ part of their implementation, but finding a library for this isn't alwaysÁüßKH trivial! The purpose of this crate is to provide a seamless integrationÁü«MJ experience on all platforms with a cross-platform API that deals with allÁüù# the underlying details for you.Áúô¡ # How is this implemented?ÁÀúüÄJG This crate uses SChannel on Windows (via the `schannel` crate), SecureÁüOL Transport on OSX (via the `security-framework` crate), and OpenSSL (via theÁüßLI `openssl` crate) on all other platforms. Future features may also enableÁü¬KH other TLS frameworks as well, but these initial libraries are likely toÁÜø remain as the defaults.Áúü˜OL Note that this crate also strives to be secure-by-default. For example whenÁüèGD using OpenSSL it will configure validation callbacks to ensure thatÁü°LI hostnames match certificates, use strong ciphers, etc. This implies thatÁüýPM this crate is *not* just a thin abstraction around the underlying libraries,ÁüÎJG but also an implementation that strives to strike reasonable defaults.ÁúÄ  # Supported featuresÁúüº >; This crate supports the following features out of the box:Áù úüý " * TLS/SSL client communicationÁü 
" * TLS/SSL server communicationÁüÃ
 * PKCS#12 encoded identitiesÁüä
%" * X.509/PKCS#8 encoded identitiesÁüŠ -* * Secure-by-default for client and serverÁü¸ 41 * Includes hostname verification for clientsÁüí B? * Supports asynchronous I/O for both the server and the clientÁ° ú¤´  # Cargo FeaturesÁÉ úüÍ ur * `vendored` - If enabled, the crate will compile and statically link to a vendored copy of OpenSSL. This featureÁüÃ
DA has no effect on Windows and macOS, where OpenSSL is not used.ÁüˆEB * `alpn` - enables `request_alpns()` for negotiating HTTP/2, etc.ÁüÎ52 * `alpn-accept` - enables ALPN for `TlsAcceptor`.Áútˆ # ExamplesÁúü›.+ To connect as a client to a remote server:ÁÊú ```rustÁüÚ! use native_tls::TlsConnector;Áüü use std::io::{Read, Write};Áäœ use std::net::TcpStream;Á¹úü½1. let connector = TlsConnector::new().unwrap();Áïúüó?< let stream = TcpStream::connect("google.com:443").unwrap();Áü³FC let mut stream = connector.connect("google.com", stream).unwrap();Áúúüþ96 stream.write_all(b"GET / HTTP/1.0\r\n\r\n").unwrap();Á̸ let mut res = vec![];ÁüÒ*' stream.read_to_end(&mut res).unwrap();Áüý2/ println!("{}", String::from_utf8_lossy(&res));Á ```Á¸úü¼:7 To accept connections as a server from remote clients:Á÷ú”û ```rust,no_runÁüŽ74 use native_tls::{Identity, TlsAcceptor, TlsStream};Á´Æ use std::fs::File;Á´Ý use std::io::Read;Áüô+( use std::net::{TcpListener, TcpStream};Á¼  use std::sync::Arc;Á¤¸ use std::thread;ÁÍúüÑ74 let mut file = File::open("identity.pfx").unwrap();Áô‰ let mut identity = vec![];Áü¨-* file.read_to_end(&mut identity).unwrap();ÁüÖHE let identity = Identity::from_pkcs12(&identity, "hunter2").unwrap();ÁŸúü£>; let listener = TcpListener::bind("0.0.0.0:8443").unwrap();Áüâ74 let acceptor = TlsAcceptor::new(identity).unwrap();Áüš&# let acceptor = Arc::new(acceptor);ÁÁúüÅ41 fn handle_client(stream: TlsStream<TcpStream>) {Á // ...Á,‰úü“'$ for stream in listener.incoming() {Á´» match stream {ÁÜÒ Ok(stream) => {Áüî0- let acceptor = acceptor.clone();ÁüŸ'$ thread::spawn(move || {ÁüÇB? let stream = acceptor.accept(stream).unwrap();ÁüŠ*' handle_client(stream);Áœµ });Á },ÁüØ2/ Err(e) => { /* connection failed */ },ÁL,•¢b<‡[ {}~§¿ÌÍ䦷¸¾¿ÀûëBùì%þ8ø×÷¤,§Cô¦ ó¾[cfi]ùQTDG58(+<ˆŒ()<=JbcêúŒ€(TÛ, 
MessageDigestÁl3û,  NidÁT¹.  Pkcs12Á4nÓ2 
PKeyÁ$Š6 PrivateÁ<â §<$²² Î8¬¸åG ’;\ϳ:  SslConnectorÁdܬ: SslContextBuilderÁŒêè  SslMethodÁLýÜ> 
SslVerifyModeÁlŒê> X509StoreBuilderÁ„¸ÎN Æ6„ÞS Ñ7$ðµP  ProbeResultÁ\Š LazyLockÁD¦Ä9 þ8,º  ×Á¤, !§CƦ "ç Dئ $”â¿ %Ëœö§ &,•× Nä$5ŒF&¼]lzðóç§ÛÞÎѵ¸šgjü¢&OCF69Ôû"œ›´öøçé,ÐÜÞÍϾÀT³ü* Ä9Ä9½kÇ9onceÁ±9È9dataÁ±9¶¾‰xºZÈâ k cert_fileÁcert_dirÁêñíô‡ßéoC8ÿÿ8üŠÔ ¤öäðœ ÃÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙŽ1²q Ãèèé÷iꈲ ¸ƒÐŽAKÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ò( ä
)minÁ©maxÁÄctxÁßÄ¢üÁ!Ä Ž1ñDñDòD
SslVersionÁóDˆ² |>Å‹º»
+» ÈÜ„Ó'-¿-ü¦9Ä ÄÓ'Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡z٠ľ, °,
-ÜùÓ'/Åc/ü› 6ž ÅÆÇ ÅÓ' Æ c cˆ¢cµ
 `£cbufÁ `àB¤GS
ÇÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
„sŸÈŸÈ È° éBL. ¢ .
/ש üò$Ó'1ë1ü˜%!$%ò(Ó'00
1errÁ %lÉ&µ)36üÝ&E\ä&ÈÉ È
 ÉÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
µ)Ó'2 õ&2
3õuð&passÁ$ü&¼(3<closure_kind>Á4<closure_signature>Á4<upvars>Á4434„sÓ'„sý(3ˆz5 z5½z5535Ý{à{„süý+DT„,ÊË ÊÞy ËÞyíy2 ”,2
6õu,keyÁ,„þ/ÿ)89:;ü•09Dœ0Ì ÌÞyÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÿ)Ó'7 ª07
8õu¥0ü£19Dª1Í ÍÞyô}7 ¸17
9õu³1ü±2Dt¸2Î ÎÞyÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ªBªBö­Bõu÷<®B÷<9)
-ÜnLÿ)çEçEèEGlobalÁ ¿±‡§í#Ó'7 Ì27
:õuÇ2üì3.4ó3Ï Ïÿ)Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ªBªBö­Bõu÷<®B÷<9)
-ÜnLßyò€Ó'7 ú37
;$û3¬å4¤>>Íìä* û4·*ášmßñ]=?Ä9·*Q Ä9·*<<
=ä*`bÄþ4 <<Ä9üš5H¤AA¿ƒ Ÿ5¿cä*T×5·*BÀcB!üé56ì5ÐÑÒ Ð·* Ñ c cˆ¢cµ
 `£cõu `àB¤GS
Òœw@ ð5@
Bä*$ñ5×÷5üÑ6 ¤DD¿ƒ Ö6·*EF 
Üø6<ÿ6Ó Ó·* Óä*C ‡7C
Eä*$ˆ7üº7#<Á7Ô Ô·* Ôä*C É7C
Fä*$Î7ü‚8C¤HH¿ƒ ‡8à ä*D°8Ÿ!ä*L»8·*I')üÌ8ALÓ8·*Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Ð-ñ*GG
Iä*$Ý8Ô’:t:¤KK¿ƒ ª:ñ*ZˆœÔ¤LMOPMNÓ'ñ*PQ·*ñ*<>JJ
Mä*Ó'ñ*JJ§‹,»:JJÓ'JJ
Pä*·*ñ*JJŒÄÒ:JJ·*üð::¤SS¿ƒ õ:ñ*TëTü±;7$´;µ+ñ*RR
Tä*° ¹;ü¥?.¤VV¿ƒ ª?ñ*WëWüÚ?+$Ý?ò(ñ*UU
Wä*° â?ŒÝA¹,YZüõAHüAÕ Õ§§Ë¨æ©öªŠ«ž¬·­Ó®ó¯ŸÓŽUI²$@Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¹,Ó'X ‰BX
Yó<€Bü¸S‡<¿SÖ× Ö¹, ×ä*´‰X¤[[ ÊSX¿ƒ ÇSãˆDªTòˆLµT