Is there a way to commit code via SVN without SVN asking for a 'Client certificate filename' all the time?
-
What SVN client and server are you using? I use both AnkhSVN, TortoiseSVN and the command line SVN clients and non of those ask for a Client certificate filename when used against either local filesystem or remote svnserv-server with sasl.Svante Svenson– Svante Svenson2010-02-25 20:04:56 +00:00Commented Feb 25, 2010 at 20:04
-
I use SVN from Linux $ svn --version svn, version 1.4.4 (r25188) compiled Jun 29 2007, 22:43:46Sam– Sam2010-02-25 20:28:55 +00:00Commented Feb 25, 2010 at 20:28
2 Answers
In your client you should be able to configure the path to the client certificate, see the subversion docs
[examplehost]
ssl-client-cert-file = /path/to/my/cert.p12
ssl-client-cert-password = somepassword
2 Comments
servers in the Subversion application setting directory. (see page 3 of svn.cacert.org/CAcert/Sysadm/client-certificate-guide.pdf)At Ubuntu I had to add the following lines at the ~/.subversion/servers file:
[groups]
cacert = hostname
[cacert]
ssl-client-cert-file = /path/to/my/cert.p12
ssl-client-cert-password = somepassword
Without using [groups] and directly having the hostname (eg *.example.com), it did not work for me.
At svn advanced confarea, it states:
The servers file contains Subversion configuration options related to the network layers. There are two special sections in this file—[groups] and [global]. The [groups] section is essentially a cross-reference table. The keys in this section are the names of other sections in the file; their values are globs—textual tokens that possibly contain wildcard characters—that are compared against the hostnames of the machine to which Subversion requests are sent.
When Subversion is used over a network, it attempts to match the name of the server it is trying to reach with a group name under the [groups] section. If a match is made, Subversion then looks for a section in the servers file whose name is the matched group's name. From that section, it reads the actual network configuration settings.