如何使用SSL呼叫Web服務

2021-06-15 19:30:17 字數 1920 閱讀 9718

如何使用ssl呼叫web服務

【2006-03-24 13:48】

資訊,它們可利用安全套接字層 (ssl) 協議所帶來的資料完整性和保密性。本文介紹如何配置 asp.net web 服務,從而要求客戶端在所有的通訊中都使用 ssl。此外,本文還展示了如何使用 https 協議從 asp.net 客戶端應用程式呼叫該 web 服務。

注意:本文中的資訊還適用於由 asp.net 和 microsoft® internet 資訊服務 (iis) 承載(使用 .net remoting 技術)的遠端物件。

建立乙個簡單的 web 服務

您將在此過程中建立乙個簡單的 web 服務,供測試之用。

•在 web 服務主機上建立乙個簡單的 web 服務

[webmethod]

public long add(long operand1, long operand2)

將 web 服務虛擬目錄配置為需要 ssl

您的 web 服務在 internet 資訊服務 (iis) 上執行並依賴 iis 提供 ssl 支援。

此過程假設您在 web 伺服器上安裝了有效的伺服器證書。有關安裝 web 伺服器證書的詳細資訊,請參見如何在 web 伺服器上設定 ssl。

•使用 iis 配置 web 服務的虛擬目錄以使用 ssl

這會將新的安全設定應用於虛擬根目錄下的所有子目錄。

使用瀏覽器測試 web 服務

此過程確保 web 伺服器證書是有效的,而且已經由客戶端計算機所信任的證書頒發機構 (ca) 頒發。

•使用 ssl 從 internet explorer 呼叫 web 服務

「安全警報」對話方塊

在客戶端計算機上安裝證書頒發機構的證書

此過程在客戶端計算機上安裝 ca 所頒發的證書,並將該 ca 作為受信任的根證書頒發機構。客戶端計算機必須信任該頒發證書的 ca,以便接受伺服器證書,但不顯示「安全警報」對話方塊。

•如果在 windows 域中使用 microsoft 證書服務作為 ca

開發乙個 web 應用程式以呼叫 web 服務

本過程建立乙個簡單的 asp.net web 應用程式。您將使用此 asp.net web 應用程式作為客戶端應用程式來呼叫 web 服務。

•建立乙個簡單的 asp.net web 應用程式

1.在 web 服務客戶端計算機上,建立乙個新的名為 securemathclient 的 c# asp.net web 應用程式。

2.(使用 https)新增對 web 服務的 web 引用。

注意:如果您已經設定了對 web 服務的 web 引用但沒有使用 https,您可以手動編輯生成的**類檔案並更改**行,將 url 屬性的設定從 http url 更改為 https url。

3.開啟 webform1.aspx.cs 並在現有 using 語句之下新增下面的 using 語句。

using securemathclient.webreference1;

4.在「設計器」模式下檢視 webform1.aspx,並使用以下 id 建立乙個與圖 2 類似的窗體:

•operand1

•operand2

•result

•add

圖 2webform1.aspx 窗體

5.雙擊「add」按鈕,建立乙個按鈕單擊事件處理程式。

6.將下面的**新增到該事件處理程式中。

private void add_click(object sender, system.eventargs e)

7.在「生成」選單上,單擊「生成解決方案」。

8.執行該應用程式。輸入要相加的兩個數,然後單擊「add」按鈕。該 web 應用程式將使用 ssl 呼叫 web 服務。

動態呼叫web服務

通常我們在程式中需要呼叫webservice時,都是通過 新增web引用 讓vs.net環境來為我們生成服務 然後呼叫對應的web服務。這樣是使工作簡單了,但是卻和提供web服務的url 方法名 引數繫結在一起了,這是vs.net自動為我們生成web服務 的限制。如果哪一天發布web服務的url改變...

動態呼叫web服務

通常我們在程式中需要呼叫webservice時,都是通過 新增web引用 讓vs.net環境來為我們生成服務 然後呼叫對應的web服務。這樣是使工作簡單了,但是卻和提供web服務的url 方法名 引數繫結在一起了,這是vs.net自動為我們生成web服務 的限制。如果哪一天發布web服務的url改變...

Web服務呼叫例項

用webservice實現天氣預報的查詢 這是獲取天氣web服務 書上。1。請在 根目錄下新增乙個 web服務 命名為 weather 注意別建成aspx 頁面。using system using system.web using system.collections using system.w...