******************************************************************************** | |
Gitblit SSL Client Certificate for $serverHostname | |
******************************************************************************** | |
Hello $userDisplayname, | |
Your private key, public certificate, and the Gitblit Certificate Authority | |
certificate for $serverHostname are stored in $username.p12, a PKCS#12 certificate | |
store[1], and also in $username.pem, a PEM certificate store. | |
Both of these certificate stores are password-protected. | |
Password Hint: $storePasswordHint | |
Git (All) Installation Instructions | |
============================================= | |
The provided PEM file can be directly used by your git client. | |
git config [--global] http.sslCert path/to/$username.pem | |
The supplied PEM file is password-protected and you may be prompted for your | |
password multiple times during an exchange with Gitblit. If you desire a | |
password-less git client workflow then you will need to decrypt and export your | |
private key with OpenSSL[2] and then update your git config to use that key. | |
openssl rsa -in path/to/$username.pem -out path/to/$username.key | |
git config [--global] http.sslKey path/to/$username.key | |
Obviously, you should protect access to any decrypted private key. | |
NOTE: | |
Some older git clients may have trouble using the PEM file without explicitly | |
extracting the private key. This has been observed, for example, on Ubuntu 12.04 | |
with git 1.7.9.5. | |
Firefox (All) Installation Instructions | |
============================================= | |
Firefox maintains it's own certificate store which is separate from the operating | |
system. | |
1. Navigate to Options->Advanced->Encryption | |
2. Click "View Certificates" | |
3. Switch to the "Your Certificates" tab | |
4. Click "Import..." | |
5. Navigate your filesystem and select $username.p12 | |
6. At the password prompt enter the certificate store password | |
You have now imported your private key, public certificate, and the CA certificate | |
but now we must manually set the trust settings of the CA certificate. | |
7. Switch to the "Authorities" tab | |
8. Scroll down and find "Gitblit-> Gitblit Certificate Authority" | |
9. Select it and click "Edit Trust..." | |
10. Check "This certificate can identify websites" and click OK. | |
Chrome/IE (Windows) Installation Instructions | |
============================================= | |
On Windows, Chrome and IE share their certificate store so configuring one will | |
automatically apply for both. | |
IE | |
------------------------------------ | |
1. Navigate to Internet Options->Content | |
2. Click the "Certificates" button | |
Chrome | |
------------------------------------ | |
1. Navigate to Settings->Show Advanced Settings->HTTP/SSL | |
2. Click the "Manage Certificates..." button | |
Both (Windows) | |
------------------------------------ | |
3. Switch to the "Personal" tab | |
4. Click the "Import..." button | |
5. Follow the Import Wizard instructions. | |
You will need to change the selected file filter when navigating to $username.p12 | |
6. At the password prompt enter the certificate store password | |
7. Because both your personal certificate and the CA certifcate are stored in | |
$username.p12, you must choose "Automatically select the certificate store based on the type of certificate". | |
If you choose the default you will not install the CA certificate. | |
Chrome (Linux) Installation Instructions | |
============================================= | |
On Linux, Chrome maintains it's own certificate store. | |
1. Navigate to Settings->Show Advanced Settings->HTTP/SSL | |
2. Click the "Manage Certificates..." button | |
3. Navigate your filesystem and select $username.p12 | |
4. At the password prompt enter the certificate store password | |
You have now imported your private key, public certificate, and the CA certificate | |
but now we must manually set the trust settings of the CA certificate. | |
5. Switch to the "Authorities" tab | |
6. Scroll down and find "Gitblit-> Gitblit Certificate Authority" | |
7. Select it and click "Edit Trust..." | |
8. Check "This certificate can identify websites" and click OK. | |
Chrome/Safari (Mac OS X) Installation Instructions | |
============================================= | |
On Mac OS X, Chrome and Safari both use Keychain Access to store certificates | |
so configuring one will automatically apply for both. | |
1. Double-click $username.pem | |
2. At the password prompt enter the certificate store password | |
You have now imported your private key, public certificate, and the CA certificate | |
but now we must manually set the trust settings of the CA certificate. | |
3. Find the Gitblit Certificate Authority certificate, it should have a red | |
indicator meaning untrusted, and double-click it. | |
4. Open the "Trust" disclosure triangle and change "When using this certificate" | |
to "Always Trust". | |
5. Close the certificate view and enter your system password to save the changes | |
to your keychain. | |
[1] PKCS#12 is one of the standard container formats for sharing private keys and | |
public certificates. | |
[2] http://www.openssl.org |