TIBC Spotfire SSL 證書安裝 / HTTPS 設定

Spotfire SSL證書安裝 

了解一下SSL證書的常見格式︰

證書文件格式

以下表格介绍了文件的常見,您可以參考以下表格區分帶有後綴擴展名的證書文件。

文件後綴                 文件類型                                                     說明

*.DER或*.CER         二進制格式                              只含有證書信息,不包含私鑰。

*.CRT                         二進制格式或文本格式     只含有證書信息,不包含私鑰。

*.PEM                         文本格式                             一般存放證書或私鑰,或同时包含證書和                                                                                                私鑰。*.PEM文件如果只包含私鑰,一般                                                                                                用*.KEY文件代替。

*.PFX或*.P12         二进制格式                           同时包含證書和私鑰,且一般有密碼保護。

官方安裝教學︰

https://support.tibco.com/s/article/How-to-configure-HTTPS-using-self-signed-certificate-CA-issued-certificate-without-private-key-and-CA-issued-certificate-with-private-key-in-TIBCO-Spotfire-Server


公司提供了一張.pfx格式的SSL證書需要安裝上spotfire,但只收到證書,並不知道CA的任何設定,前人一直嘗試安裝都失敗。最後將任務交給我研究,

最後我發現是因為alias設定的問題。

一開始連線443 port口時,一直會顯示refuse to connect, 以為是port口的問題。

spotfire需要設定的server.xml是用來設定spotfire網絡應用程式的設定,若是設定成功,自動會打開443 port口的監聽(listening)。所以其實一直是設定有錯誤問題。

請看下圖︰

  <SSLHostConfig certificateVerification="none"
                 truststoreFile="./certs/cacerts.jks"
                 truststorePass="your_password"
                 truststoreType="jks"
                 sslProtocol="TLS"
                 protocols="+TLSv1.2,+TLSv1.1,+TLSv1"
                 honorCipherOrder="true"
                 ciphers="TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA">

<Certificate certificateKeystoreFile="./certs/keystore.p12"
                 certificateKeystorePassword="your_password"
                 certificateKeystoreType="PKCS12"
                 certificateKeyAlias="server_alias" />
  </SSLHostConfig>

我們必需確保<Certificate>的設定無誤。

每一張SSL證書是java會視作一個keystore,我們需要查看keystore的alias將其正確的alias,因為公司事前沒有與CA溝通,並不知道CA在產生證書時所設定的alias。

我們可以使用windows cmd指令查看keystore的alias。

"%JAVA_HOME%\bin\keytool" - list -keystore <your keystore filename.extension> 

For Example:

"C:\Program Files\Java\jdk-14.0.1\bin\keytool" -list -keystore keystore.p12


如上圖所示,紅色圈圈圈著的便是keystore的alias,公司需要安裝的證書alias拼寫十分複雜,不細心以為是什麼被加密的亂碼。

最後將這個alias名稱輸入在<Certificate>的設定就可以了。
Example:

<Certificate certificateKeystoreFile="./certs/keystore.p12"
                 certificateKeystorePassword="your_password"
                 certificateKeystoreType="PKCS12"
                 certificateKeyAlias="ims" />

這樣就能夠成功將SSL證書放入spotfire server,且成功打開443 port 的listening了。









留言

這個網誌中的熱門文章

8-Bit Plane Slicing 位元平面分割 詳細解說 # 附 Python 程式碼

2023年回到香港IT面試經驗

Histogram Equalization - 直方圖均衡化 詳細解說 # 附 Python 程式碼