วิธีรับและใช้ใบรับรองด้วย curl


14
  1. การป้อนคำสั่งต่อไปนี้

    curl -k email@mail.com:password https://www.example.com 
    

    ส่งคืนข้อผิดพลาดต่อไปนี้

     <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
    <TITLE>301 Moved</TITLE></HEAD><BODY>
    <H1>301 Moved</H1>
    The document has moved
    <A HREF="http://mail.google.com/mail/">here</A>.
    </BODY></HTML>
    badauth
    
  2. หลังจากดาวน์โหลดcacert.crtไฟล์จากที่นี่

    http://www.cacert.org/index.php?id=3
    

    จากนั้นเปลี่ยนชื่อcacert.crtไฟล์เป็นcacert.pem

    จากนั้นลอง:

    curl --cacert /path/to/cacert.pem email@mail.com:password https://www.example.com 
    

    แต่ได้รับข้อผิดพลาดเดียวกัน

  3. จากนั้นลอง:

    curl  https://www.example.com 
    

    ฉันได้รับข้อผิดพลาดนี้

    curl: (60) ปัญหาใบรับรอง SSL: ไม่สามารถรับใบรับรองผู้ออกในท้องถิ่นรายละเอียดเพิ่มเติมได้ที่นี่: http://curl.haxx.se/docs/sslcerts.html

    curl ทำการตรวจสอบใบรับรอง SSL เป็นค่าเริ่มต้นโดยใช้ "บันเดิล" ของคีย์สาธารณะของ Certificate Authority (CA) (CA certs) หากไฟล์บันเดิลเริ่มต้นไม่เพียงพอคุณสามารถระบุไฟล์สำรองโดยใช้ตัวเลือก --cacert
    หากเซิร์ฟเวอร์ HTTPS นี้ใช้ใบรับรองที่ลงนามโดย CA แสดงอยู่ในชุดการตรวจสอบใบรับรองอาจล้มเหลวเนื่องจากปัญหาเกี่ยวกับใบรับรอง (อาจหมดอายุหรือชื่ออาจไม่ตรงกับชื่อโดเมนใน URL)
    หากคุณต้องการปิดการตรวจสอบใบรับรองของ curl ให้ใช้ตัวเลือก -k (หรือ - insecure)

  4. ดังนั้นฉันจึงลองด้วย -k

    curl  -k https://www.example.com 
    

    แต่แน่นอนได้รับข้อผิดพลาด

    Badauth

ฉันเดาว่าฉันทำสิ่งผิดปกติกับไฟล์ใบรับรอง แต่ไม่รู้ว่าจะรับไฟล์ใบรับรองได้ที่ไหนหรือจะทำอย่างไรเมื่อมี

ฉันไม่มีปัญหาในการเข้าสู่ระบบโดยใช้เบราว์เซอร์แน่นอน แต่ฉันต้องการดำเนินการอัตโนมัติด้วยบรรทัดคำสั่งเพื่อให้ฉันสามารถทำสิ่งนี้กับ tasker บนแท็บเล็ต Android ผ่าน WiFi

คำตอบ:


2

ความสำเร็จ !!

ฉันผ่านบริการเว็บฟรีที่เรียกว่า dnsomatic (ดำเนินการโดยคนที่ opendns)

ง่ายเหมือนการลงทะเบียนบัญชีและเพิ่ม opendns ให้กับบริการของคุณ ไม่มีการกำหนดค่าเกินกว่านั้น

สำหรับผู้ใช้งาน Android ที่กำลังใช้งาน wbox เวอร์ชันที่ล้าหลังและไม่มีตัวเลือกในการใช้ชื่อผู้ใช้และรหัสผ่านดังนั้นเราจะต้องติดตั้งและใช้ cURL

คำแนะนำในการติดตั้งขดสามารถพบได้ที่นี่

http://forum.xda-developers.com/showthread.php?t=2362386

เมื่อคุณม้วนงอคุณก็สามารถทำสิ่งต่าง ๆ เช่นการอัพเดต opendns ip

curl -u opendnsusername:password http://updates.dnsomatic.com/nic/update?hostname=opendnshostname

ฉันยังไม่สามารถหาวิธีได้รับและใช้ใบรับรองด้วย curl แต่เป้าหมายสูงสุดของฉันสำเร็จแล้ว บางทีใครบางคนสามารถช่วยด้วยบิตใบรับรอง
Joshua Robison

1

คุณสามารถดาวน์โหลดใบรับรองหลักของ cacert ได้จากที่นี่: http://www.cacert.org/index.php?id=3


1
ฉันเพียงแค่เลือกรูปแบบไฟล์ pc พื้นฐาน. crt และเปลี่ยนชื่อเป็น. pem หรือไม่
Joshua Robison

1
ชัดเจนว่าไม่. ฉันดาวน์โหลดไฟล์. crt ที่ระบุว่าอยู่ในรูปแบบ pem และเปลี่ยนชื่อเป็น curlcacert.pem และเปลี่ยนเป็น --cacert /path/to/curlcacert.pem site.comแต่ยังคงได้รับข้อผิดพลาดของใบรับรอง
Joshua Robison

1
ฉันจะทำอย่างไรกับพวกเขาเมื่อฉันดาวน์โหลดพวกเขา? ฉันไม่สามารถใช้ใบรับรองเดียวกับที่เบราว์เซอร์ของฉันใช้หรือไม่
Joshua Robison
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.