Come ottenere e utilizzare i certificati con arricciatura


14
  1. Immettere il seguente comando

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

    Restituisce il seguente errore

     <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. dopo aver scaricato il cacert.crtfile da qui

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

    Quindi rinominato il cacert.crtfile incacert.pem

    Quindi provato:

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

    Ma ottieni lo stesso errore.

  3. Quindi provando:

    curl  https://www.example.com 
    

    Ottengo questo errore

    curl: (60) Problema certificato SSL: impossibile ottenere il certificato emittente locale Maggiori dettagli qui: http://curl.haxx.se/docs/sslcerts.html

    curl esegue la verifica del certificato SSL per impostazione predefinita, utilizzando un "pacchetto" di chiavi pubbliche dell'autorità di certificazione (CA). Se il file bundle predefinito non è adeguato, è possibile specificare un file alternativo utilizzando l'opzione --cacert.
    Se questo server HTTPS utilizza un certificato firmato da una CA rappresentata nel pacchetto, la verifica del certificato probabilmente non è riuscita a causa di un problema con il certificato (potrebbe essere scaduto o il nome potrebbe non corrispondere al nome di dominio nell'URL).
    Se desideri disattivare la verifica di arricciatura del certificato, utilizza l'opzione -k (o --insecure)

  4. Quindi ci ho provato -k

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

    Ma ovviamente ottieni l'errore

    Badauth

Immagino che sto facendo qualcosa di sbagliato nel file del certificato ma non so dove ottenere un file del certificato o cosa fare con esso una volta che lo ho.

Ovviamente non ho problemi ad accedere usando un browser, ma vorrei automatizzare il processo con la riga di comando in modo da poterlo fare con tasker sul mio tablet Android tramite WiFi.

Risposte:


2

SUCCESSO!!

Ho attraversato un servizio web gratuito chiamato dnsomatic (gestito dalla gente di opendns)

È semplice come registrare un account e aggiungere opendns ai tuoi servizi. Nessuna configurazione oltre a ciò.

Per gli utenti Android, le versioni di trafficbox di wget sono molto indietro e non hanno opzioni per usare nomi utente e password, quindi dovremo installare e usare cURL

La guida per installare l'arricciatura è disponibile qui

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

Una volta che hai l'arricciatura puoi semplicemente fare cose come aggiornare il tuo IP di Opendns

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

Non riesco ancora a capire come ottenere e utilizzare i certificati con arricciatura, ma il mio obiettivo finale è stato raggiunto. Forse qualcuno può aiutarti con il bit del certificato.
Joshua Robison,

1

Puoi scaricare i certificati di root cacert da qui: http://www.cacert.org/index.php?id=3


1
Devo solo scegliere il file .crt in formato pem di base e cambiare il nome in .pem?
Joshua Robison,

1
Apparentemente no. Ho scaricato il file .crt che dice che è in formato pem e l'ho rinominato in curlcacert.pem e ho arricciato --cacert /path/to/curlcacert.pem site.com ma ho ancora errori di cert.
Joshua Robison,

1
Cosa posso fare con loro una volta scaricati? Non posso semplicemente usare lo stesso certificato usato dal mio browser?
Joshua Robison,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.