我在工作中設定了一個 Arch Linux VM,我的公司使用帶有自簽名憑證的透明(直通)代理程式並需要身份驗證。每當我嘗試透過安裝任何軟體包時,pacman
都會收到以下錯誤(例如嘗試安裝lynx
)
錯誤:從mirrors.kernel.org檢索檔案「lynx-2.8.7-6-x86_64.pkg.tar.xz」失敗:SSL憑證問題:憑證鏈中的自簽名憑證
它將為我在 中定義的每個鏡像拋出此錯誤/etc/pacman.d/mirrorlist
。我在嘗試使用任何其他 HTTP/S 用戶端(例如 )時也遇到類似問題curl
,但我對 FTP 沒有任何問題(主要是因為我的公司只監控連接埠 80 和 443)。
我已經嘗試過的...
- 將我公司的自簽名 CA 憑證放入
/usr/share/ca-certificates
,以及/etc/ca-certificates
- 使用我的憑證設定
http_proxy
並https_proxy
指向我公司的代理伺服器 - 與管理我們代理伺服器的人交談過,但他對 Linux 一無所知,所以不知道從哪裡開始。
目前,當我需要安裝某些東西或存取網路時,我會打開通往我的家庭伺服器的 SSH 隧道來解決這個問題。
下面是輸出openssl s_client -CApath /etc/ca-certificates -showcerts -connect mirrors.kernel.org:443
已連線(00000003) 深度 = 0 C = 美國、ST = 加州、L = 聖荷西、O = Linux 核心組織、CN = *.kernel.org 驗證錯誤:num=20:無法取得本機發行者證書 驗證返回:1 深度 = 0 C = 美國、ST = 加州、L = 聖荷西、O = Linux 核心組織、CN = *.kernel.org 驗證錯誤:num=27:憑證不受信任 驗證返回:1 深度 = 0 C = 美國、ST = 加州、L = 聖荷西、O = Linux 核心組織、CN = *.kernel.org 驗證錯誤:num=21:無法驗證第一個證書 驗證返回:1 --- 憑證鏈 0 s:/C=US/ST=加州/L=聖荷西/O=Linux 核心組織/CN=*.kernel.org i:/C=US/ST=MyCompanyState/L=MyCompanyCity/O=MyCompanyName/OU=IT/CN=MyCompanyProxyServer/[電子郵件受保護] -----開始憑證----- .... 等等等等等等 -----證書結束----- --- 伺服器憑證 subject=/C=US/ST=加州/L=聖荷西/O=Linux 核心組織/CN=*.kernel.org 發行者=/C=US/ST=MyCompanyState/L=MyCompanyCity/O=MyCompanyName/OU=IT/CN=MyCompanyProxyServer/[電子郵件受保護] --- 未傳送客戶端憑證 CA 名稱 ---
筆記我可能可以嘗試簡單地使用 FTP 鏡像來代替,但這並不能真正解決其他 HTTP/S 應用程式的問題(例如curl
)。
答案1
從您提供的資訊來看,聽起來您已將伺服器憑證新增至您的/etc/ca-certificates
檔案。您需要新增 CA 憑證。
您執行的命令openssl s_client -showcerts
應該在第一個憑證之後包含一個或多個其他憑證。這些是您關心的人。
如果第一個證書之後還有多個證書,那麼您可能需要將兩個證書都新增到您的ca-certificates
文件中。這完全取決於如何在代理商上設定憑證授權單位。但是,如果兩者都不是必需的,並且您無論如何都添加兩者,那也沒有什麼壞處。
但是,如果openssl s_client -showcerts
除了第一個證書之外沒有顯示任何證書,那麼您就陷入困境了。這意味著代理沒有發送簽名證書。您可以嘗試聯絡您的網路團隊並向他們詢問。出於安全考慮,他們絕對沒有理由不提供給您(這是鑰匙必須受到保護)。
例如,我得到以下內容(是的,因為我不在 SSL 代理後面,所以我得到了真正的證書,但概念仍然存在):
# openssl s_client -showcerts -connectmirrors.kernel.org:443 已連線(00000003) 深度=2 C = US,O =“thawte, Inc.”,OU = 認證服務部門,OU =“(c) 2006 thawte, Inc. - 僅供授權使用”,CN = thawte 主根 CA 驗證錯誤:num=20:無法取得本機發行者證書 驗證返回:0 --- 憑證鏈 0 s:/C=US/ST=加州/L=聖荷西/O=Linux 核心組織/CN=*.kernel.org i:/C=US/O=Thawte, Inc./CN=Thawte SSL CA -----開始憑證----- MIID2zCCAsOgAwIBAgIQZ7xPhWo7v0ZlPnI5mJWMazANBgkqhkiG9w0BAQUFADA8 MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMVGhhd3RlLCBJbmMuMRYwFAYDVQQDEw1U aGF3dGUGU1NMIENBMB4XDTEyMDEwMzAwMDAwMFOXDTE0MDQwMzIzNTk1OVowdDEL MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExETAPBgNVBAcuCFNhbiBK b3NLMSYwJAYDVQQKFB1UaGUgTGludXggS2VybmVsIE9yZ2FuaXphdGlvbjEVMBMG A1UEAxQMKi5rZXJuZWwub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEApSbajGUzM+C1Oz6CzyPmek9HH03ToicZeHxOlBfS7yyvIyybxTCBrmkItyc+ sf6b5g2Zf8IPwloaj+ACQaLfm0OOaFrvHERIN1t0pitvmeSDI6BXVYq0eSLEPpSG YC/3AMdKE21NO1jmL7mtsCB8CW4NAAvy97HkvsPsTPNOp6d/LtcIMYRS347RFgRj O/J1PU05EEjcpXdy6eCyJLwi2AFLgfBzjS+0UK4tq01HFalULfO/akjC59WG+qrc P/Yi/1TM8bE2mun1mcuCP7bmyZFDfrGnO2TYcZ/s7z4bTUmEixR6kTdj1foqi7Xk svko9dXCiUZj4c692ZKZXE+gJwIDAQABo4GgMIGdMAwGA1UdEweb/wQCMAAwOgYD VR0fBDMwMTAvoC2gK4YpaHR0cDovL3N2ci1vdi1jcmwudGhhd3RlLmNvbS9UaGF3 dGVPVi5jcmwwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMDIGCCsGAQUF BwEBBCYwJDAiBggrBgEFBQcwaAYYWaHR0cDovL29jc3AudGhhd3RlLmNvbTANBgkq HKIG9w0BAQUFAAOCAQEAd7mKHpW1mCB1fGuvR44iX83PmSy3BVEpvOlnH1zNSU/Y 2zMmKDbXqAJTY6t20Yq/GpjW3BA2G4xEA6i64WAGZcSmXfc/NDOSh0i5lTrCofCG 3tuts9HTmHJLfeAz9cZiT4rc4ROMV4K17/Uw81UIid952M/4b6OvhaCu5OSnvDUI 3Z6OUy+AuJHbwEyB5bGOJ/mqVKUztgUK17bJiwDhwZ4Q8PT6YKUj5NgPcG6cUKxY HK6yxvoqH/s1DQJB3JHDSFVgY47ECmoHyQ5MvJN+naNrZJUIH0RTmmHNbQH772W7 m8I66jiDhXTd6+4v8DipvHJOSEv7ebG0Jf6gv7lc6w== -----證書結束----- 1 s:/C=US/O=Thawte, Inc./CN=Thawte SSL CA i:/C=US/O=thawte, Inc./OU=Certification Services Division/OU=(c) 2006 thawte, Inc. - 僅供授權使用/CN=thawte 主根 CA -----開始憑證----- MIIEbDCCA1SgAwIBAgIQTV8sNAiyTCDNbVB+JE3J7DANBgkqhkiG9w0BAQUFADCB qTELMAkGA1UEBhMCVVMxFTATBgNVBAoTDHRoYXd0ZSwgSW5jLjEoMCYGA1UECxMf Q2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjE4MDYGA1UECxMvKGMpIDIw MDYgdGhhd3RlLCBJbmMuIC0gRm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxHzAdBgNV BAMTFnRoYXd0ZSBQcmltYXJ5IFJvb3QgQ0EwHhcNMTAwMjA4MDAwMDAwWhcNMjAw MjA3MjM1OTU5WjA8MQswCQYDVQQGEwJVUzeEVMBMGA1UEChMMVGhhd3RlLCBJbmMu MRYwFAYDVQQDEw1UaGF3dGUGU1NMIENBMIIBIJANBgkqhkiG9w0BAQEFAAOCAQ8A MIIBCgKCAQEAmeSFW3ZJfS8F2MWsyMip09yY5tc0pi8M8iIm2KPJFEyPBaRF6BQM WJAFGrfFwQalgK+7HUlrUjSIw1nn72vEJ0GMK2Yd0OCjl5gZNEtB1ZjVxwWtouTX 7QytT8G1sCH9PlBTssSQ0NQwZ2ya8Q50xMLciuiX/8mSrgGKVgqYMrAAI+yQGmDD 7bs6yw9jnw1EyVLhJZa/7VCViX9WFLG3YR0cB4w6LPf/gN45RdWvGtF42MdxaqMZ pzJQIenyDqHGEwNESNFmqFJX1xG0k4vlmZ9d53hR5U32t1m0drUJN00GOBN6HAiY XMRISstSoKn4sZ2Oe3mwIC88lqgRYke7EQIDAQABo4H7MIH4MDIGCCsGAQUFBweb BCYwJDAiBggrBgEFBQcwAYYWaHR0cDovL29jc3AudGhhd3RlLmNvbTASBgNVHRMB Af8ECDAGAQH/AgEAMDQGA1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudGhhd3Rl LmNvbS9UaGF3dGVQQ0EuY3JsMA4GA1UDDweb/wQEAwIBBjAoBgNVHREEITAfpB0w GzEZMBcGA1UEAxMQVmVyaVNpZ25NUEtJLTItOTAdBgNVHQ4EFgQUp6KDuzRFQD38 1TBPERk+oQGf9tswHwYDVR0jBBgwFoAUe1tFz6/Oy3r9MZIaarbzRutXSFAwDQYJ KoZIhvcNAQEFBQADggEBAIIGOBsyJUW11cmh/NyNNvGclYnPtOW9i4lkaU+M5en S+Uv+yV9Lwdh+m+DdExMU3IgpHrPUVFWgYiwbR82LMgrsYiZwf5Eq0hRfNjyRGQq 2HGn+xov+RmNNLIjv8RMVR2OROiqXZrdn/0Dx7okQ40tR0Tb9tiYyLL52u/tKVxp EvrRI5YPv5wN8nlFUzeaVi/oVxBw9u6JDEmJmsEj9cIqzEHPIqtlbreUgm0vQF9Y 3uuVK6ZyaFIZkSqudZ1OkubK3lTqGKslPOZkpnkfJn1h7X3S5XFV2JMXfBQ4MDzf huNMrUnjl1nOG5srztxl1Asoa06ERlFE9zMILViXIa4= -----證書結束----- 2 s:/C=US/O=thawte, Inc./OU=Certification Services Division/OU=(c) 2006 thawte, Inc. - 僅供授權使用/CN=thawte 主根 CA i:/C=ZA/ST=西開普省/L=開普敦/O=Thawte Consulting cc/OU=認證服務部/CN=Thawte Premium Server CA/[電子郵件受保護] -----開始憑證----- MIIERTCCA66gAwIBAgIQM2VQCHmtc+IwueAdDX+skTANBgkqhkiG9w0BAQUFADCB zjELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJ Q2FwZSBUb3duMR0wGwYDVQQKExRUaGF3dGUGQ29uc3VsdGluZyBjYzEoMCYGA1UE CxMfQ2VydGlmaWNhdGlvbiBTZXJ2aWNlcyBEaXZpc2lvbjEhMB8GA1UEAxMYVGhh d3RlIFByZW1pdW0gU2VydmVyIENBMSgwJgYJKoZIhvcNAQkBFhlwcmVtaXVtLXNl cnZlckB0aGF3dGUuY29tMB4XDTA2MTExNzAwMDAwMFOXDTIwMTIzMDIzNTk1OVow gakxCzAJBgNVBAYTALVTMRUwEwYDVQQKEwx0aGF3dGUsIEluYy4xKDAmBgNVBAST H0NlcnRpZmljYXRpb24gU2VydmljZXMgRGl2aXNpb24xODA2BgNVBAsTLyhjKSAy MDA2IHRoYXd0ZSwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MR8wHQYD VQQDExZ0aGF3dGUgUHJpbWFyeSBSb290IENBMIIBIJANBgkqhkiG9w0BAQEFAAOC AQ8AMIIBCgKCAQEArKDw+4BZ1JzHpM+doVlzCRBFDA0sbmjxbFtIaElZN/wLMxnC d3/MEC2VNBzm600JpxzSuMmXNGK3idQkXwbAzESULI0CYm/rWT0RjSiaXISQEHON vXRmL2o4oOLVVETrHQefB7pv7un9Tgsp9T6EoAHxnKv4HH6JpOih2HFlDaNRe+68 0iJgDblbnd+6/FFbC6+Ysuku6QToYofeK8jXTsFMZB7dz4dYukpPymgHHRydSsbV L5HMfHFyHMXAZ+sy/cmSXJTahcCbv1N9Kwn0jJ2RH5dqUsveCTakd9h7h1BE1T5u KWn7OUkmHgmlgHtALevoJ4XJ/mH9fuZ8lx3VnQIDAQABo4HCMIG/MA8GA1UdEweb /wQFMAMBAf8wOwYDVR0gBDQwMjAwBgRVHSAAMCgwJgYIKwYBBQUHAgEWGmh0dHBz Oi8vd3d3LnRoYXd0ZS5jb20vY3BzMA4GA1UdDweb/wQEAwiBBjAdBgNVHQ4EFgQU e1tFz6/Oy3r9MZIaarbzRutXSFAwQAYDVR0fBDkwNzA1oDOgMYYvaHR0cDovL2Ny BC50aGF3dGUuY29tL1RoYXd0ZVByZW1pdW1TZXJ2ZXJDQS5jcmwwDQYJKoZIhvcN AQEFBQADgYEAhKhMyT4qvJrizI8LsiV3xGGJiWNa1KMVQNT7Xj+0Q+pjFytrmXSe Cajd1FYVLnp5MV9jllMbNNkV6k9tcMq+9oKp7dqFd8x2HGqBCiHYQZl/Xi6Cweiq 95OBBaqStB+3msAHF/XLxrRMDtdW3HEgdDjWdMbWj2uvi42gbCkLYeA= -----證書結束----- --- 伺服器憑證 subject=/C=US/ST=加州/L=聖荷西/O=Linux 核心組織/CN=*.kernel.org 發行人=/C=US/O=Thawte, Inc./CN=Thawte SSL CA --- 未傳送客戶端憑證 CA 名稱 --- SSL握手已讀取3566位元組並寫入636位元組 --- 新功能,TLSv1/SSLv3,密碼為 RC4-SHA 伺服器公鑰是2048位 支援安全重新協商 壓縮:無 擴充:無 SSL 會話: 協定:TLSv1 密碼:RC4-SHA 會話 ID:EAB5C93513AA8829036C7BB9E3F74D99076C8A339EB220832F76DF73D52D0B22 會話 ID-ctx: 主密鑰:0A599E2D1CCAA8249E50871FDF03A2137BA034BCB20FA691D1413822BE08E15303CB0F59CDEC0376D670E08632EF0D46 關鍵參數:無 PSK 身分:無 PSK 身分提示:無 SRP 使用者名稱: 無 TLS 會話票證: 0000 - ac 28 d2 81 da 5e b9 7f-43 52 ab e8 2c b0 ac 1d .(...^..CR..,... 0010 - c0 27 92 cb 5e 0e 1e 36-e4 77 34 bf 34 f8 cb 2f .'..^..6.w4.4../ 0020 - 04 af 1a 9b ea b3 9e 6f-32 44 4b ce d1 b4 2b 42 ......o2DK...+B 0030 - 55 a8 e3 ec 9a 6a 76 5d-c0 84 e0 aa 20 29 ae ac U....jv].... ).. 0040 - 7d 45 2b 3b 56 3c 2e 4b-d3 69 60 c8 fb 67 36 07 }E+;V...;.]p....... 00a0 - de 09 7d bf 3f b9 2c 9c-af 5d b1 af b2 9b bc 7a ..}.?.,..].....z 00b0 - 5e b3 92 26 02 3a 0e 47-c9 4b 10 6c 5b f4 2f c3 ^..&.:.GKl[./. 開始時間:1380663897 超時:300(秒) 驗證回傳碼:20(無法取得本機發行者憑證) ---
我會新增證書 2(最後一個)。我不需要證書 1,因為它是一個鏈證書,並且被證書 2 授權為鏈證書。
答案2
如果它對任何人有幫助,我也遇到類似的問題,但解決方法略有不同。我的公司代理使用中間自簽名憑證。這不僅在我的虛擬機器中的命令列程式中很明顯,而且在瀏覽器中也很明顯。透過在瀏覽器中導航到外部網站(Chromiumim),我看到了不受信任的訊息,因為該網站正在使用中間自簽名憑證。點擊 URL 欄中的鎖定圖示區域,我可以下載中間憑證。然後我就按照以下說明進行操作。此修復全域適用於命令列程式和瀏覽器等。
https://wiki.archlinux.org/title/User:Grawity/Adding_a_trusted_CA_certificate