0
我必須從remore服務器檢索並下載本地環境證書鏈。 我可以使用瀏覽器嵌入式服務,但據我所知,這種方法不適用於證書鏈(或有一些瓶頸)。這就是爲什麼我想使用的OpenSSL以下命令:如何通過openssl檢索證書鏈
openssl s_client -showcerts -connect host.host:9999
這將打印出像適當證書信息:
CONNECTED(0000015C) depth=1 /C=US/O=Google Inc/CN=Google Internet Authority verify error:num=20:unable to get local issuer certificate verify return:0 --- Certificate chain 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=google.com i:/C=US/O=Google Inc/CN=Google Internet Authority -----BEGIN CERTIFICATE----- MIIcFzCCG4CgAwIBAgIGR09PUAFxMA0GCSqGSIb3DQEBBQUAMEYxCzAJBgNVBAYT -----END CERTIFICATE----- 1 s:/C=US/O=Google Inc/CN=Google Internet Authority i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority -----BEGIN CERTIFICATE----- MIICsDCCAhmgAwIBAgIDC2dxMA0GCSqGSIb3DQEBBQUAME4xCzAJBgNVBAYTAlVT -----END CERTIFICATE----- --- Server certificate subject=/C=US/ST=California/L=Mountain View/O=Google Inc/CN=google.com issuer=/C=US/O=Google Inc/CN=Google Internet Authority --- No client certificate CA names sent --- SSL handshake has read 8040 bytes and written 310 bytes
我怎樣才能得到這個.CRT或.CER格式?我可以用適當的擴展名將它複製/粘貼到文本文件中嗎?如果是的話,鏈條的起始和結束在哪裏?
我搜索了一些特定的命令來檢索帶有適當鏈的文件,並從命令行復制粘貼。我解決方案 - 使用常規的窗口輸出。 openssl s_client -showcerts -connect host.host:9999 >> tomcat.crt –
*「我不知道'.crt'或'.cer'格式究竟意味着什麼」 - 你必須在行之間讀取,因爲有沒有太多的命名標準。通常,這意味着證書是ASN.1/DER編碼的。但有時他們也是PEM編碼的。我通常使用'.pem'作爲PEM,但我已經看到一些CA在PEM中發佈他們的證書並使用'.crt'或'.cer'格式。 – jww
僅供參考:我一直將所有證書放在'''Java/Sun-JRE/*/customcerts'''目錄中的獨立.pem文件中。我剛剛嘗試將它們組合成一個證書鏈文件,如上所述,而我的應用根本不喜歡它。因人而異 – samwyse