Files
boc/aamos-ledger-rust/target/release/deps/libnative_tls-e16d6ba5056c3e02.rlib
T

449 lines
376 KiB
Plaintext
Raw Normal View History

!<arch>
/ 0 0 0 0 30460 `
77777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777ià_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold17h19a4ff1d4bb8cbe1E_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold17h5ac6770fc148438fE_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold17h5e3bfcde87d1c849E_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$8try_fold17hacc27488890f05c9E_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hceff5f5234e342d6E_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17hd1f43c8cff12e425E_ZN4core3ptr90drop_in_place$LT$alloc..vec..in_place_drop..InPlaceDrop$LT$native_tls..Certificate$GT$$GT$17h8a2191d75e38d04bE_ZN4core4iter8adapters3map12map_try_fold28_$u7b$$u7b$closure$u7d$$u7d$17h28977e64eff1c22eE_ZN4core3ptr95drop_in_place$LT$alloc..vec..in_place_drop..InPlaceDrop$LT$native_tls..imp..Certificate$GT$$GT$17h9de02f0f6127899dE_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h4e0190881543c174E_ZN103_$LT$alloc..vec..into_iter..IntoIter$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h7af3ecb12035e74dE_ZN104_$LT$alloc..vec..into_iter..IntoIter$LT$T$GT$$u20$as$u20$alloc..vec..in_place_collect..AsVecIntoIter$GT$12as_into_iter17h9b78fc8b1f6f4367E_ZN104_$LT$alloc..vec..into_iter..IntoIter$LT$T$GT$$u20$as$u20$alloc..vec..in_place_collect..AsVecIntoIter$GT$12as_into_iter17hbcc5281b08b1bbc7E_ZN107_$LT$core..iter..adapters..fuse..Fuse$LT$I$GT$$u20$as$u20$core..iter..adapters..fuse..FuseImpl$LT$I$GT$$GT$9next_back17he44e64066065f65cE_ZN107_$LT$openssl..stack..IntoIter$LT$T$GT$$u20$as$u20$core..iter..traits..double_ended..DoubleEndedIterator$GT$9next_back17h08bd471501de8f81E_ZN4core4iter5range116_$LT$impl$u20$core..iter..traits..double_ended..DoubleEndedIterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$9next_back17he654d654209a8f9cE_ZN107_$LT$openssl..stack..IntoIter$LT$T$GT$$u20$as$u20$core..iter..traits..double_ended..DoubleEndedIterator$GT$9next_back28_$u7b$$u7b$closure$u7d$$u7d$17hcd67f2a38b390051E_ZN10native_tls11Certificate14stack_from_pem17ha3bc575c6af47b5aE_ZN90_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hd66e72549866e287E_ZN4core4iter6traits8iterator8Iterator3map17h0972a21600967a7bE_ZN4core4iter6traits8iterator8Iterator7collect17hdac7c08e003532b5E_ZN4core3ptr72drop_in_place$LT$alloc..vec..Vec$LT$native_tls..imp..Certificate$GT$$GT$17he0787241406335acE_ZN10native_tls11Certificate6to_der17h17ef4e2218db127cE_ZN10native_tls11Certificate8from_der17h3d7ba2e1d14a3e24E_ZN10native_tls11Certificate8from_pem17h2d0fee39fdc6a941E_ZN10native_tls11TlsAcceptor3new17h0290c4bb5f845b04E
native_tls-e16d6ba5056c3e02.native_tls.e2f6a37a5326ec5c-cgu.0.rcgu.o/
native_tls-e16d6ba5056c3e02.native_tls.e2f6a37a5326ec5c-cgu.1.rcgu.o/
lib.rmeta/ 0 0 0 644 114384 `
ELF·@@GNUÀrust
½º#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ÁFãTÜ!'¤ÏÁâXýŒO¾-c4f96d4a1c33a9e7Á openssl_sysÁ¦r=³t@ê;œ£Fãt!-72ee1985a91f0921ÁŸ˜6v*°a,7Fú#-4d84f71ef282d676Á
foreign_typesÁì@MŽ‚èé¦k¶0ÄÖ˜“-c5e99ee7ed972605Áforeign_types_sharedÁ—Y»Ïø‰Ló<¶öx8R)ô-0f26f9ef52a015e6Á®a“
n@gä~&[µT1k-19b6a7ba2a83a898Áopenssl_macrosÁ³T?ô“Õ`3Ûb¶­³Éo-7355abddd96e3513ÁbitflagsÁÀN!ÌTD Ð
¶Ä+D¥×-2e9f93174bd0ef8dÁ
openssl_probeÁh)é.$Õ°ñÅ‚Q†(8-544b0f4fcb65b354ÁlogÁ6„÷N\*–Á”?M‚Ÿ [-7637e16ca9f894daÁ 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êëìªíˆîïðˆñòó­ôõÄö÷Ù/jƒ!ÞHɾÓ'ÄcÓ'éÓ'Ù,Ù,Ú,
ErrorStackÁÛ,ˆÐ snР۞ýmØúúüûŒ ü˜ ý¤ EÈɾ¯[̜ؼˆ  WVB]dá¿c<<=ò?ˆ  ÇÎn‘{Imð¤éJLMNˆOP©QˆŸW’ƒ¸y˜ä*Ñ:Ó:Ô: SetupFailureÁÕ:ˆÖ:×:Ø:ˆÙ:Ú:©Û:ˆk'òªÕíä*éñ*ò(Øçû ó ˆÓ · ˆ”–* Š¿c¹,ØŒŒ¯Žˆ  _<_>Äf!¿cbbc³eˆ  oé}n©/x ä*à Ð-Ÿ!Ð-¾}}~°ˆ „G¼Ãþj}Äc›.¿c.é.Ó'Øüˆ òqQGn8%]ؼ˜ˆ ±sauÔ—©É¿còˆ Îvéúvä*¿cžŸˆ ¡©¢ˆ¹ôÝUÀÁ“ä*¾›0Äc›0é›0ñ*¿c¦§¨÷ ©ª‰!«¬œ!­®¯!¯°Â!à¶å×<%WŠ Ž1ÛŽ1ØŽ1Ø··¸ç¹ˆ ôŽ¡|þ†S¿c™2ؾ¾¿¯Àˆ wxß•0¿cÌÌͳψ £_ëòä*à “3Ÿ!“3øê@<\fb„}”£±¦¼·ÐÌ,ê.ê0êRJUJ†þúƒŠŒµ¦º·Á¾tÌw̳¦´¦¿c
è¾@ÄcéØ à ?Ÿ! Š  Û(>ú(.6 DI
êcZ_gks²6Ä6¡©
²6µºÄ6ÆËÓP>³Ì:Ì:°Í:codeÁÎ:Ü^ëï´ ã›¦€>¿ ƒSƒS„SX509VerifyResultÁ…SˆÄ `}Py4.ñƒ
Œ²6À  ¿c
  
™9ÏÕ
‰dç
í  ÏP>žªò( )²6.:™9RX
‡djpp~>ÿùœ£Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ŸÈŸÈ È° O˜éBL' Ó'2  c cˆ¢cµ
 `£cbufÁ `àB¤GS
y ò(²6™9 û<¡ ã7Û ¶8²6Å™9ö™9« ¬=²6è²6ð²6ø±__self_0Á =[__self_1Á OÄ6YÄ6_Ä6e¡=™9Ï=™9KÑ9{=™9}Ô:˜G&Œ6Œ66PKeyÁ6ˆ½6½ 1ÙEÅë¼ÂâÒWÊæ5@ÌÖkp
Ù›?PG¤&©P©PªPX509Á«PˆÄ tc“Ñr^IN
Ù¨@_h€G´&ªBªBö­BÍ;÷<®B÷<9)
-ÜnL¨@çEçEèEGlobalÁ ¿±‡§í#|
Ù”A(Gé% úGî%Gí%Mÿ[µ)f µ)p? ›?¨@ ¨@ ”A< ”AG²¼ÿ?]ê@Ö‰Bp¨@­?² Hö/¨@ê@&.(H×/ HÜ/*ÿ)5 ÿ)?¨@x±CV`ê@<º6ÜGÜGMidHandshakeSslStreamÁÞGstreamÁ²ßGerrorÁ²urJ9ñf Kä*ìª6|ª6
Àc¿EÃ6)Í6Büé5d¢;\”6 ·*,ð5¬<÷5 ¿EÜ×"O¬F4ž7¿E„ž7<¥7
´ä*/L¥7´7Eüø6< ä*7ðF,‡7…Gq6âGx4è7¿E„è7<ï7
µä*0Lï7þ7Füº7D ä*4×7 ·*LÉ7 ¿Ex<ûH~4ž9¿E”ž9L¥9
ãGä*-\¥9(Ę9H ê9µ+Dô9$ö9
èµ+ñ* ô94ö9 Â9«»» SslStreamÁ½sslÁ²¾methodÁ²¿_pÁ²è÷×!¶ä*dË9 bä*„È9 Ö¿Ð-ñ* ×9lð9 Ö¿Ð-ñ* ü9Ž:IüÌ8ÂÌ¿9¼æ9 Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Ð-ñ*üæ8'·*$Ý8Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
°Kµ+Q¿Eló<,¿9°K×Ð-nµ+,ñ*¾°W1—J¸ýJX
 ù;
<ó;6 ·> ©¿EÄê>
<ä* üÏ>4 Jä*
 ?  ý<
¿E =<=Ÿ=
ä** ,Ÿ= «<Ã*ò(DÉ<$Ë<
èò(Ó' É<4Ë<ü±<! Jä* Ñ< ¼=l¥=
—G¬ |¥= é=
 té=Të=
¸ä* ;
 dë=ìÞ= ê
üÆ=6 Jä* ‰>
 ¡?) 9
ü±;ðTü‰<Iüà<ªü•=uü—>zñ*Œ×;µ+ ¹;ó<ü‰<$ò(´Ó'£¿E&¶8 ™= æFæFçFSslRefÁèFˆ² peî¢Ü¸%6…GNÓ'Aã7r¿E¿Eê·*Û6°®°\°ÊÁ¨¾4 1©Q»ëQ¾R2…Sñ¿EœD¨@$ª@ëQ ¨@4ª@ü@! Jä*·@WüÚ?]ñ*Œô?ò( â?Ó'n°4ëQ¸Iê@¨:¨:©: SslConnectorÁª:ˆ» á.&
ìtö¥QV
Ù£XgohI‡AðIšAÐI¾A  (IÄ@ IÉ@3
¹,> ¹,H£X £X*¾ Ç®ÇZµœÇZ£íXp
Ù†[ï†[Õ£XIÈ@<ÒT
&.ÜÜT£XüÜT4L…U
Ú-\…Uø¤ÜT5

ž$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
èèConnectConfigurationÁéÌJ»êsniÁ»ëverify_hostnameÁ»˜];pXE8ò(þÞâ î üÜT5 l„]dºU üÜTkÔŸU
í B 0üŸU(¥U
[Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ˆê)?ÈXM´­ò(Û
¡$¢M_
þìæUôåU
üÜT¨|ÕU
ï
/üÕU/ ƒV
̑V
¹Vü¹V#
÷!„]* "(T½V
ôFNœÈV—?ä>ä>å>
SslVerifyModeÁæ>ˆ² «hú”¶YIü½VùV
4W
ÜùV<ýV
òä*Z4…WG ¼ýVà¦ùV 
ž$†NQ #'3
äùVl°Kd¢W bä*„ŸW Ö¿Ð-ñ* ´W
§”W[Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
à_µ+q
¡$¢MŠe9°¸ÄµWü¸Sýêù +sä
ÞZ üÎTçIPWµüñVDv}ó ¢MüíS'¤Z,ÊS²64ÑSä*4ßS„]„]ê•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜_„]q¶\¢¶Z¿ó<-_5„]«Nð;$ ˜U/ „]K•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜Še°K†NÁ„] ä*òó<÷Šeÿ°KoÐ-a3: domainÁçDÌJ!Ž [
¹¾ ¾ õVŽ ˆ¹ü Ü—?…b
‡\0°\
ß^ä‡`Õ`ûÇaŒîa¡c¿ØcŽëeä* „]ä*X_¤a¯:¯:°: SslAcceptorÁ±:ˆ» bT^éPU
Ùmfn(_…a Œ_Ša*˜-5 ˜-?m¸ mÂYcÖmÞ4þpm¬þp4…q
þä*/4Œqt…q°³þp ØcE ,>´þpl°Kd¡q bä*„žq Ö¿Ð-ñ*  ³q´“q[Še´ëe*Ì´q`üïoÅüöp>Y_eÁ
¢Mü•p'§n,€pä*4‡pùi-†Nf¸nƒó<«Še²°KÐ-JçDN¾ úpŽ ò¹S¿ˆoÚØc¯ëeµ<ìr°KìÜr|Ür
Àc°K/õr)ÿrhü›rd¢;\Ær Ð-,¢r¬<©r °K×"Os4Äs°K„Äs<Ës
Îä*/LËsÚsküžs<˜H·sÓs,­sèsn3Åtu4Žt°K„Žt<•t
Ïä*0L•t¤tlüàsD±I4ýs Ð-Lïs °Ku9Ûu{4Ÿu°KdŸu¦u
Ðä*/,¦u´Ÿu<¬u
GAL¬uÔœu Ö¿Ó'¼uoüÙtcÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÈwÓ'¤ýtÓs,ótÈwÄ–Uõès!öv wõ4”v°Kd”vvöv),vü”v„¡v
„G<”¡vü”v0´v
·T¨@ÿ)
L\¸vŽz „´vü‘v4 Ö¿Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÿ)Ó'ËvpüÂu‰Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÃzÓ'üäu"Ós,ÚuÃz%Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¨@š–UÆèsãpäövëÚyÍz«&4˜y°Kd˜yŸyöv),ŸyĘyL¥y
©G;\¥y'4¿y°Kd¿yÆyöv),ÆyÔ¿y\Ìy
‡G;lÌyü¿y0Úy
·T ¼P¼P½PX509RefÁ¾PˆÄ {ç$Õ¶×&¨@rä*¨@ð;ÌÌ„Þy¬Úy4z
°Kdz”zöv
) ,”züz„šzÚy 9”šz$Òz TÌz 
b$—{ Û¼ªBªBö­BÍ;÷<®B÷<9)
-ÜnLÑAD”{ Ö¿Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÓ'|{!$êz
Û¨@$óz 
$Á{ ÔÁ{
ë!¨@( "!'œÆ{
ÔPL
"¬Æ{üÁ{#4Ü{
«e"DÜ{üÁ{)å{
íA",å{D•|ü•|¤ž|
Ç.("´ž|'ü|% $õ| Û¼Dò| Ö¿ïÓ'Š $È|ÛÀÀSignatureAlgorithmsÁÁdigestÁÂŒf¢[vòÖü™}!·.·.¸.NidÁ¹.ˆµ ׬p2”[Ô@†~¢†ä“~¼“~
…-«~""¼á}¬á}
­$"Gü~" $ô~ Û¼Dñ~ Ö¿ïÓ'ô Ç~Ûù,ù,ú,
MessageDigestÁû,ˆ ¿\Ù0Eæ Î~  # Œƒ##""·$/
ÏP"T$)!"€µ« 
ž$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
—-—- DigestBytesÁ˜-Í;š-#íJmÞNò(! "µ¹% Å% „«' lÔŠ'
+

ë!ÔŠ+)*""º& [_G  
¡$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ïÓ'_&%"¼¼

º2*ä)"¬É
( Û¼)ÌÆ
Ö¿ïÓ'( ä ! !å* #ü»xª¾u q%üŠyÛüÁz¤”åzü²{³üô{ñ”Ã|üü†~‚tÂ~üžG¹À Ç&
,ÊŒôáxÓs,×x|$Žy2 U^ ès{ Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ! UM èsj Upès¨@$Åzó<Tåz¨@`ï+¢†D¶{ ë!ë!ì!
Asn1ObjectRefÁí!ˆf
u+Ÿ~ù8 —T—T˜TX509AlgorithmRefÁ™TˆÄ Ûñ‡g·½­Ï×±CïÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙÇ… ¢†œó<TÃ|Ç…ïa±ˆ”}¢†Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ±ˆ¾ó<DÂ~±ˆ*ïsÔŠ•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜_ÔŠÁ†Š$,±CD±ˆó<¾_ÆÔŠ'ï 
 ÔŠ/
˜#˜¢ ˜ü 
algo_nidÁžsignature_algorithmsÁ¤ø{algsÁÚmdÁ¾nidÁG—–š í„k
Ž ± &¹
'öv0
ñ}
övÎ ß~°  övó ÚyÕ Œƒš
³ƒ¡
܃[
…„9
¼„
…‡Æ­‡¥Œƒ³Ó‰º€Šg…ŒgÄŒuÁu¨@]¨@c¨@idâyDäy
´ âyTäyîyrÔ ¨@áyÌé  ßyà 
œ™yŒ¨€ 4¨€°K*2>D¯€
ðGä*BT¯€f¼¢€,é€ã7 ó€Dó€$õ€
¢* 4õ€4Ñ€ Ö¿ð;ßß°à ¬
ÑøÿËO Ÿ"ð; Ö€ Üÿ€
 sä* µ:µ:¶: ErrorCodeÁ·:ˆ SèÌ_uPôìüó€' 
·ßýœýœ
}/5 Ö¿ð;’œùð; £   ã7ŒÀ
¤ À
 üÀ2
„\’œã7
ã7
X„ᦟ 
üÒ ü¼7 Ö¿ð;’œ  ƒ‚üë„‚5 Eã7 [g
y ã7  ¬ sµüå€?ü²AÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ð;’œt‰€švÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ùGúGûGSentÁüGýGReceivedÁ»ã §ã7·¦vªó<,È€¡=D ¡=O:ûœ*ýœ3ûœ¬ã7钜ֿٿڿ«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
’œã7!¡=äó<žó<¦t°°° ÓtýœÝšÙä›É>Ꞧ™Ÿã7ã7»ÄýœÒásTûœýýœýœ4ˆƒ°K„ˆƒ$ƒ
á °K3”ƒLƒžƒvüÆ‚XÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Èw’œŒì‚švL΂ ‡–Ù‚¦vß!Í; £³§ò4 „°KŒ „,§„
 !°K3­„T§„·„yüáƒVô§Œ„„švLꃅ–õƒ¦vÍ; OÇ©ž4í„°Ktí„,ô„
¤!°K3<ô„zü½„DÑ¡tÔ„švLÆ„¦vx7‡«~h`¶&µ)
Ùµ),4(`š& `Ÿ&*ð.5 ð.?µ)~ŒCV` ¬¢€aÚ3ÿ)
Ùÿ),4(a»3 aÀ3š*¨/5 ¨/?ÿ)~ôDV`Í­¢<Ê>·*ìº>|º>
Àc·*/Ó>)Ý>üù=d¢;\¤> à/,€>¬<‡>ðF×Lý®4ö?·*„ö?<ý?
Eä*.Lý?Œ@üÐ?<˜Hé?¯,ß?ðFo4²°w4‰A·*„‰A<A
Fä*/LAŸAšüÛ@D±I4ø@ à/Lê@½Ir6ʱy4âE·*”âELéE
Iä*,\éE'ÄÜEG ®Fñ*D¸F$ºF
èñ*›0 ¸F4ºF †F«Ð-dF Ìä*„ŒF Ö¿“3›0 ›Fl´F Ö¿“3›0 ÀFÒFüˆEỄF¼ªF Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
“3›0ü¢E/à/$™E¢M§·*Âó<,ƒFÐ-.“3ñ*ƒ0sD¾]°®àá²Ƴ°(b–G"ÀbŠJ©à/B J
²6, 8
 ™9rwÔ:ƒ ˆ
e(bÞG›.³»²6,8™9ãèÔ:ôùebG¥$+ ¢;8 0C¬<Kó<S .Ų6e™9Ô ̹߯X²6ˆ™9h ¯t¦±´‘=)‘=¦×‰º™9¼Ô:êå¹™9ZÔ:ù,ÂK\¼K#$®L Û¼ ¾#,îK›. ýK³»<øK Û¼³» þKÃL üøJËüÖK)Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ³»üŒK%±¹,‚Kó<ôÖK̹à³»Ï$°þ¢̹³»ú,ÞM\ØM#üêN' %²6üÜN6LàNÄ6ÜN3üàN2,ŠN›.Ì”NŒ”N
Åc›. ¦N©N+£O£ü—MŒüòM;¢;\ÂM±¹,žM¬<¥Mó<ôòM̹š²6ã,×0°ÄpÄ6þ¾Á °P<ªP" ¨Q©·*Ä¿Q ä*ü®Q* ä* ×Q ÝPÓ'DñP }¼ãP ä* ùPéQ¦üèOüÀP:üˆQP›0ŒŽPñ* ðOó<üÀPÓ' .·*à/õ°3°Í¾.~ (c•R(.6²6c™RLT ²6go
²69Š ²6T¥ ²6oº¿Ä6ËÐØcšR²ï¢;ú Ž1¬< ²6ó<&±4?Ä6I(e¢Re§R"Ž1-¨Å5>Hˆfú~¹,
Ù¹,,4(fÓ~ ·fØ~»*™25 ™2?¹,~¤ZV`öÆ¢(gÚ~ 
²6ˆgú~¹, ™9GLÔ:X]Mjgß~½¢;ŒÇǬ<²6¢™9 ¤Zž¤Z¥Ã±ÐÚ°É™9ÑÔ:ë4ÿ‰¹,ôÿ‰<†Š
Zä*14ŽŠ4–м†ŠøÅÿ‰ 
ž$¢MX$(4Füÿ‰ lÐ-d«Š
Ìä* „¨Š Ö¿“3›0
 ½ŠÆŠ[Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
à_ñ*r
¡$“µ‰Ìˆ8¾Š½üºˆü÷‰G¼ÂÈ* “µüމ/ÇÇ,Õˆ²64äˆä*4úˆ•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜‰ÌÐ-ÿ¢MC¤Zaó<o‰ÌxÐ-Ü“3̪¨j­çD°¾ û‰ Ž Ç¹/ 4ŸÊËÛÊêÌ€iÚ ˜-
Ù˜--5(i»  ¾iÀ Â,Û27 Û2A˜-§nˆXb•Ð¥4驘-¬é©4ð©
`ä*14÷©tð©2Üã©S ¸ªñ*Dª$ĪƳ ª 4Ī ª«Ð-d™ª Ìä*„–ª Ö¿“3›0 ¥ªl¾ª Ö¿“3›0  ʪܪÊüÔ¨ˆ̪¼´ª
“µüú¨/èÐ,å¨ä*4쨢Mw§nó<,ªÐ-ö“3åñ*F05NçDQ¾0°~¬ÊÑêƳ<¹¬Ð-쩬|©¬
ÀcÐ-2¬,̬Òüè«d¢;\“¬ “3,﫬<ö«Ós× PÝÕ4Ù­Ð-„Ù­<à­
kä*1Là­ï­Õü³­<˜HÌ­¦Ö,­Ósw7›×~4ì®Ð-„ì®<ó®
lä*2L󮂯Öü¾®D±I4Û® “3LÍ®švz9»Ø4Û°Ð-ÜÛ°”â°
oä*1¤â°àÉÛ°

ž$ðwG#'3EäÛ°lÈwüذ  Ö¿Èw›.þ°Êö°[Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
à_Ó'ùq
¡$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Èw›.›Û×lðÙüœ°bý
SÜlÀ°¦Ö,¶°•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜›ÛÈwðwFÓsdó<›Û¦ÈwðŽŽ Å¹æÜÙ‡ÚxûÛ4вÐ-ÌŠ²„‘²
pä*1”‘²ÐËв

ž$±{G#'3EÔŠ²lÃzüв+¥²
·Tÿ)¨/
?\©²Æà „¥²Ì£²[›ÛÃ!
¡$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ¨/›.›ÛÌ{ü‡²/ Ö¿æá›.¼² Úü¿±}%, ˜áÜᱦÖ,×±æáš•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜›ÛÃzW±{Ós©ó<È›ÛÑÃz5Ž ð¹Xð©ßâÔß½ºà`’áË4¥´Ð-쥴¤¬´
qä*1´¬´ðÍ¥´

ž$ÊŒH$(4Fô¥´lïü¢´" Ö¿ï›.ʴδ[›Û¬!
¡$Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ï›.›Ûˆ ¡ÛüÚ³p®´ºšç¼€´¦Ö,ö³•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜›ÛïÅÊŒúÓsó<N›ÛW癩 w¹ÇçÂåRíå-”ç44–·Ð-Œ–·D·
sä*2T·Ï–·

ž$Ñ¡H$(4F4²· Ö¿ð;’œ¡.ð;¾·Ð§·[Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
à_’œêr
¡$Ñ¡ôëˆ
¡Üüß¶_®´º”–·Ñ¡tý¶þØLï¶•¢˜¢™¢lš¢ˆ›¢œ¢[¢ˆe0<#˜ôëð;³Ñ¡èšvó<OôëXŽ o¹»¡.ð;äÅê<ðêÕì4¸Ð-„¸$ɸ
á Ð-3θLɸظßü€¸Xô§Œ¦¸þØLˆ¸Ú¨“¸švÍ; P²ï 4Ú¹Ð-ŒÚ¹,á¹
 !Ð-3ç¹Tá¹ñ¹âü›¹Vô§Œ¾¹þØL¤¹…–¯¹švÍ; Pôð 4§ºÐ-t§º,®º
¤!Ð-3<®º»ºãü÷¹DÑ¡tŽºþØL€ºšvz8¶ò4— êì%Ó'0ò(7>¯ êï(Ó'3ã7:¶8AH´ß/ %ÿ)0¨@7>üÚ4# <ä*='·*2¿E9@<³: Jä*M&ñ*1Ó'8?TÇ: Jä*P&ñ*1·*8?´a Œ%˜-0m7>¼¸q bä*c&Ð-1°K8?„È  }~#..Ó'5<œ¢& %ð.0µ)7>´Ã3 %¨/0ÿ)7>üå<# ä*)à/4·*;B<ÖG ä*ž(03.:ATÿI ä*¡(03à/:A¼â~ ·¸%™20¹,7>´Ã  ¾¿&Û21˜-8?¼…« Ìä*Í)“34Ð-;B {}~§¿ÌÍ䦷¸¾¿ÀAnyÁðì%ùD,ÿפ,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 clie
" * 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,•Åœ<ª• {}~§¿ÌÍ䦷¸¾¿ÀýŽýüì%ùDû×ú¤,Êýø¦ ÷¾[gjmaùUXHK9<,/<ˆŒ()<=JbcêúŒ€(TÙ, 
¿‡l3ù,  °…T·.  Pkcs12Á4nÐ2 
©>$ŠŒ6 PrivateÁ<â ÌJ$²² ÉD¬¸ÜG ›l\ϯ: ±Wdܨ: SslContextBuilderÁŒêè  SslMethodÁLýÖ> “alŒä> X509StoreBuilderÁ„¸ÂN Ä7„ÞƒS ¶?$ð©P  ProbeResultÁ\Š LazyLockÁD¦Ä9 ùD,º  ×Á¤, !ÊýƦ "ç Dئ $”â¿ %Ëœö§ &,•É $ä$ŒF
¼]ølzìïØÛÏ§ÃÆ¹©¬Žuxhkü¢&PDG7:Ôû#œ›´÷ùçé,ÐÜÞÍϾÀT³ü* Ä9Ä9¹¥Ç9onceÁ±9È9dataÁ±9¶¾‰xºZÈ✥ cert_fileÁcert_dirÁ¢ÉH
¤^ñEç©C8ÿÿ8üŠÔ ¤öäðœ ÃÛ¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙŽ1²« Ãèè逤ꈲ À ¬7pä~Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ð;ò( ä
)minÁ©maxÁÄctxÁßÄ¢üÁ!Ä Ž1èDèDéD
SslVersionÁêDˆ² ±þf=ö†JÀ
+» ÈÜ„Ó'-¿-ü¦9Ä ÄÓ'Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡z٠ľ, °,
-ÜùÓ'/Åc/ü› 6ž ÅÆÇ ÅÓ' Æ c cˆ¢cµ
 `£cÍ; `àB¤GS
Ç¢;. ¢ .
/ש üò$Ó'1ë1ü˜%!$%ò(Ó'00
1errÁ %lÉ&µ)36üÝ&E\ä&ÈÉ È‡– ÉÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
µ)Ó'2 õ&2
3Í;ð&passÁ$ü&¼(3<closure_kind>Á4<closure_signature>Á4<upvars>Á4434Ôð;Ó'ð;ý(3³5¨³5ų5535Ôè´ð;üý+DT„,ÊË Ê‡– ˇ–õ²2 ”,2
6Í;,keyÁ,„þ/ÿ)89:;ü•09Dœ0Ì Ì‡–Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ÿ)Ó'7 ª07
8Í;¥0ü£19Dª1Í Í‡–„·7 ¸17
9Í;³1ü±2Dt¸2Π·–Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ªBªBö­BÍ;÷<®B÷<9)
-ÜnLÿ)ÑAÓ'7 Ì27
:Í;Ç2üì3.4ó3Ï Ïÿ)Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
Ó'7 ú37
;$û3,#¬å4¤>>Íìä* û4·*ÇÎn{Imð=?¿E·*#Q ¿E·*<<
=ä*`bÄþ4 <<¿Eüš5H¤AAì» Ÿ5¿cä*T×5·*BÀcB!üé56ì5ÐÑÒ Ð·* Ñ c cˆ¢cµ
 `£cÍ; `àB¤GS
Ò¢;@ ð5@
Bä*$ñ5×ÿ"üÑ6 ¤DDì» Ö6·*EF 
Üø6<ÿ6Ó Ó·* Óä*C ‡7C²°$ˆ7üº7#<Á7Ô Ô·* Ôä*C É7Cʱ$Î7ü‚8C¤HHì» ‡8à ä*D°8Ÿ!ä*L»8·*I')üÌ8ALÓ8·*¢MGGá²€&Ô’:t:¤KKì» ª:ñ*ŸW’ƒ¸y˜LMOPMNÓ'ñ*PQ·*ñ*<>s&x&JJ
Mä*&&Ó'ñ*JJõÂ,»:JJÓ'Œ&&JJ
Pä*¨&«&·*ñ*JJÛÃÄÒ:JJ·*üð::¤SSì» õ:ñ*TëTü±;7$´;µ+ñ*RR
Tä*°å)ü¥?.¤VVì» ª?ñ*WëWüÚ?+$Ý?ò(ñ*UU
Wä*°a+ŒÝA¹,YZüõAHüAÕ Õ§§Ë¨æ©öªŠ«ž¬·­Ó®ó¯@‡¨¨Ï›ðÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¹,Ó'X ‰BX
Yó<€Bü¸S‡<¿SÖ× Ö¹, ×ä*¢MX¤[[ ÊSXì» ÇS‡ÁDªT–ÁLµTŸÊ$ËS¨j 3çD©3,.ü§] ¹,]Àc]üÎ]6Ñ]ØÙÚ Ø¹, Ù c cˆ¢cµ
 `£cÍ; `àB¤GS
Ú¢;\ Õ]\
]$Ö]×Ü]„³a˜-_`üÊaFÑaÛ Û¿¿ÀæÁöеQ>â”îàHÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
˜-Ó'^ Þa^
_ó<Õaüïox4öoÜ Ü˜-ä*¢M^¤aa €p^ì» ýo‡ÁDÒp–ÁLÝpÊÑ$pçDO8%'q+LÃq¤ddì» ÍqÐ-oé}n©/x ce°KÐ-¼+I °KÐ-bb
cä*`bŒÐq bb°Küåq/¤ggì» êqŸ½TíqÐ-hÀchü›r6žrÝÞß ÝÐ- Þ c cˆ¢cµ
 `£cÍ; `àB¤GS
ߢ;f ¢rf
hä*$£r×b9¤ƒs¤jjì» ˆsÐ-kl 
Üžs<¥sà àÐ- àä*i ­si›×$®süàs#<çsá áÐ- áä*i ïsi»Ø$ôsü¨t*¤nnì» ­t‡ÁD°t–ÁL»tÐ-opqs!üÙt8”àtâ âÐ-ðwm ótmÜÙ$ôtüÂuD„Éuã ãÐ-±{m Úum©ß$Ûuü»xD¤Âxä äÐ-ÊŒm ×xmÂå$ØxÞyq³r¨³rųrrqÌüë,å åÐ-Ñ¡m ûmÅê$€€üˆ‚7¤uuì» ‡ÁD–ÁL›‚Ð-vá v#%üÆ‚7$É‚æç æÐ- 燖ô§t ΂t
vä*$Ó‚Í;áSü¢ƒ8¤xxì» §ƒ‡ÁDªƒ–ÁLµƒÐ-yz !¤!yz,.üáƒ4,äƒèé èÐ- 釖ô§w êƒw
yä*$ïƒÍ;¡Tü½„%,À„ê êÐ-Ñ¡w Æ„w
zä*$Ë„”åüª:7 A typedef of the result-type returned by many methods.Á4î¥||Íì¥ õÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
öÛ.XZA2ü• 2/ An error returned from the TLS implementation.Á.„G¼Ãþj}~Ó'.±22Ó'.}}
~}}Ó'Üç .¿ü‰!94Œ!ë ë›.Û¼ݼÞ¼©ß¼à¼ÛἈcSñŸ«‡zÙ ëÓ¯ “!
$”!Üô!›.ƒÅcƒü–"6™"ìíî ì›. í c cˆ¢cµ
 `£cÍ; `àB¤GS
î¢; "
ƒ$ž"פ"Ì€#.…Àcü #6£#ïðñ ï›. ð c cˆ¢cµ
 `£cÍ; `àB¤GS
ñ¢; §#
$¨#×®#üˆ$›.‡ëü®$!$±$Ó'.
–±¶$lÇ&ð.‰Šü‰,BüÛ&]Z Parses a DER-formatted PKCS #12 archive, using the specified password to decrypt the key.Á½'úüÅ'_\ The archive should contain a leaf certificate and its private key, as well any intermediateÁü©([X certificates that should be sent to clients to allow them to build a chain to a trustedÁü‰)_\ root. The chain certificates should be in order from the leaf certificate towards the root.Áí)úüõ)\Y PKCS #12 archives typically have the file extension `.p12` or `.pfx`, and can be createdÁüÖ*# with the OpenSSL `pkcs12` tool:Áþ*ú\†+ ```bashÁü–+b_ openssl pkcs12 -export -out identity.pfx -inkey key.pem -in cert.pem -certfile chain_certs.pemÁ<ý+ª•\,òó ò‡– óÖ¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ð.›.ˆ ¡,ˆ
derÁœ,passwordÁD¨,üô1=ü»-UR Parses a chain of PEM encoded X509 certificates, with the leaf certificate first.Áü•.RO `key` is a PEM encoded PKCS #8 formatted private key for the leaf certificate.Áì.úüô.[X The certificate chain should contain any intermediate cerficates that should be sent toÁüÔ/=: clients to allow them to build a chain to a trusted root.Á0úüž0^[ A certificate chain here means a series of PEM encoded certificates concatenated together.ÁTû1ôõ ô‡– õ‡–Žêˆ ‹2ˆ
ŠpemÁ†2±µ’2„î3¨/ŒŽü¶42ü…4,) Parses a DER-formatted X509 certificate.ÁD½4ö ö‡–Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
¨/›. Ë4
ŒýéÆ4üí62üÉ5,) Parses a PEM-formatted X509 certificate.ÁDô6÷ ÷‡–÷ð ‚7
áîý6ü¨9=ü€80- Parses some PEM-formatted X509 certificates.Át¯9ø ø‡–Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
ªBªBö­BÍ;÷<®B÷<9)
-ÜnL¨/ÑA. Ã9
ŽÍ;¾9ü¬;'üè:?< Returns the DER-encoded representation of this certificate.Á4³;ù ù¨/Ö¿Ù¿Ú¿«Û¿ˆÜ¿Ý¿Þ¿ˆ‚†f|Â
›. º;
$»;‡>ü“<QN A TLS stream which has been interrupted midway through the handshake process.Á¬ð<¤ì» †=à/Îvéúv·*à/1?M·*à/
ä*egì‰=·*üª=H¤ì» ¯=Ÿ½Tç=à/–Àcüù=6ü=úûü úà/ û c cˆ¢cµ
 `£cÍ; `àB¤GS
ü¢; €>
ä*$>×QWüá> ¤˜˜ì» æ>à/™š