I'm running into the same issue. Could you show an example of your final configuration file? I'm using something very similiar to what is below, and it's not working.
/var/lib/jenkins/hudson.scm.SubversionSCM.xml /var/lib/jenkins/jobs/<jobname>/subversion.credentials Both of the aforementioned files contain the following: <entry> <string><https://www.example.com/></string> <hudson.scm.SubversionSCM_-DescriptorImpl_-SslClientCertificateCredential> <certificate>cert is pasted in here</certificate> <userName>username</userName> <password>YmFzZTY0LWVuY29kZWQgcGFzc3dvcmQ=</password> </hudson.scm.SubversionSCM_-DescriptorImpl_- SslClientCertificateCredential> </entry> <entry> <string><https://www.example.com/></string> <hudson.scm.SubversionSCM_-DescriptorImpl_-PasswordCredential> <userName>username</userName> <password>YmFzZTY0LWVuY29kZWQgcGFzc3dvcmQ=</password> </hudson.scm.SubversionSCM_-DescriptorImpl_-PasswordCredential> </entry> and I get an SVNCancelException On Wednesday, May 2, 2012 2:34:18 PM UTC-4, Dustin Parker wrote: > > I did it! > > I looked at the files hudson.scm.SubversionSCM.xml and > jobs/<jobname>/subversion.credentials. Both of them had, from a previous > repository, an entry that looked like: > > <entry> > <string><https://www.example.com/></string> > <hudson.scm.SubversionSCM_-DescriptorImpl_-PasswordCredential> > <userName>username</userName> > <password>YmFzZTY0LWVuY29kZWQgcGFzc3dvcmQ=</password> > </hudson.scm.SubversionSCM_-DescriptorImpl_-PasswordCredential> > </entry> > > and an entry that looked like: > > <entry> > <string><https://www.example.com/> Subversion > Repositories</string> > <hudson.scm.SubversionSCM_-DescriptorImpl_-PasswordCredential> > <userName>username</userName> > <password>YmFzZTY0LWVuY29kZWQgcGFzc3dvcmQ=</password> > </hudson.scm.SubversionSCM_-DescriptorImpl_-PasswordCredential> > </entry> > > so I gathered the former was for the *server* and the latter was for the > *basic > realm*. Even that wasn't true, this got me to realize that SVNKit would > be *forced* to distinguish between the two: the realm isn't available > until after the security has been negotiated, so if SVNKit is going to > supply a password, it can only use the hostname. Then once the secure > connection has been established, it will try to look up credentials in this > map using the host and realm name. So I ginned up two entries: one with the > certificate authentication and *only* the hostname, and another with > password authentication and the host *and *realm names, just like above > (only using certificate authentication for the first example). So far, > crossing my fingers and toes, this seems to work! > > On Wednesday, May 2, 2012 10:41:14 AM UTC-7, Dustin Parker wrote: >> >> This issue (JENKINS-3912) is currently stalling our development effort, >> too. I'm trying a variety of things to work around the issue. The >> frustrating thing is that jsvn from the command line *works*, so the SVN >> plugin is taking this functioning library and *breaking* it somehow. >> >> On Wednesday, July 13, 2011 5:40:50 AM UTC-7, michaelw wrote: >>> >>> Has this been resolved? Sorry to bring up such an old post but I have the >>> same problem. >>> >>> The scenario is as follows: >>> >>> 1. SSL is configured on our apache server to require a client >>> certificate - >>> right at the front so you can't access any of the content if you don't >>> have >>> the client certificate. >>> 2. The svn server is thus sitting behind the apache server - we thus use >>> https to reach our svn server. >>> 3. The svn server then has its own username/password resolution >>> facilities, >>> this is to do thing like permissions on svn folders etc. >>> >>> I can't get Jenkins to checkout my code. >>> >>> When I select the username/password option I get the following exception >>> >>> <wrapping exceptions removed> >>> >>> Caused by: java.lang.NullPointerException >>> at >>> org.apache.commons.io.FileUtils.openInputStream(FileUtils.java:129) >>> at >>> org.apache.commons.io.FileUtils.readFileToByteArray(FileUtils.java:1135) >>> at >>> >>> hudson.scm.SubversionSCM$DescriptorImpl$SslClientCertificateCredential.<init>(SubversionSCM.java:1494) >>> at >>> >>> hudson.scm.UserProvidedCredential$AuthenticationManagerImpl.getFirstAuthentication(UserProvidedCredential.java:205) >>> at >>> >>> org.tmatesoft.svn.core.internal.io.dav.http.HTTPSSLKeyManager.initialize(HTTPSSLKeyManager.java:319) >>> at >>> >>> org.tmatesoft.svn.core.internal.io.dav.http.HTTPSSLKeyManager.initializeNoException(HTTPSSLKeyManager.java:301) >>> at >>> >>> org.tmatesoft.svn.core.internal.io.dav.http.HTTPSSLKeyManager.chooseClientAlias(HTTPSSLKeyManager.java:196) >>> at >>> >>> sun.security.ssl.AbstractWrapper.chooseClientAlias(SSLContextImpl.java:282) >>> at >>> >>> sun.security.ssl.ClientHandshaker.serverHelloDone(ClientHandshaker.java:629) >>> at >>> >>> sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:228) >>> at sun.security.ssl.Handshaker.processLoop(Handshaker.java:610) >>> at >>> sun.security.ssl.Handshaker.process_record(Handshaker.java:546) >>> at >>> sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:913) >>> at >>> >>> sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1158) >>> at >>> sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:652) >>> at >>> sun.security.ssl.AppOutputStream.write(AppOutputStream.java:78) >>> at >>> java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) >>> at >>> java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) >>> at >>> >>> org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.sendData(HTTPConnection.java:229) >>> at >>> >>> org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:166) >>> at >>> >>> org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:364) >>> ... 59 more >>> >>> Almost as if it is looking for a client certificate file but as one isn't >>> set, it cannot find one. >>> >>> Then if I try the other option - client certificate I get: >>> >>> Attempting an SSL client certificate authentcation >>> Passing user name null and password you entered >>> Failed to authenticate: org.tmatesoft.svn.core.SVNErrorMessage: svn: >>> OPTIONS >>> of /OldMutual/sandbox/trunk/maven/parent: 401 Authorization Required >>> (https://svn.afrozaar.com) >>> >>> So it looks like it is getting passed the https level but being locked >>> out >>> by the svn authentication. >>> >>> The interesting thing about this scenario is that the log says "Passing >>> username null and password you entered" - almost as if if the password >>> was >>> set, it would work. >>> >>> The .subversion config is configured correctly - so I'm not sure if it is >>> reading this. >>> >>> -- >>> View this message in context: >>> http://jenkins.361315.n4.nabble.com/authenticating-with-certificates-username-password-tp373150p3664923.html >>> Sent from the Jenkins users mailing list archive at Nabble.com. >>> >>>