Come posso utilizzare un'autorità di certificazione personalizzata in SharpsVN senza installare il certificato

StackOverflow https://stackoverflow.com//questions/11652229

Domanda

Sto cercando di accedere a un repository di subversion usando SharpsVN.Il repository è disponibile solo tramite HTTPS e la macchina utilizza la propria autorità di certificazione privata (non preoccuparti della sicurezza qui, mi fido dell'Autorità).

Ho il certificato di radice pubblica dell'Autorità di certificazione, tuttavia a causa dei diritti di accesso agli utenti non riesco a installare il certificato nell'archivio certificati.

Se utilizzo direttamente Subversion, posso aggiungere:

servers:global:ssl-authority-files=/path/to/cacert.crt
servers:groups:myhost=myhostsdns.com
.

come oggetti della riga di comando o al file di configurazione.

Come posso impostare queste opzioni in Sharpsvn in modo che io possa utilizzare il file cacer.crt in modo che non ottenisca "verifica del certificato non riuscito" quando provo ad accedere al mio repository, e non devo semplicemente ignorareL'errore?

Molte grazie

È stato utile?

Soluzione

Come è che è solo dopo aver fatto la domanda che ti rendi conto della risposta?

Ho risolto questo impostando le opzioni di configurazione sull'oggetto svnClient come tale:

SvnClient _svnClient = new SvnClient();
_svnClient.Configuration.SetOption("servers", "global", "ssl-authority-files", "/path/to/cacert.crt");
_svnClient.Configuration.SetOption("servers", "groups", "myhost", "myhostsdns.com");
.

Scuse per l'autoaiuto, spero che aiuti la prossima persona.

Altri suggerimenti

Espansione sul commento di Bert Huijben (sopra):

client.Authentication.SslServerTrustHandlers += new EventHandler<SharpSvn.Security.SvnSslServerTrustEventArgs>(Authentication_SslServerTrustHandlers);
void Authentication_SslServerTrustHandlers(object sender, SharpSvn.Security.SvnSslServerTrustEventArgs e)
{
    // Look at the rest of the arguments of E, whether you wish to accept

    // If accept:
    e.AcceptedFailures = e.Failures;
    e.Save = true; // Save acceptance to authentication store
}
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top