******************************************************************************** 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