2015-09-18 15 views
9

Stack (in Windows) a volte getta la seguente eccezione quando si tenta di scaricare i file (ad esempio, durante stack setup o durante il download di un piano di accumulo):Stack (Haskell) getta TlsException in Windows

TlsException (HandshakeFailed (Error_Protocol ("certificate has unknown CA",True,UnknownCa))). 

Come scoprirlo questo errore se si verifica?

(Questo è stato discusso e risolto il https://github.com/commercialhaskell/stack/issues/234, sto reinserire la questione per rendere la soluzione più disponibili.)

risposta

9

Ciò è dovuto ad una certificati non trovate dal stack quando si accede a vari siti. Può essere risolto aprendo la pagina Web corretta in Internet Explorer (che aggiunge automaticamente il certificato) e quindi riavviando lo stack.

Per scoprire quale stack di pagine Web accede, eseguire lo stack con l'opzione dettagliata (-v) per visualizzare l'ultimo tentativo di download prima dell'errore. Ad esempio:

C:\> stack -v setup 
... some output ... 
2015-09-18 14:19:14.9807056: [debug] Downloading from https://www.haskell.org/ghc/dist/7.10.1/ghc-7.10.1-i386-unknown-mingw32.tar.xz to C:\... @(stack_GXibO6avQtx8ez3M6BHFie:Stack.Setup src/Stack\Setup.hs:845:5) 
TlsException (HandshakeFailed (Error_Protocol ("certificate has unknown CA",True,UnknownCa))) 

(Nota:.. I messaggi esatte possono variare a causa del problema è risolto sul mio computer adesso, non riesco a riprodurre l'errore esatto senza reinstallare Windows)

Così pila sta scaricando da https://www.haskell.org/, quindi abbiamo bisogno di aprire https://www.haskell.org/ in Internet Explorer. Successivamente lo stack dovrebbe funzionare (probabilmente è necessario ripetere questo passaggio per aggiungere certificati diversi).

Altre pagine Web a cui sembra che accedono: https://github.com, https://www.stackage.org.

Questa soluzione è verificata su Win 7 32-bit con Stack 0.1.4.0.

+0

Questa soluzione ha funzionato per me su Windows 10 con Stack 1.1.2 a 64 bit. –

Problemi correlati