2017-08-03 234 views
6

我遇到執行後面的企業代理服務器和自簽署的CA證書流浪命令的問題。我配置了環境變量HTTP_PROXY,HTTPS_PROXY和HTTP_NO_PROXY變量。配置流浪CA證書

我有一個包含所有企業證書的一個Java密鑰存儲。我使用了許多選項的keytool命令的-exportcert選項。我已經使用了openssl命令,並有很多選項,並將結果文件放在Vagrant安裝的嵌入式Ruby目錄中的多個位置,沒有任何成功。

我已經讀了很多關於含有配置Ruby和捲曲的信息的網站,但還沒有在得到命令流浪工作取得任何成功。所有我已經找到專注於Ruby和捲曲選項職位,我不明白如何與流浪者,其中包括紅寶石作爲流浪的嵌入式組件使用的。

請提供有關如何正確地從Java密鑰庫導出證書的說明和可選轉換它們,並把生成的文件,這樣流浪能夠成功能夠通過企業代理網絡進行通信。

流浪1.9.5在Windows 7

流浪安裝目錄C:\ APPS \流浪\

C:\WorkArea> vagrant plugin install vagrant.proxyconf 

ERROR: SSL verification error at depth 3: self signed certificate in certificate chain (19) 
ERROR: Root certificate is not trusted (/C=US/O=xxx xxx/OU=xxx xxx Certification Authority/CN=xxx xxx Root Certification Authority 01 G2) 
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz) 

C:\WorkArea> vagrant up 

Bringing machine 'default' up with 'virtualbox' provider... 
==> default: Box 'puppetlabs/ubuntu-16.04-64-puppet' could not be found. Attempting to find and install... 
    default: Box Provider: virtualbox 
    default: Box Version: >= 0 
The box 'puppetlabs/ubuntu-16.04-64-puppet' could not be found or 
could not be accessed in the remote catalog. If this is a private 
box on HashiCorp's Atlas, please verify you're logged in via 
`vagrant login`. Also, please double-check the name. The expanded 
URL and error message are shown below: 
URL: ["https://atlas.hashicorp.com/puppetlabs/ubuntu-16.04-64-puppet"] 
Error: SSL certificate problem: self signed certificate in certificate chain 
More details here: http://curl.haxx.se/docs/sslcerts.html 
curl performs SSL certificate verification by default, using a "bundle" 
of Certificate Authority (CA) public keys (CA certs). If the default 
bundle file isn't adequate, you can specify an alternate file 
using the --cacert option. 
If this HTTPS server uses a certificate signed by a CA represented in 
the bundle, the certificate verification probably failed due to a 
problem with the certificate (it might be expired, or the name might 
not match the domain name in the URL). 
If you'd like to turn off curl's verification of the certificate, use 
the -k (or --insecure) option. 
+0

你可以分享你的'Vagrantfile'信息? – Haranadh

回答

3

你不解釋,你所採取的試圖解決這個問題是什麼步驟,但這似乎是你沒有把你的根證書放在correct location

轉到您安裝放浪的目錄中,找到該文件embedded\cacert.pem,然後你的企業證書的內容附加到文件中。保存並重試操作。如果您正確導出了根CA證書,則應該由Vagrant讀取它們並允許連接。

如果您仍然無法通過合併文件使其工作,請嘗試在環境中運行vagrantSSL_CERT_FILE=/path/to/your/certs.pem。這將允許您驗證您是否正確導出了您的公司證書。

+2

這應該是問題的答案。關於如何導出證書的一些說明。在Windows中使用Internet Explorer,可以做到以下幾點:'互聯網Options'>'內容Tab'>'Certificates'按鈕>'受信任的根證書頒發Authorities'標籤>選擇您的證書>'Export'按鈕>下一頁>'BASE-64編碼X.509'>選擇文件位置/名稱>下一步>完成。右鍵單擊該文件並在選擇的文本編輯器中打開並複製數據並粘貼到「embedded \ cacert.pem」文件的末尾。在此之後,我不得不通過控制檯登錄到無家可歸者,然後'vagrant up'工作。 – fujiiface