"erreur: gnutls_handshake () a échoué" lors de la connexion aux serveurs https

50

Lorsque j'essaie de me connecter à un serveur HTTPS avec git , l'erreur suivante apparaît:

error: gnutls_handshake() failed: A TLS packet with unexpected length was received. while accessing ...
fatal: HTTP request failed

Je pense que certains paquets liés à gnutls_handshake ont peut-être été brisés. Donc, je veux les réinstaller.

Quels paquets peuvent être liés à ces erreurs? Ou comment puis-je corriger ce type d'erreur?

    
posée Nyambaa 12.09.2012 - 07:43
la source

2 réponses

85

Vous avez raison du problème, il s’agissait du paquet gnutls . Cela fonctionne bizarrement derrière un proxy. Mais openssl fonctionne bien même dans un réseau faible. La solution est donc que nous devrions compiler git avec openssl . Pour ce faire, exécutez les commandes suivantes:

sudo apt-get update
sudo apt-get install build-essential fakeroot dpkg-dev libcurl4-openssl-dev
sudo apt-get build-dep git
mkdir ~/git-openssl
cd ~/git-openssl
apt-get source git
dpkg-source -x git_1.7.9.5-1.dsc
cd git-1.7.9.5

(N'oubliez pas de remplacer 1.7.9.5 par la version actuelle de git dans votre système.)

Ensuite, éditez debian/control file (exécutez la commande: gksu gedit debian/control ) et remplacez toutes les instances de libcurl4-gnutls-dev par libcurl4-openssl-dev .

Ensuite, construisez le paquet (s'il échoue au test, vous pouvez supprimer la ligne TEST=test du fichier debian/rules ):

sudo dpkg-buildpackage -rfakeroot -b

Installer un nouveau package:

i386: sudo dpkg -i ../git_1.7.9.5-1_i386.deb

x86_64: sudo dpkg -i ../git_1.7.9.5-1_amd64.deb

Inspiré d’ici: lien

    
réponse donnée Nyambaa 13.09.2012 - 05:34
la source
4

Pour moi, il s’est avéré que le certificat SSL était auto-signé. Essayez ceci

git config --global http.sslVerify false

    
réponse donnée Rick 26.02.2018 - 00:15
la source

Lire d'autres questions sur les étiquettes