So erhalten und verwenden Sie Zertifikate mit curl

14
  1. Geben Sie den folgenden Befehl ein

    curl -k [email protected]:password https://www.example.com 
    

    Gibt den folgenden Fehler zurück

     <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. nach dem Download der cacert.crtDatei von hier

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

    Benennen Sie die cacert.crtDatei anschließend in umcacert.pem

    Dann versucht:

    curl --cacert /path/to/cacert.pem [email protected]:password https://www.example.com 
    

    Aber bekomme den gleichen Fehler.

  3. Dann versuchen Sie:

    curl  https://www.example.com 
    

    Ich bekomme diesen Fehler

    curl: (60) Problem mit SSL-Zertifikat: lokales Ausstellerzertifikat kann nicht abgerufen werden Weitere Informationen finden Sie hier: http://curl.haxx.se/docs/sslcerts.html

    curl führt standardmäßig eine SSL-Zertifikatüberprüfung mit einem "Bundle" öffentlicher Schlüssel (CA-Zertifikate) von Certificate Authority (CA) durch. Wenn die Standardpaketdatei nicht ausreicht, können Sie mit der Option --cacert eine alternative Datei angeben.
    Wenn dieser HTTPS-Server ein Zertifikat verwendet, das von einer im Bundle vertretenen Zertifizierungsstelle signiert wurde, ist die Zertifikatüberprüfung wahrscheinlich aufgrund eines Problems mit dem Zertifikat fehlgeschlagen (es ist möglicherweise abgelaufen oder der Name stimmt nicht mit dem Domänennamen in der URL überein).
    Wenn Sie die Überprüfung des Zertifikats durch curl deaktivieren möchten, verwenden Sie die Option -k (oder --insecure)

  4. Also versuchte ich es mit -k

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

    Aber natürlich den Fehler bekommen

    Badauth

Ich schätze, ich mache etwas falsch mit der Zertifikatsdatei, aber ich weiß nicht, wo ich eine Zertifikatsdatei bekommen soll oder was ich damit machen soll, wenn ich sie habe.

Ich habe natürlich kein Problem, mich mit einem Browser anzumelden, aber ich möchte den Vorgang mit der Befehlszeile automatisieren, damit ich dies mit tasker auf meinem Android-Tablet über WLAN tun kann.

Joshua Robison
quelle

Antworten:

2

ERFOLG!!

Ich ging durch einen kostenlosen Webdienst namens dnsomatic (betrieben von den Leuten bei opendns)

Es ist so einfach wie ein Konto zu eröffnen und Ihre Dienste zu öffnen. Keine Konfiguration darüber hinaus.

Für Android-Benutzer liegen die busybox-Versionen von wget weit zurück und haben keine Optionen zur Verwendung von Benutzernamen und Kennwörtern. Daher müssen wir cURL installieren und verwenden

Die Anleitung zur Installation von Curl finden Sie hier

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

Sobald Sie Curl haben, können Sie einfach Dinge wie die Aktualisierung Ihrer offenen IP tun

curl -u opendnsusername:password http://updates.dnsomatic.com/nic/update?hostname=opendnshostname
Joshua Robison
quelle
Ich kann immer noch nicht herausfinden, wie ich Zertifikate mit curl erhalten und verwenden kann, aber mein letztes Ziel wurde erreicht. Vielleicht kann jemand mit dem Zertifikatbit helfen.
Joshua Robison
1

Sie können die cacert-Stammzertifikate hier herunterladen: http://www.cacert.org/index.php?id=3


quelle
1
Wähle ich einfach die .crt-Datei im Basis-PEM-Format und ändere den Namen in .pem?
Joshua Robison
1
Scheinbar nicht. Ich habe die .crt-Datei heruntergeladen, die besagt, dass sie im PEM-Format vorliegt, und habe sie in curlcacert.pem umbenannt und habe curl -cacert /path/to/curlcacert.pem site.com ausgeführt, bekomme aber immer noch zertifizierte Fehler.
Joshua Robison
1
Was mache ich mit ihnen, wenn ich sie heruntergeladen habe? Kann ich nicht das gleiche Zertifikat verwenden, das mein Browser verwendet?
Joshua Robison