Hello,
I'm in the process of evaluation Bamboo 5.3 build server and I cannot access the SVN repository.
I'm running the Bamboo server in Windows, on http.
Here are the SVN settings for my build plan:
Repository URL: https://svn.domain.com/path/to/the/project
Authentication type: SSL Client Certificate
Private key: C:\my.p12
Passphrase: xxx
I'm getting this error:
This is not a valid Subversion Repository: svn: E170001: Authentication required for '<https://svn.domain.com:443>'
I enabled svnkit logging by changing the following line
set LOGGING_CONFIG=-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"
to
set LOGGING_CONFIG=-Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties.disabled"
after downloading the file logging.properties.disabled.
A note here, some pages in the help section on atlassian website (like this one https://confluence.atlassian.com/display/BAMBOO024/Debugging+Subversion+connection+in+Bamboo) refer to using a wrapper.conf file that doesn't exist.
After a restart, I see this in the svnkit.0.log.0 file:
Jan 10, 2014 4:42:14 PM org.tmatesoft.svn.core.internal.util.DefaultSVNDebugLogger log
FINE: DEFAULT: socket output stream requested...
Jan 10, 2014 4:42:14 PM org.tmatesoft.svn.core.internal.util.DefaultSVNDebugLogger log
FINE: NETWORK: Received fatal alert: handshake_failure
javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1959)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1077)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:702)
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:122)
at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
at org.tmatesoft.svn.core.internal.util.SVNLogOutputStream.flush(SVNLogOutputStream.java:48)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.sendData(HTTPConnection.java:311)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:168)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:444)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:362)
at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:350)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:708)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:628)
at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:103)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1016)
at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.testConnection(DAVRepository.java:99)
at com.atlassian.bamboo.repository.svn.SvnRepository.validate(SvnRepository.java:1034)
...
I assumed I need to add the SVN server certificate chain to JAVA trust store.
My JAVA_HOME is C:\Program Files\Java\jdk1.7.0_45
The certificate path for the server certificate looks like this:
MYROOTCA
MYENTERPRISECA3
SVNSERVERCERT
I exported the 2 certificates to 2 crt files and imported them like this:
keytool -import -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -trustcacerts -alias myrootca -file MYROOTCA.crt
keytool -import -keystore "%JAVA_HOME%\jre\lib\security\cacerts" -trustcacerts -alias myenterpriseca -file MYENTERPRISECA3.crt
but I get the same error.
The MYROOTCA is also imported in the Trusted Root Certification Authorities store in LocalMachine.
If I run the svn command line against the SVN repository, with the following line added to the ...\AppData\Roaming\Subversion\servers:
ssl-client-cert-file=C:\my.p12
after I'm being prompted for the passphrase everything works fine.
Please let me know what should I do. Which certificates trust store is used by Bamboo ?
Thank you.