On Thu, Dec 16, 2010 at 09:34:05AM -0500, Nick wrote:
> Hi all,
> 
> At some point in the last year I stopped being able to access my SVN
> repository remotely via https using the SVN CLI and TortoiseSVN on
> Windows.  Unfortunately since I hadn't used svn on my windows machine
> for a long time (many months), I cannot give a more accurate timeframe.
> 
> The error I get when I try to checkout via the svn.exe CLI is (I masked
> my domain & path):
> 
> c:\ svn.exe checkout https://<mydomain>.com/<path>
> svn: OPTIONS of 'https://<mydomain>.com/<path>':
> SSL negotiation failed: SSL error code -1/1/336032856
> (https://<mydomain>.com)
> 
> My svn server is running via Apache.  Client and server are both version
> is 1.6.13.  The web server is using openssl 1.0.0c.
>
> I am able to checkout and access my repository fine from another linux
> client via the same domain name.  And on Windows, I can browse the
> repository with Firefox.  But in both of these cases, the linux svn CLI
> and Firefox both prompt that the SSL certificate is risky/invalid for a
> couple reasons:  it's self-signed and reflects a different host than the
> domain I'm actually connecting to.  This is because the SSL certificate
> reflects my server's internal hostname (for reasons I won't get into
> here) rather than the public domain name.  So for both the linux client
> and Firefox I had to explicitly accept this discrepancy.
> 
> The linux svn CLI yields this:
> # svn checkout https://<mydomain>.com/<path>
> Error validating server certificate for 'https://<mydomain>.com:443':
>  - The certificate is not issued by a trusted authority. Use the
>    fingerprint to validate the certificate manually!
>  - The certificate hostname does not match.
> Certificate information:
>  - Hostname: nimble
>  - Valid: from Tue, 16 Mar 2010 02:14:36 GMT until Fri, 13 Mar 2020
> 02:14:36 GMT
>  - Issuer: <me>
>  - Fingerprint:
> 50:2b:50:a5:75:61:ae:f2:a0:d2:44:4f:12:6b:d3:6e:f8:c5:4b:12
> (R)eject, accept (t)emporarily or accept (p)ermanently? 
> 
> And if I accept this validation error, everything works properly.
> 
> So I wonder if the error I'm getting from the Windows svn.exe is related
> to my risky/invalid certificate.  So one question I have is:  how do I
> instruct svn to accept the certificate even though it's not completely
> valid?

Maybe it is related to this change released in June 2010 in 1.6.12:

   * check for server certificate revocation on Windows (r898048)

------------------------------------------------------------------------
r898048 | rhuijben | 2010-01-11 21:13:13 +0100 (Mon, 11 Jan 2010) | 10 lines

Extend the (Windows only) ssl server certificate validation via cryptoapi
with a certificate revocation check. Also use a proper certificate chain
verification, before trusting the certificate as valid instead of just
parsing the certificate status ourselves.

* subversion/libsvn_subr/win32_crypto.c
  (windows_validate_certificate): Add revocation check flag and verify the
    certificate chain as a ssl chain instead of reading the status of the
    leave certificate ourselves.

------------------------------------------------------------------------

Does Windows perhaps believe that the certificate has been revoked
for some reason?  I cannot think of any other reason.

Does it work if you try versions older than 1.6.12?

> Any other suggestions?

Try this:
  svn checkout --non-interactive --trust-server-cert 
https://<mydomain>.com/<path>

Stefan

Reply via email to