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

在啓用 HTTPS 之前,你需要一個有效的證書,如果你已經有了一個有效的證書,你可以直接跳過這個步驟,進入 step 2

你可以創建一個自簽名的證書,或者從信任的 Certificate Authority 中獲得一個證書。

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

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

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

因爲證書不是信任的組織簽發的(CA),用戶可能會收到站點不被信任,並且提供一個步驟讓用戶先確定,才能訪問網站的信息。這個通常是在第一次訪問網站的時候出現的提示。如果你使用的 Confluence 的移動 app 的話,用戶不能通過你的自簽名證書訪問你的 Confluence 站點。

在這個情況下,我們需要使用 Java 的 keytool 工具包。這個工具包是包含在 JDK 中的。如果你對命令行工具並不是十分熟悉的話,你可以考慮使用 KeyStore Explorer 工具。

使用 keytool 來創建一個自簽名證書:

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

    Windows

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

    Linux (and MacOS)

    $JAVA_HOME/bin/keytool -genkeypair -keysize 2048 -alias tomcat -keyalg RSA -sigalg SHA256withRSA
  2. 當出現提示後,爲你的證書創建 密碼(password ),私有 key。

  • 僅使用數字和英文字符。如果你使用了特殊字符,Tomcat 可能會出現錯誤。

  • 請記錄你創建的密碼,在下一步中你需要使用到你創建的密碼。

  • 默認的密碼是 'changeit'。

  • 根據提示來確定證書的細節。這些信息被用來構造 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。

  • 輸出將會如下所示。輸入 'y' 來確定你輸入的內容。

    CN=confluence.example.com, OU=Marketing, O=SeeSpaceEZ, L=Sydney, ST=NSW, C=AU
  • 當被詢問爲 'tomcat' 準備使用的 密碼(password )的時候,輸入你第二步中輸入的密碼(在輸入密碼後單擊回車)。

    • 'tomcat' 是你在 keytool 命令行中輸入的別名,在這裏用來對你提示。

    • 你 keystore 實例必須和你的私有 key 有相同的密碼。這個是 Tomcat 服務器要求的。

  • 你的證書現在已經可以用了,進入 下面 的第二步。

  • 選項 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


    發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章