4.2 Data-transport librariesIn practice, most applications rely on dat การแปล - 4.2 Data-transport librariesIn practice, most applications rely on dat ไทย วิธีการพูด

4.2 Data-transport librariesIn prac

4.2 Data-transport libraries
In practice, most applications rely on data-transport frameworks
to establish HTTPS connections. These frameworks use SSL libraries internally in a way that is usually opaque to applications.
Apache HttpClient. Apache HttpClient3
is a client-side HTTP(S)
Java library based on JDK. The latest version is 4.2.1, published
on June 29, 2012, but most existing software employs older, 3.*
versions. Apache HttpClient is used extensively in Web-services
middleware such as Apache Axis 2 (see Section 8) because native
JDK does not support SOAP Web services. Furthermore, Apache
HttpClient provides better performance than JDK for functionalities such as sending HTTP POST requests.
Apache HttpClient uses JSSE’s SSLSocketFactory to establish
SSL connections. As explained in Section 4.1, this means that
Apache HttpClient must perform its own hostname verification.
This leads to numerous vulnerabilities in software based on older
versions on HttpClient that do not verify hostnames (Section 7.5).
Furthermore, Apache HttpClient uses HttpHost data structure to
describe HTTP(S) connections. HttpHost does not have any internal consistency checks: for example, it allows connections to port
443 to have HTTP as the scheme. In Section 7.8, we show how this
leads to errors even in code implemented by SSL experts.
Weberknecht. Weberknecht4
is a Java implementation of the WebSockets protocol. It uses SSLSocketFactory but does not perform
its own hostname verification. Any Java program that employs Weberknecht is vulnerable to a man-in-the-middle attack.
cURL. cURL5
is a popular tool and library (libcurl) for fetching
data from remote servers. Since version 7.10, cURL validates SSL
certificates by default. Internally, it uses OpenSSL to verify the
chain of trust and verifies the hostname itself. This functionality is
controlled by parameters CURLOPT_SSL_VERIFYPEER (default value:
true) and CURLOPT_SSL_VERIFYHOST (default value: 2).
This interface is almost perversely bad. The VERIFYPEER parameter is a boolean, while a similar-looking VERIFYHOST parameter is
an integer. The following quote from the cURL manual explains
the meaning of CURLOPT_SSL_VERIFYHOST:
1 to check the existence of a common name in the SSL
peer certificate. 2 to check the existence of a common
name and also verify that it matches the hostname provided. In production environments the value of this
option should be kept at 2 (default value).
Well-intentioned developers not only routinely misunderstand
these parameters, but often set CURLOPT_SSL_VERIFY HOST to TRUE,
thereby changing it to 1 and thus accidentally disabling hostname
verification with disastrous consequences (see Section 7.1).
PHP. PHP provides several methods for establishing SSL connections. For example, fsockopen, which opens a raw socket to the
remote server, can be used to connect to SSL servers by putting
“ssl://” in the URL. Even though fsockopen does not perform any
certificate checks whatsoever, PHP application developers routinely
use it for SSL connection establishment (see Section 9).
PHP also provides a cURL binding, which uses cURL’s default
settings to establish SSL connections with proper certificate validation. As we show in Sections 7.1, 7.2, and 7.3, application developers often set cURL options incorrectly, overriding the defaults and
breaking certificate validation.
Python. Several Python modules can be used for SSL connection
establishment. urllib, urllib2, and httplib connect to SSL servers
but do not check certificates. This is clearly documented in a bright
pink box on the urllib front page:6
Warning: When opening HTTPS URLs, it does not
attempt to validate the server certificate. Use at your
own risk!
Nevertheless, even high-security applications routinely use these
modules for SSL connection establishment (see Section 9).
Python also has an ssl module. This module verifies the certificate’s chain of trust, but not the hostname. The application must do
its own hostname verification. In Python version 3, the ssl module
introduced the match_hostname method for hostname verification,
but it must be explicitly called by the application.
0/5000
จาก: -
เป็น: -
ผลลัพธ์ (ไทย) 1: [สำเนา]
คัดลอก!
4.2 ไลบรารีข้อมูลขนส่งในทางปฏิบัติ โปรแกรมส่วนใหญ่ใช้ขนส่งข้อมูลกรอบสร้างการเชื่อมต่อ HTTPS กรอบเหล่านี้ใช้ไลบรารีของ SSL ภายในในลักษณะที่เป็นมักจะทึบไปยังโปรแกรมประยุกต์อะแพชี HttpClient อะแพชี HttpClient3เป็นการฝั่งไคลเอ็นต์ HTTP (S)ห้องสมุด Java ตาม JDK รุ่นล่าสุดเป็น 4.2.1 เผยแพร่บน 29 มิถุนายน 2012 แต่ซอฟต์แวร์ที่มีอยู่ส่วนใหญ่มีอายุมากกว่า 3.*รุ่น อะแพชี HttpClient ถูกใช้อย่างกว้างขวางในเว็บเซอร์วิสมิดเดิลแวร์เช่น Apache แกน (ดูหัวข้อ 8) 2 เนื่องจากเจ้าJDK ไม่สนับสนุนบริการเว็บสบู่ นอกจากนี้ อะแพชีHttpClient ให้ประสิทธิภาพดีกว่า JDK สำหรับฟังก์ชันการทำงานเช่นการส่งคำขอ HTTP POSTอะแพชี HttpClient ใช้ SSLSocketFactory ของ JSSE เพื่อสร้างการเชื่อมต่อ SSL ตามที่อธิบายไว้ในส่วน 4.1 ซึ่งหมายความ ว่าอะแพชี HttpClient ต้องทำ verification ชื่อโฮสต์ของตัวเองเป้าหมายนี้จำนวนมากถึงช่องโหว่ในซอฟต์แวร์ตามเก่ารุ่นบน HttpClient ที่ตรวจสอบ hostnames (ส่วน 7.5)นอกจากนี้ Apache HttpClient ใช้โครงสร้างข้อมูล HttpHostอธิบายการเชื่อมต่อ HTTP (S) HttpHost มีการตรวจสอบความสอดคล้องภายใน: ตัวอย่าง อนุญาตให้เชื่อมต่อกับพอร์ต443 มี HTTP เป็นโครงร่าง ในส่วน 7.8 เราแสดงวิธีนี้นำไปสู่ข้อผิดพลาดในรหัสที่ดำเนินการ โดยผู้เชี่ยวชาญของ SSLWeberknecht Weberknecht4จะดำเนินการ Java ของโพรโทคอล WebSockets ใช้ SSLSocketFactory แต่ไม่ทำverification ชื่อโฮสต์ของตัวเอง โปรแกรมจาวาที่ใช้ Weberknecht เป็นการโจมตีคนในกลางหยิกงอ cURL5ไลบรารี (libcurl) นำมาใช้เป็นเครื่องมือยอดนิยมข้อมูลจากเซิร์ฟเวอร์ระยะไกล ตั้งแต่รุ่นที่ 7.10 ม้วนตรวจสอบ SSLcertificates โดยค่าเริ่มต้น ภายใน ใช้ OpenSSL เพื่อตรวจสอบการห่วงโซ่ของความน่าเชื่อถือและ verifies ชื่อโฮสต์เอง ฟังก์ชันนี้มีควบคุม โดยพารามิเตอร์ CURLOPT_SSL_VERIFYPEER (ค่าเริ่มต้น:จริง) และ CURLOPT_SSL_VERIFYHOST (ค่าเริ่มต้น: 2)อินเทอร์เฟซนี้ไม่ดีเกือบ perversely พารามิเตอร์ VERIFYPEER เป็นบูลีน ขณะที่พารามิเตอร์ VERIFYHOST มองคล้ายจำนวนเต็ม อธิบายต่อไปนี้อ้างอิงจากคู่มือขดความหมายของ CURLOPT_SSL_VERIFYHOST:1 การตรวจสอบการมีอยู่ของชื่อทั่วไปใน SSLเพื่อน certificate 2 การตรวจสอบการดำรงอยู่ร่วมกันเป็นชื่อ และตรวจสอบด้วย ว่า มันตรงกับชื่อโฮสต์ที่ให้บริการ ผลิตค่านี้ตัวเลือกควรเก็บไว้ที่ 2 (ค่าเริ่มต้น)นักพัฒนา well-intentioned หลงผิดไม่เพียงอยู่เสมอเหล่านี้พารามิเตอร์ แต่โฮสต์ CURLOPT_SSL_VERIFY มักจะตั้งค่าเป็น trueจึงเปลี่ยนเป็น 1 และจึง ปิดชื่อโฮสต์โดยไม่ตั้งใจverification ผลกระทบอย่างรุนแรง (ดูหัวข้อ 7.1)PHP PHP มีหลายวิธีสำหรับการสร้างการเชื่อมต่อ SSL ตัวอย่าง fsockopen ซึ่งเปิดซ็อกเก็ตดิบเพื่อการเซิร์ฟเวอร์ระยะไกล คุณสามารถใช้เพื่อเชื่อมต่อกับเซิร์ฟเวอร์ของ SSL โดยใส่" ssl: / / " ใน URL แม้ fsockopen ไม่ดำเนินการใด ๆcertificate เช็คโทรศัพท์ นักพัฒนาแอพลิเคชัน PHP เป็นประจำใช้สำหรับการจัดตั้งการเชื่อมต่อ SSL (ดู 9 ส่วน)PHP มีขดที่ผูก ซึ่งใช้เริ่มต้นของขดการตั้งค่าเพื่อสร้างการเชื่อมต่อ SSL ที่ มีความถูกต้องเหมาะสม certificate เมื่อเราแสดงในส่วน 7.1, 7.2 และ 7.3 นักพัฒนาแอพลิเคชันมักตั้งขดตัวอย่างไม่ถูกต้อง แทนค่าเริ่มต้น และแบ่งการตรวจสอบ certificateงูเหลือม งูเหลือมลต่าง ๆ สามารถใช้สำหรับการเชื่อมต่อ SSLก่อตั้งขึ้น urllib, urllib2 และ httplib เชื่อมต่อกับเซิร์ฟเวอร์ของ SSLแต่ตรวจสอบ certificates นี้เป็นเอกสารอย่างชัดเจนในแบบสดใสกล่องสีชมพูบน urllib หน้าหน้า: 6คำเตือน: เมื่อเปิด HTTPS URLs มันไม่ได้พยายาม certificate เซิร์ฟเวอร์การตรวจสอบ ใช้ของคุณความเสี่ยงของตัวเองอย่างไรก็ตาม แม้สูงความปลอดภัยโปรแกรมประยุกต์เป็นประจำใช้เหล่านี้โมดูลการจัดตั้งการเชื่อมต่อ SSL (ดู 9 ส่วน)งูยังมีโมดูล ssl โมดูล verifies นี้ห่วงโซ่ของ certificate ของความน่าเชื่อถือ แต่ไม่ชื่อโฮสต์ ต้องทำแอพลิเคชันverification ชื่อโฮสต์ของตัวเอง ในงูรุ่น 3 โมดูล sslแนะนำวิธี match_hostname สำหรับชื่อโฮสต์ verificationแต่มันต้องชัดเจนเรียก โดยโปรแกรมประยุกต์
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 2:[สำเนา]
คัดลอก!
4.2 Data-transport libraries
In practice, most applications rely on data-transport frameworks
to establish HTTPS connections. These frameworks use SSL libraries internally in a way that is usually opaque to applications.
Apache HttpClient. Apache HttpClient3
is a client-side HTTP(S)
Java library based on JDK. The latest version is 4.2.1, published
on June 29, 2012, but most existing software employs older, 3.*
versions. Apache HttpClient is used extensively in Web-services
middleware such as Apache Axis 2 (see Section 8) because native
JDK does not support SOAP Web services. Furthermore, Apache
HttpClient provides better performance than JDK for functionalities such as sending HTTP POST requests.
Apache HttpClient uses JSSE’s SSLSocketFactory to establish
SSL connections. As explained in Section 4.1, this means that
Apache HttpClient must perform its own hostname verification.
This leads to numerous vulnerabilities in software based on older
versions on HttpClient that do not verify hostnames (Section 7.5).
Furthermore, Apache HttpClient uses HttpHost data structure to
describe HTTP(S) connections. HttpHost does not have any internal consistency checks: for example, it allows connections to port
443 to have HTTP as the scheme. In Section 7.8, we show how this
leads to errors even in code implemented by SSL experts.
Weberknecht. Weberknecht4
is a Java implementation of the WebSockets protocol. It uses SSLSocketFactory but does not perform
its own hostname verification. Any Java program that employs Weberknecht is vulnerable to a man-in-the-middle attack.
cURL. cURL5
is a popular tool and library (libcurl) for fetching
data from remote servers. Since version 7.10, cURL validates SSL
certificates by default. Internally, it uses OpenSSL to verify the
chain of trust and verifies the hostname itself. This functionality is
controlled by parameters CURLOPT_SSL_VERIFYPEER (default value:
true) and CURLOPT_SSL_VERIFYHOST (default value: 2).
This interface is almost perversely bad. The VERIFYPEER parameter is a boolean, while a similar-looking VERIFYHOST parameter is
an integer. The following quote from the cURL manual explains
the meaning of CURLOPT_SSL_VERIFYHOST:
1 to check the existence of a common name in the SSL
peer certificate. 2 to check the existence of a common
name and also verify that it matches the hostname provided. In production environments the value of this
option should be kept at 2 (default value).
Well-intentioned developers not only routinely misunderstand
these parameters, but often set CURLOPT_SSL_VERIFY HOST to TRUE,
thereby changing it to 1 and thus accidentally disabling hostname
verification with disastrous consequences (see Section 7.1).
PHP. PHP provides several methods for establishing SSL connections. For example, fsockopen, which opens a raw socket to the
remote server, can be used to connect to SSL servers by putting
“ssl://” in the URL. Even though fsockopen does not perform any
certificate checks whatsoever, PHP application developers routinely
use it for SSL connection establishment (see Section 9).
PHP also provides a cURL binding, which uses cURL’s default
settings to establish SSL connections with proper certificate validation. As we show in Sections 7.1, 7.2, and 7.3, application developers often set cURL options incorrectly, overriding the defaults and
breaking certificate validation.
Python. Several Python modules can be used for SSL connection
establishment. urllib, urllib2, and httplib connect to SSL servers
but do not check certificates. This is clearly documented in a bright
pink box on the urllib front page:6
Warning: When opening HTTPS URLs, it does not
attempt to validate the server certificate. Use at your
own risk!
Nevertheless, even high-security applications routinely use these
modules for SSL connection establishment (see Section 9).
Python also has an ssl module. This module verifies the certificate’s chain of trust, but not the hostname. The application must do
its own hostname verification. In Python version 3, the ssl module
introduced the match_hostname method for hostname verification,
but it must be explicitly called by the application.
การแปล กรุณารอสักครู่..
ผลลัพธ์ (ไทย) 3:[สำเนา]
คัดลอก!
4.2 การขนส่งข้อมูลห้องสมุด
ในทางปฏิบัติโปรแกรมประยุกต์ส่วนใหญ่พึ่งพาการขนส่งข้อมูลกรอบ
สร้าง HTTPS การเชื่อมต่อ กรอบเหล่านี้ใช้ภายในห้องสมุด SSL ในทางที่มักจะทึบเพื่อการใช้งาน .
Apache httpclient . Apache httpclient3
เป็นลูกค้า HTTP ( s )
ห้องสมุด Java ตามเพลง . รุ่นล่าสุด 4.2.1 ตีพิมพ์
เมื่อมิถุนายน 29 , 2012แต่ส่วนใหญ่ที่มีอยู่ซอฟต์แวร์พนักงานเก่า 3 . *
รุ่น Apache httpclient ถูกใช้อย่างกว้างขวางในการให้บริการเว็บ
( เช่น Apache แกน 2 ( ดูมาตรา 8 ) เพราะพื้นเมือง
jdk ไม่สนับสนุนสบู่บริการเว็บ . นอกจากนี้ Apache
httpclient ให้ประสิทธิภาพดีกว่าเพลงสำหรับฟังก์ชันเช่นการส่งคำขอ POST HTTP .
Apache httpclient ใช้ jsse เป็น sslsocketfactory
SSL เพื่อสร้างการเชื่อมต่อ ตามที่อธิบายไว้ในส่วนของ 4.1 นี้หมายความว่า
Apache httpclient ต้องแสดงชื่อโฮสต์ที่มีการถ่ายทอดของตัวเอง .
ไปสู่หลายช่องโหว่ในซอฟต์แวร์ตามเก่า
รุ่นใน httpclient ที่ไม่ได้ตรวจสอบโฮสต์เนมนั้นๆ ( มาตรา 7 ) .
นอกจากนี้ Apache httpclient ใช้

httphost ข้อมูลโครงสร้างอธิบาย HTTP ( s ) การเชื่อมต่อ httphost ไม่มีการตรวจสอบความสอดคล้องภายใน เช่น มันช่วยให้การเชื่อมต่อกับพอร์ต
เพื่อมี HTTP เป็นโครงการ ในส่วน 7.8 , เราแสดงวิธีการนี้จะนำไปสู่ข้อผิดพลาดในรหัส
ดำเนินการโดยผู้เชี่ยวชาญของ SSL .
weberknecht . weberknecht4
เป็นการนำ websockets โปรโตคอล มันใช้ sslsocketfactory แต่ไม่ได้แสดง
ของตัวเองชื่อโฮสต์ข้อมูลจึงไอออนบวก Java ใด ๆ โปรแกรมที่ใช้ weberknecht มีความเสี่ยงที่จะเป็นผู้ชายในการโจมตีกลาง .
ม้วน curl5
เป็นเครื่องมือที่นิยมและห้องสมุด ( libcurl ) สำหรับการเรียก
ข้อมูลจากเซิร์ฟเวอร์ระยะไกล . ตั้งแต่รุ่น 7.10 , Curl ตรวจสอบ SSL
certi จึง เคทส์ โดยค่าเริ่มต้น ภายใน ใช้ OpenSSL ตรวจสอบ
โซ่ของความไว้วางใจและถ่ายทอดข้อมูลและโฮสต์ตัวเอง ฟังก์ชันนี้คือ
ควบคุมโดย curlopt_ssl_verifypeer พารามิเตอร์ ( ค่าเริ่มต้น :
จริง ) และ curlopt_ssl_verifyhost ( ค่าเริ่มต้น : 2 ) .
อินเตอร์เฟซนี้จะประพฤติไม่ดี การ verifypeer เป็นค่าตรรกะ ในขณะที่ดูคล้าย verifyhost parameter
จำนวนเต็ม . ต่อไปนี้อ้างอิงจากคู่มือม้วนอธิบาย
ความหมายของ curlopt_ssl_verifyhost :
1 เพื่อตรวจสอบการมีอยู่ของชื่อสามัญใน SSL
เพื่อน certi จึงเคท 2 การตรวจสอบการมีอยู่ของชื่อสามัญ และยังยืนยันว่ามันตรงกับ
ชื่อโฮสต์ให้ ในสภาพแวดล้อมการผลิต ค่าของตัวเลือกนี้จะถูกเก็บไว้ที่
2 ( ค่าปริยาย ) .
ก็อาจมีนักพัฒนาไม่เพียง แต่ตรวจผิด
พารามิเตอร์เหล่านี้ แต่มักจะตั้ง curlopt_ssl_verify โฮสจริง
จึงเปลี่ยนไป จึงตั้งใจใช้ชื่อโฮสต์
1การถ่ายทอดข้อมูลกับผลร้าย ( ดูส่วน 7.1 ) .
PHP PHP มีหลายวิธีสำหรับการสร้าง SSL การเชื่อมต่อ ตัวอย่างเช่น fsockopen ซึ่งเปิดซ็อกเก็ตดิบ
เซิร์ฟเวอร์ระยะไกล สามารถใช้เชื่อมต่อกับเซิร์ฟเวอร์โดยใช้ SSL
" SSL : / / " ใน URL แม้ว่า fsockopen ไม่ได้ดำเนินการใด ๆ
certi จึงเคทตรวจสอบนักพัฒนาโปรแกรม PHP ตรวจ
แต่อย่างใดใช้มันเพื่อสร้างการเชื่อมต่อแบบ SSL ( ดูมาตรา 9 ) .
PHP ยังมีม้วนผูก ซึ่งใช้การตั้งค่าเริ่มต้นเพื่อสร้างการเชื่อมต่อ SSL
ม้วน certi จึงเหมาะสมกับเคท การตรวจสอบ ในฐานะที่เราแสดงในส่วน 7.1 , 7.2 , 7.3 และนักพัฒนาโปรแกรมมักจะตั้งค่าตัวเลือกหงิกอย่างไม่ถูกต้อง แทนการเริ่มต้นและการทำลาย certi จึงเคท
.
งูเหลือมหลายโมดูลหลามที่สามารถใช้สำหรับการจัดตั้งการเชื่อมต่อ
SSL urllib urllib2 , และ httplib เชื่อมต่อกับเซิร์ฟเวอร์ SSL
แต่ไม่ได้ตรวจสอบ certi จึงเคทส์ นี่คือเอกสารชัดเจนในกล่องสดใส
สีชมพูบน urllib หน้า : เตือนภัย 6
: เมื่อเปิด HTTPS URL ก็ไม่ได้
พยายามที่จะตรวจสอบเซิร์ฟเวอร์ certi จึงเคท ใช้ที่มีความเสี่ยงของคุณเอง
!
อย่างไรก็ตามแม้กระทั่งการใช้งานความปลอดภัยสูงประจำใช้โมดูลเหล่านี้
สร้างการเชื่อมต่อแบบ SSL ( ดูมาตรา 9 ) .
หลามยัง SSL โมดูล นี้โมดูลข้อมูลจึง es certi จึงเคทสาว แต่ไม่ใช่ชื่อเครื่อง โปรแกรมที่ต้องทำ
ของตัวเองชื่อโฮสต์ข้อมูลจึงไอออนบวก ใน Python 3 รุ่น SSL โมดูล
แนะนำวิธีการ match_hostname สำหรับชื่อโฮสต์ที่มีการถ่ายทอด
,แต่มันต้องชัดเจนเรียกโดยโปรแกรม
การแปล กรุณารอสักครู่..
 
ภาษาอื่น ๆ
การสนับสนุนเครื่องมือแปลภาษา: กรีก, กันนาดา, กาลิเชียน, คลิงออน, คอร์สิกา, คาซัค, คาตาลัน, คินยารวันดา, คีร์กิซ, คุชราต, จอร์เจีย, จีน, จีนดั้งเดิม, ชวา, ชิเชวา, ซามัว, ซีบัวโน, ซุนดา, ซูลู, ญี่ปุ่น, ดัตช์, ตรวจหาภาษา, ตุรกี, ทมิฬ, ทาจิก, ทาทาร์, นอร์เวย์, บอสเนีย, บัลแกเรีย, บาสก์, ปัญจาป, ฝรั่งเศส, พาชตู, ฟริเชียน, ฟินแลนด์, ฟิลิปปินส์, ภาษาอินโดนีเซี, มองโกเลีย, มัลทีส, มาซีโดเนีย, มาราฐี, มาลากาซี, มาลายาลัม, มาเลย์, ม้ง, ยิดดิช, ยูเครน, รัสเซีย, ละติน, ลักเซมเบิร์ก, ลัตเวีย, ลาว, ลิทัวเนีย, สวาฮิลี, สวีเดน, สิงหล, สินธี, สเปน, สโลวัก, สโลวีเนีย, อังกฤษ, อัมฮาริก, อาร์เซอร์ไบจัน, อาร์เมเนีย, อาหรับ, อิกโบ, อิตาลี, อุยกูร์, อุสเบกิสถาน, อูรดู, ฮังการี, ฮัวซา, ฮาวาย, ฮินดี, ฮีบรู, เกลิกสกอต, เกาหลี, เขมร, เคิร์ด, เช็ก, เซอร์เบียน, เซโซโท, เดนมาร์ก, เตลูกู, เติร์กเมน, เนปาล, เบงกอล, เบลารุส, เปอร์เซีย, เมารี, เมียนมา (พม่า), เยอรมัน, เวลส์, เวียดนาม, เอสเปอแรนโต, เอสโทเนีย, เฮติครีโอล, แอฟริกา, แอลเบเนีย, โคซา, โครเอเชีย, โชนา, โซมาลี, โปรตุเกส, โปแลนด์, โยรูบา, โรมาเนีย, โอเดีย (โอริยา), ไทย, ไอซ์แลนด์, ไอร์แลนด์, การแปลภาษา.

Copyright ©2024 I Love Translation. All reserved.

E-mail: