All Versions
Fisheye 4.2 DocumentationFisheye 4.1 Documentation
Fisheye 4.0 Documentation
More...
This page contains instructions on using SSL with FishEye.
On this page:
An SSL certificate is required in order for SSL to work in FishEye. There are two ways to obtain one:
Self-signed certificates are useful in cases where you require encryption, but do not need to verify the website's identity. They are commonly used for testing and on internal corporate networks (intranets). If a certificate is not signed by a Certification Authority (CA), users may get prompted that the site is untrusted. They may then have to perform several steps to "accept" the certificate before they can access the site. This usually only occurs the first time the site is accessed.
To obtain a self-signed certificate,
"%JAVA_HOME%\bin\keytool" -keystore %FISHEYE_HOME%/keystore -alias fisheye -genkey -keyalg RSA
$JAVA_HOME/bin/keytool -keystore $FISHEYE_HOME/keystore -alias fisheye -genkey -keyalg RSA
What is the fully qualified hostname of my server?
The fully qualified hostname of your server is the name you would type in your web browser, after the http:// section, to access a conventional website. When the client web browser examines the certificate, it checks this field to make sure it matches the hostname. If it does not, the browser may prevent access to the site and will at least generate messages saying that there is a mismatch. An example of a qualified hostname is: support.atlassian.com
config.xml in the corresponding attributes (see Configure FishEye/Crucible SSL below).
<web-server context="/crucible"
site-url="http://localhost:6060/crucible/">
<http bind=":6060"/>
<ssl bind=":6443" keystore="keystore" keystore-password="password123"
truststore="keystore" truststore-password="password123"/>
</web-server>
Digital Certificates issued by trusted 3rd party Certification Authorities (CAs) provide verification of the identity of your website. Many CAs simply verify the domain name and issue the certificate. Other CAs such as VeriSign also verify the existence of your business, the ownership of your domain name and the authority to whom the certificate application was made, thereby providing a higher standard of identification and authenticity.
A list of CA's can be found here. Some of the most well-known CAs are:
This list is not an endorsement of the given certificate authorities by Atlassian, and is only provided as an example.
To obtain a certificate signed by a CA,
"%JAVA_HOME%\bin\keytool" -certreq -alias fisheye -keystore %FISHEYE_HOME%\keystore -file %FISHEYE_HOME%\fisheye.csr
$JAVA_HOME/bin/keytool -certreq -alias fisheye -keystore $FISHEYE_HOME/keystore -file $FISHEYE_HOME/fisheye.csr
Keytool does not perform any of these conversions. Therefore, the easiest way to do this is via openssl, by running the following command:
openssl x509 -in certificate.der
-inform DER -outform PEM -out certificate.crt
"%JAVA_HOME%\bin\keytool" -keystore %FISHEYE_HOME%\keystore
-import -alias fisheye -file %FISHEYE_HOME%\certificate.crt
-trustcacerts
$JAVA_HOME/bin/keytool -keystore $FISHEYE_HOME\keystore
-import -alias fisheye -file $FISHEYE_HOME/certificate.crt
-trustcacerts
%JAVA_HOME%\bin\keytool -importkeystore
-srckeystore %FISHEYE_HOME%\certificate.pkcs12
-srcstoretype PKCS12 -destkeystore %FISHEYE_HOME\keystore
$JAVA_HOME/bin/keytool -importkeystore
-srckeystore $FISHEYE_HOME/certificate.pkcs12
-srcstoretype PKCS12 -destkeystore $FISHEYE_HOME/keystore
FishEye requires additional configuration in order to use SSL. This configuration can be done from the web admin as described below (recommended), or added directly into your config.xml. Setting the bind address and the keystore and password field, as described below, will enable SSL in FishEye. You will need to restart your server after updating the settings, for the changes to take effect.
To configure FishEye to use SSL,
Field |
Description |
Example value |
|---|---|---|
SSL Bind Address |
The SSL port. Most browsers default to 443 as the SSL port for the https protocol. |
443 |
SSL Keystore |
Path to the keystore file (as generated in the steps above). This path can be a relative path - e.g., putting in |
keystore |
SSL Keystore Password |
The password you used in the above step when creating the keystore file. If you did not set a password, leave this empty. See the passwords section |
|
SSL Truststore |
Optional setting. Path to the truststore file. May be the same as the keystore. Truststore is a list of trusted CAs. Format is the same as the keystore entry. |
|
SSL Truststore Password |
Optional setting. The password you used in the above step when creating the truststore file. If you did not set a password, leave this empty. See the passwords section |
|
Screenshots: Fisheye Server Settings (click to view larger images)
|
|
|
|
1. Server Settings
|
2. Example SSL Settings
|