我目前正在使用rails構建新的基於Web的系統以取代傳統的.NET解決方案(獨立的Win32應用程序)。該系統允許分析人員執行多項操作。在很多情況下,用戶請求實際上是通過調用第三方Web服務來服務的。 Web服務使用由第三方發佈的X.509證書進行保護。在.NET代碼,以使呼叫低於:帶有x.509證書的Web服務。將C#代碼移植到Rails中
(在Visual Studio中,我已經宣佈在相應的URL稱爲 'ProductionServices' 網絡/服務引用)
X509Certificate2 c = new X509Certificate2("filepath", "password");
using (ProductionServices.Items items = new ProductionServices.Items())
{
try
{
//specify client certificate if needed
if (c != null)
items.ClientCertificates.Add(c);
XmlNode node = null;
node = items.getItemList();
XmlDocument xd = new XmlDocument();
xd.AppendChild(xd.ImportNode(node, true));
.......
}
所以,在這一點上,我們有我們的導軌應用程序看起來不錯,拋光。不過,我現在需要在rails中複製上面的.NET邏輯,以便我可以將該Web服務數據也放到我的視圖中。我發現瞭如何做到這一點的非常基本的例子,但從來沒有一個使用客戶端證書的好例子。任何人都可以將我指向正確的方向嗎?
任何幫助是極大的讚賞。
謝謝。
好的,謝謝。這是一個很大的幫助。我雖然注意到一件事是,例如使用PEM文件,而我的證書的.p12。我做了一些研究,發現爲了使用這個例子,我需要中.P12容器文件不知何故闖入其.KEY和。質子交換膜的部分。或者你知不知道這是否應該使用OpenSSL的做,如果網:HTTP有一個更優雅的開箱即用的方式來處理以.p12證書? – ParserDoer
不幸的是我不能說,我不熟悉的格式。 –