2015-05-21 15 views
6

Mentre prova un esempio dal tutorial (indovinando gioco) dopo aver definito una dipendenza (rand="0.3.0") ho ottenuto questo:certificato SSL non valido quando si costruisce una cassa con carico

$ cargo build --verbose 
    Updating registry `https://github.com/rust-lang/crates.io-index` 
Unable to update registry https://github.com/rust-lang/crates.io-index 

Caused by: 
    failed to fetch `https://github.com/rust-lang/crates.io-index` 

Caused by: 
    [16] The SSL certificate is invalid 

aggiunte questo a carico git registro pronti contro termine, ma senza successo:

[http] 
    sslVerify = false 

Dove scavare?

+0

È strano che si ottenga un avviso SSL su github.com ... Sei dietro un proxy SSL che potrebbe MITM la tua connessione? – mdup

+1

Sospetto che il mio provider lo faccia. La domanda è cosa fare ... – Tuxdevo

+7

@tuxdevo cambia provider, che è sicuramente un comportamento indesiderato da un provider internet. – rubenvb

risposta

0

Come detto nei commenti, questo potrebbe essere qualcuno tra te e Github che modifica la tua comunicazione (MITM) o una configurazione errata sul tuo sistema (come i certificati mancanti). (Un problema sul lato della Github non è probabile.)

Do di debug primo tentativo con git pianura: git clone https://github.com/rust-lang/crates.io-index.git

per ottenere i dettagli su cosa esattamente fallito uso openssl s_client -debug -showcerts -connect github.com:443 e se lo fa, non uscire da sola (poiché la connessione funzionava) premere CTRL-C per uscire. L'output contiene informazioni su quali certificati sono stati presentati dal telecomando e su come è stato verificato o non è stato verificato.

Se qualcuno modifica la comunicazione, pubblica l'output di questo e di uno traceroute github.com o qualcosa di equivalente in modo che altri possano evitare quel provider.

0

Ho incontrato lo stesso problema di oggi e ha scoperto che il mio $HOME/.gitconfig aveva questo:

[url "[email protected]:"] 
    insteadOf = https://github.com/ 

mi aveva aggiunto questo per fare go get a lavorare su SSH per pronti contro termine privati. Commentando questo problema risolto l'errore.