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>&lt;https://www.example.com/&gt;</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>&lt;https://www.example.com/&gt;</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>&lt;https://www.example.com/&gt;</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>&lt;https://www.example.com/&gt; 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.
>>>
>>>

Reply via email to