VisualSVN Server supports secure connection over the HTTPS protocol (Hypertext Transfer Protocol Secure). This protocol is a combination of the Hypertext Transfer Protocol with the SSL/TLS protocol to provide encryption and secure identification of the server.
The main idea of HTTPS is to create a secure channel over an insecure network. This ensures reasonable protection from eavesdroppers and man-in-the-middle attacks, provided that adequate cipher suites are used and that the server certificate is verified and trusted.
In order to work over the HTTPS protocol, the VisualSVN Server should be equipped with an SSL certificate. A server certificate contains detailed identification information, such as the name of the organization that is affiliated with the server content, the name of the organization that issued the certificate, the name of the server and so on.
In most cases, certificate is signed by a trusted Certificate Authority (CA). It can be:
- Third-party Certificate Authority such as Verisign or GeoTrust.
- Domain Certificate Authority such as Active Directory Certificate Services.
An SSL certificate is automatically trusted by standard Subversion clients and web-browsers if it's signed by a trusted Certificate Authority. If a certificate is not trusted by client, the connection will be encrypted but it's not sure that client communicates with the true server.
Self-signed SSL Certificates
Self-signed SSL certificate is pre-generated during the first setup of VisualSVN Server. Self-signed certificate allows you to setup encrypted connection to the server but it's not trusted by standard Subversion clients and web-browsers.
You will receive the following warning message if you are connecting to the server that is configured to use self-signed certificate:
It's recommended to replace the default self-signed certificate for a certificate signed by trusted Certificate Authority (domain or third-party).
Signing SSL certificate with a trusted Certificate Authority
In order to obtain and install signed certificate from a trusted Certificate Authority, you are requested to:
- Prepare Certificate Signing Request (CSR) using the VisualSVN Server Manager.
- Submit this request to a Certificate Authority and obtain signed certificate.
- Import the signed certificate to VisualSVN Server.
If you are going to obtain certificate from a third-party Certificate Authority, you are requested to complete an appropriate form on the authority's web-site. Usually, this is a paid service. Some additional paperwork may be required.
If you wish to obtain certificate from your corporate Active Directory
Certificate Services, contact your system administrator or follow the
instructions provided in the article below:
How to sign server certificate with Active Directory Certificate Services
Running VisualSVN Server with a self-signed SSL certificate
Generally spoken, it's not recommended to use self-signed SSL certificates in production. In this case you're requested to manually accept the certificate based on its fingerprint. Note that certificates are accepted on a per user basis.
It's also possible to export a self-signed certificate from VisualSVN Server and save this certificate in the trusted certificates list on all client computers.