2015-05-08 36 views
2

如何提供使用SSL客戶端證書進行HTTPS請求所需的所有詳細信息?如何通過HTTPS使用客戶端證書?

+0

這可能會成爲一個很好的常見問題,因爲有時候,Ruby文檔和示例sux。我完全避免了Ruby,因爲作爲閱讀本書的初學者,我無法弄清楚如何獲得基本的安全服務。不幸的是,我不知道如何將其標記爲常見問題項目。 – jww

回答

1

好吧,所以我看了一遍,找到了我需要的東西。我想爲任何正在掙扎的人提供這個。所有的文件都是以PEM格式存儲的。我使用client.key文件來創建一個提供給服務器管理員的CSR。作爲回報,我得到了一個P7B文件,然後我需要將其轉換成PEM文件。 root.cerclient.cer文件來自P7b。

uri = URI.parse(my_url_stril) 
    http = Net::HTTP.new(uri.host, uri.port) 
    http.use_ssl = true 
    http.cert = OpenSSL::X509::Certificate.new(File.read("client.cer")) 
    http.ca_file = 'root.cer' 
    http.key = OpenSSL::PKey::RSA.new(File.read("client.key")) 
    request = Net::HTTP::Post.new(uri.request_uri) 
    request.body = body 
    response = http.request(request) 

讓我知道你是否需要更多的細節!

+0

哇,這是一個快速的答案...幾乎就像你問這個問題,以便你可以回答它。 :) –

+0

@DavidHoelzer我做到了!他們同時發佈。 –

+0

@jww 2我需要的突破。解析p7b(需要一臺PC來完成),然後你問我.key文件。一旦我從p7b中獲得client.cert並加載.key文件,一切都奏效了!我甚至不需要對密碼做任何事情。非常感謝!!你可以DM以某種方式嗎? –

相關問題