Confluence 6 經過 SSL 或 HTTPS 運行 - 建立或請求一個 SSL 證書

在啓用 HTTPS 以前,你須要一個有效的證書,若是你已經有了一個有效的證書,你能夠直接跳過這個步驟,進入 step 2html

你能夠建立一個自簽名的證書,或者從信任的 Certificate Authority 中得到一個證書。apache

若是你的項目小組計劃使用 Confluence 服務器移動 app。你須要你的證書是從信任的證書籤發機構簽發的。你不能使用自簽名的證書或者從一個不信任的機構得到的證書,或者自由 CA。tomcat

選項 1: 建立一個自簽名證書

當你須要進行加密,可是你並不須要對網站的的請求校驗的話,自簽名證書可以幫助你完成這個。在一般的狀況下,你能夠在你的測試環境下籤發你的自簽名證書,你也能夠在你公司內部的網絡上籤發自簽名證書。服務器

由於證書不是信任的組織簽發的(CA),用戶可能會收到站點不被信任,而且提供一個步驟讓用戶先肯定,才能訪問網站的信息。這個一般是在第一次訪問網站的時候出現的提示。若是你使用的 Confluence 的移動 app 的話,用戶不能經過你的自簽名證書訪問你的 Confluence 站點。網絡

在這個狀況下,咱們須要使用 Java 的 keytool 工具包。這個工具包是包含在 JDK 中的。若是你對命令行工具並非十分熟悉的話,你能夠考慮使用 KeyStore Explorer 工具。app

使用 keytool 來建立一個自簽名證書:工具

  1. 從命令行中,爲你的操做系統運行正確的命令:

    Windows測試

    "%JAVA_HOME%\bin\keytool" -genkeypair -keysize 2048 -alias tomcat -keyalg RSA -sigalg SHA256withRSA網站

    Linux (and MacOS)ui

    $JAVA_HOME/bin/keytool -genkeypair -keysize 2048 -alias tomcat -keyalg RSA -sigalg SHA256withRSA

  2. 當出現提示後,爲你的證書建立 密碼(password ),私有 key。
    • 僅使用數字和英文字符。若是你使用了特殊字符,Tomcat 可能會出現錯誤。
    • 請記錄你建立的密碼,在下一步中你須要使用到你建立的密碼。
    • 默認的密碼是 'changeit'。
  3. 根據提示來肯定證書的細節。這些信息被用來構造 X.500 實體中的 Distinguished Name (DN) 。
     
    • First and last name:這個不是你的名字,這個是 Common Name (CN),例如 'confluence.example.com'。CN 必須與 Confluence 使用的域名徹底對應,不然 Tomcat 將不能使用你簽名的證書。
    • Organizational unit:這個是證書使用的部門或者小組,例如 'marketing'。
    • Organization:是你公司的名字,例如 'SeeSpaceEZ'。
    • City, State / province, country code:這個是你公司的地理位置,例如 Sydney, NSW, AU。
  4. 輸出將會以下所示。輸入 'y' 來肯定你輸入的內容。

    CN=confluence.example.com, OU=Marketing, O=SeeSpaceEZ, L=Sydney, ST=NSW, C=AU

  5. 當被詢問爲 'tomcat' 準備使用的 密碼(password )的時候,輸入你第二步中輸入的密碼(在輸入密碼後單擊回車)。
    • 'tomcat' 是你在 keytool 命令行中輸入的別名,在這裏用來對你提示。
    • 你 keystore 實例必須和你的私有 key 有相同的密碼。這個是 Tomcat 服務器要求的。
  6. 你的證書如今已經能夠用了,進入 下面 的第二步。

選項 2: 使用 Certificate Authority  簽發的證書(推薦)

在生產環境中,你須要使用從 Certificate Authority (CA) 簽發的證書。下面的內容是從 Tomcat documentation 中拷貝出來的。

首先你須要建立本地證書,而後基於你建立的本地證書再建立一個 'certificate signing request' (CSR) 。你須要提交 CSR 到你的選擇的 CA 提供商上進行收取。CA 將會經過 CSR 將受權後的證書發給你。

  1. 使用 Java 的 keytool 工具來建立一個本地證書(請按照上面第一步所描述的內容)。
  2. 從命令中,將會返回下面的命令工具來建立所須要前面的證書。

    keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr -keystore <MY_KEYSTORE_FILENAME>

    替換 <MY_KEYSTORE_FILENAME> 爲路徑和你本地證書建立 .keystore 的文件名。

  3. 提交建立的文件爲 certreq.csr 到你但願進行受權的 CA。
    (info) 請參考 CA 的文檔來找到如何進行這個操做。
  4. CA 將會發個你已經簽名好的證書。
  5. 導入新證書到你的本地的 keystore:

    keytool -importcert -alias tomcat -keystore <MY_KEYSTORE_FILENAME> -file <MY_CERTIFICATE_FILENAME>

    一些 CA 可能要求你在安裝你的證書以前先安裝一箇中間人證書。你應該按照 CA  提供的文檔來完成你本地證書的成功安裝。

若是你使用的是 Verisign 或 GoDaddy,而後你收到了錯誤的信息,你可能須要將 PKCS12 和你的私鑰(private key)同時導出。

  1. 首先,刪除添加到 keystore 中的全部 key:

    keytool -delete -alias tomcat -keystore <MY_KEYSTORE_FILENAME>

  2. 而後導出爲 PKCS12 格式:

    openssl pkcs12 -export -in <MY_CERTIFICATE_NAME> -inkey <MY_PRIVATEKEY_NAME> -out <MY_PKC12_KEYSTORE_NAME> -name tomcat -CAfile <MY_ROOTCERTIFICATE_NAME-alsoCalledBundleCertificateInGoDaddy> -caname root

  3. 而後導入 PKCS12 到 jks 中:

    keytool -importkeystore -deststorepass <MY_DESTINATIONSTORE_PASSWORD> -destkeypass <MY_DESTINATIONKEY_PASSWORD> -destkeystore <MY_KEYSTORE_FILENAME> -srckeystore <MY_PKC

 

https://www.cwiki.us/display/CONF6ZH/Running+Confluence+Over+SSL+or+HTTPS

相關文章
相關標籤/搜索