75 votes

La vérification du certificat du serveur a échoué : l'émetteur n'est pas fiable.

J'obtiens l'erreur suivante en exécutant une cible de ANT script. Message d'erreur disant que "la vérification du certificat du serveur a échoué". S'il vous plaît aider comment supprimer ce problème. Je travaille sous Windows XP.

C:\apache-ant-1.8.1>ant checkout
Buildfile: C:\Program Files\Java\apache-ant-1.8.1\build.xml

checkout:
[svn] Using command line interface
Svn : Checking out a working copy from a repository :
co -r HEAD https://col.../trunk C:\ant-1.8.1\Test_Checkout 
--username 69 --password *******--non-interactive
svn: PROPFIND request failed on '/svn/asia-pac-financials/trunk'
svn: PROPFIND of '/sv.../trunk': 
Server certificate verification failed: 
issuer is not trusted (https://col....com)

BUILD FAILED
C:\apache-ant-1.8.1\build.xml:16: Can't checkout

Total time: 3 seconds

157voto

JoseK Points 20075

Pouvez-vous essayer d'exécuter svn checkout une fois manuellement à votre URL https://yoururl/trunk C:\ant-1.8.1\Test_Checkout en utilisant la ligne de commande et accepter le certificat.

Ou comme le dit @AndrewSpear ci-dessous

Plutôt que d'effectuer un contrôle manuel, exécutez svn list https://your.repository.url à partir de Terminal (Mac) / Command Line (Win) pour obtenir l'option d'accepter le certificat de façon permanente.

svn vous demandera une confirmation. acceptez-la définitivement.

Après cela, cela devrait fonctionner pour les demandes ultérieures de ant script.

56voto

andrey.tsykunov Points 1266

Exécutez "svn help commit" pour toutes les options disponibles. Vous verrez qu'il y a une option responsable de l'acceptation des certificats du serveur :

--trust-server-cert : accepter des certificats de serveur SSL inconnus sans l'invite (mais seulement avec --non-interactive )

Ajoutez-le aux arguments de votre commande svn et vous n'aurez pas besoin de lancer svn manuellement pour l'accepter de façon permanente.

15voto

Kuf Points 5775

Je ne l'utiliserais pas :

svn checkout

juste pour autoriser l'authentification du serveur, je préfère utiliser :

svn list https://your.repository.url

qui vous demandera de procéder à l'authentification également.

Si cela est nécessaire pour obtenir l'autorisation d'un utilisateur qui ne peut pas se connecter, exécutez :

sudo -u username svn list https://your.repository.url

0voto

moglimcgrath Points 21

À partir de l'exécution de cmd : URL de la liste SVN vous aurez 3 options (r)ejecter, (a)ccepter, (p)ermanently. Entrez p. Cela a résolu le problème pour moi

-1voto

Alexandre Lopes Points 11
ProcessStartInfo cmd = new ProcessStartInfo("cmd.exe", 
    @"/k svn log --trust-server-cert --non-interactive " +
     "\"" + servidor + "\"" + " --username alex --password alex -r " + numeroRevisao);

cmd.CreateNoWindow = true;
cmd.RedirectStandardOutput = true;
cmd.RedirectStandardError = true;
cmd.WindowStyle = ProcessWindowStyle.Hidden;
cmd.UseShellExecute = false;

Process reg = Process.Start(cmd);
string output = "";

using (System.IO.StreamReader myOutput = reg.StandardOutput)
{
    output += myOutput.ReadToEnd();
}
using (System.IO.StreamReader myError = reg.StandardError)
{
    output += myError.ReadToEnd();
}

return output;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X