簡體   English   中英

連接到OData服務時,通過代碼附加客戶端證書

[英]attach a client certificate through code when connecting to an OData service

我正在嘗試查詢IIS7上托管的odata web.api。 該站點需要客戶端證書。 如何將證書附加到查詢? 使用web.api 2,框架4.5,mvc5

string certPath = @"E:\ClientCertificate.cer";

Uri uri = new Uri("https://server/odata/"); 
var container = new CourseService.Container(uri);
container.ClientCertificate = new X509Certificate(certPath);

通過閱讀以下內容可以實現對容器類的擴展: http : //bartwullems.blogspot.co.uk/2013/03/odata-attach-client-certificate-through.htm

您可以自己將證書附加到SendRequest2事件中的請求中:

    context.SendingRequest2 += (sender, eventArgs) =>
        {
            // We can safely cast RequestMessage to HttpWebRequestMessage if this is not in batch.
            if (!eventArgs.IsBatchPart)
            {
                ((HttpWebRequestMessage)eventArgs.RequestMessage).HttpWebRequest.ClientCertificates.Add(theCertificate);
            }
        };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM