Làm thế nào để có được và sử dụng chứng chỉ với curl


14
  1. Nhập lệnh sau

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

    Trả về lỗi sau

     <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. sau khi tải cacert.crttập tin từ đây

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

    Sau đó đổi tên cacert.crttập tin thànhcacert.pem

    Sau đó đã thử:

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

    Nhưng nhận được cùng một lỗi.

  3. Sau đó thử:

    curl  https://www.example.com 
    

    Tôi gặp lỗi này

    curl: (60) Vấn đề chứng chỉ SSL: không thể lấy chứng chỉ nhà phát hành địa phương Chi tiết khác tại đây: http://curl.haxx.se/docs/sslcerts.html

    curl thực hiện xác minh chứng chỉ SSL theo mặc định, bằng cách sử dụng "gói" khóa công khai của Cơ quan cấp chứng chỉ (CA). Nếu tệp gói mặc định không đủ, bạn có thể chỉ định tệp thay thế bằng tùy chọn --cacert.
    Nếu máy chủ HTTPS này sử dụng chứng chỉ được ký bởi CA được đại diện trong gói, xác minh chứng chỉ có thể không thành công do sự cố với chứng chỉ (có thể đã hết hạn hoặc tên có thể không khớp với tên miền trong URL).
    Nếu bạn muốn tắt xác minh chứng chỉ của curl, hãy sử dụng tùy chọn -k (hoặc --insecure)

  4. Vì vậy, tôi đã cố gắng với -k

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

    Nhưng tất nhiên nhận được lỗi

    Badauth

Tôi đoán là tôi đã làm gì đó sai với tệp chứng chỉ nhưng tôi không biết lấy tệp chứng chỉ ở đâu hoặc làm gì với nó khi tôi có nó.

Tôi không gặp vấn đề gì khi đăng nhập bằng trình duyệt, nhưng tôi muốn tự động hóa quy trình với dòng lệnh để tôi có thể thực hiện việc này với tác vụ trên máy tính bảng Android của mình qua WiFi.

Câu trả lời:


2

SỰ THÀNH CÔNG!!

Tôi đã trải qua một dịch vụ web miễn phí có tên là dnsomatic (được điều hành bởi những người ở opendns)

Nó đơn giản như đăng ký tài khoản và thêm các dịch vụ vào dịch vụ của bạn. Không có cấu hình ngoài đó.

Đối với người dùng Android, các phiên bản wbox của wget bị bỏ lại phía sau và không có tùy chọn sử dụng tên người dùng và mật khẩu, vì vậy chúng tôi sẽ phải cài đặt và sử dụng cURL

Hướng dẫn cài đặt curl có thể tìm thấy ở đây

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

Một khi bạn có curl, bạn có thể chỉ cần làm những việc như cập nhật ip opendns của bạn

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

Tôi vẫn không thể tìm ra cách lấy và sử dụng chứng chỉ với curl nhưng mục tiêu cuối cùng của tôi đã được hoàn thành. Có lẽ ai đó có thể giúp với bit chứng chỉ.
Joshua Robison

1

Bạn có thể tải xuống chứng chỉ gốc cacert từ đây: http://www.cacert.org/index.php?id=3


1
Tôi chỉ cần chọn tệp .crt định dạng pem cơ bản và đổi tên thành .pem?
Joshua Robison

1
Rõ ràng là không. Tôi đã tải xuống tệp .crt có nội dung pem và đổi tên thành curlcacert.pem và đã curl --cacert /path/to/curlcacert.pem site.com nhưng vẫn gặp lỗi cert.
Joshua Robison

1
Tôi phải làm gì với chúng sau khi tải xuống? Tôi không thể sử dụng cùng một chứng chỉ mà trình duyệt của tôi sử dụng?
Joshua Robison
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.