我有一個在 Ubuntu 18.04 TLS 上運行的 Wildfly 17 服務器,并嘗試啟用 SSL,如下面的鏈接中所述:

在我的瀏覽器的證書查看器中,我得到了:

并且

我的密鑰庫包含三個條目:
administrator@14980:/opt/wildfly/standalone/configuration$ sudo
keytool -keystore heimdi.jks -list -v
Enter keystore password:
Keystore type: PKCS12
Keystore provider: SUN
Your keystore contains 3 entries
現在,第一個物體是我購買的服務器證書:
Alias name: server
Creation date: Jun 7, 2022
Entry type: PrivateKeyEntry
Certificate chain length: 3
Certificate[1]:
Owner: CN=heimdi.at
Issuer: CN=RapidSSL Global TLS RSA4096 SHA256 2022 CA1, O="DigiCert, Inc.", C=US
Serial number: 2cd552dea82c2a783fee69d6f160d78
Valid from: Wed Jun 01 02:00:00 CEST 2022 until: Fri Jun 02 01:59:59 CEST 2023
Certificate fingerprints:
SHA1: B9:D9:C6:E3:B9:41:0F:39:F7:63:FB:B7:5C:22:3C:39:66:E6:BA:C1
SHA256: 64:4B:9B:FB:85:C2:EC:54:C2:1C:66:65:51:A9:3C:AB:33:C9:D3:F9:20:8B:F1:77:D9:B0:0F:02:D1:86:53:97
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
第二個是中間機構的證書:
Certificate[2]:
Owner: CN=RapidSSL Global TLS RSA4096 SHA256 2022 CA1, O="DigiCert, Inc.", C=US
Issuer: CN=DigiCert Global Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US
Serial number: a059b25f54b3d8794cc6631477538a3
Valid from: Wed May 04 02:00:00 CEST 2022 until: Mon Nov 10 00:59:59 CET 2031
Certificate fingerprints:
SHA1: 68:F2:2B:1A:62:98:F7:DA:19:1E:61:49:ED:8D:E0:EF:FF:54:AD:8C
SHA256: 92:A5:F5:15:AD:35:D3:A2:7C:49:0E:DB:13:5D:E7:04:4B:1E:39:9D:60:8A:C1:AB:E8:83:FC:82:FB:4B:16:BE
Signature algorithm name: SHA256withRSA
Subject Public Key Algorithm: 4096-bit RSA key
Version: 3
最后一個是根 CA 證書:
Certificate[3]:
Owner: CN=DigiCert Global Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US
Issuer: CN=DigiCert Global Root CA, OU=www.digicert.com, O=DigiCert Inc, C=US
Serial number: 83be056904246b1a1756ac95991c74a
Valid from: Fri Nov 10 01:00:00 CET 2006 until: Mon Nov 10 01:00:00 CET 2031
Certificate fingerprints:
SHA1: A8:98:5D:3A:65:E5:E5:C4:B2:D7:D6:6D:40:C6:DD:2F:B1:9C:54:36
SHA256: 43:48:A0:E9:44:4C:78:CB:26:5E:05:8D:5E:89:44:B4:D8:4F:96:62:BD:26:DB:25:7F:89:34:A4:43:C7:01:61
Signature algorithm name: SHA1withRSA
Subject Public Key Algorithm: 2048-bit RSA key
Version: 3
uj5u.com熱心網友回復:
HTTPS 瀏覽器永遠不會獲取您的私鑰。您的顯示的是5 月 25 日創建的自簽名(虛擬)證書,這顯然是您創建的時間keytool -genkey[pair]。該操作會創建一個私鑰和一個虛擬證書,當您獲得真實證書時,它們會被替換;它不是私鑰,而是存盤在PrivateKey條目中,該條目實際上包含私鑰和證書鏈。
您獲得了“真實”證書(來自 RapidSSL/Digicert),但沒有正確替換虛擬證書。您需要keytool -importcert -keystore x -file y -alias z在 x 是您的密鑰庫的地方執行操作heimdi.jks,y 是包含您獲得的服務器證書的檔案,z 是PrivateKey 條目的別名,即server.
但在此之前,您需要在密鑰庫中擁有復數的鏈證書。您的服務器證書是由中間CA頒發的RapidSSL Global TLS RSA4096 SHA256 2022 CA1,但是您擁有的根證書DigiCert Global Root CA是不同的。您應該擁有(RapidSSL/Digicert 應該為您提供)一個“鏈”或“中間”證書,通過使主題(keytool 稱為“所有者”)等于前者和頒發者等于后者來鏈接這些證書。您的串列顯示了therootca和的 TrustedCert 條目client;前者與(已發布)Digicert 根匹配,但您沒有說出后者中的內容,并且它與任何公開記錄的中間體不匹配,而且擁有任何型別的“客戶”通常沒有意義
如果 RapidSSL 為您提供了“捆綁”檔案,請使用任何文本工具(如cat或more或編輯器)查看它;它可能包含多個證書,但如果您在其中使用它keytool -import[cert],則只閱讀第一個。拆分任何后續證書并單獨查看每個證書(例如使用keytool -printcert -file f)以找到中間證書,或者嘗試下載此已記錄的證書。在將服務器證書匯入到上面的私鑰別名之前,將其匯入到不同的別名(可能) 。themidcaserver
PS:沒有“Linux 18.04”。您可能指的是Ubuntu,它以 yy.mm 格式標識版本,而偶數年 4 月的版本(如 18.04)是“LTS”(長期支持)——而不是 TLS。但即使是“長期”也只有 5 年免費,明年春天對您的系統到期。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/490867.html
