亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

如何使用SSL調用Web服務
2005-11-30   

Web 服務與其客戶端應用程序之間進行通信時,通常會攜帶一些機密信息,它們可利用安全套接字層 (SSL) 協議所帶來的數據完整性和保密性。本章介紹如何配置 ASP.NET Web 服務,從而要求客戶端在所有的通信中都使用 SSL。此外,本章還展示了如何使用 HTTPS 協議從 ASP.NET 客戶端應用程序調用該 Web 服務。

注意:本文中的信息還適用于由 ASP.NET 和 Microsoft® Internet 信息服務 (IIS) 承載(使用 .NET Remoting 技術)的遠程對象。

創建一個簡單的 Web 服務

您將在此過程中創建一個簡單的 Web 服務,供測試之用。

在 Web 服務主機上創建一個簡單的 Web 服務

1.

啟動 Visual Studio .NET,創建一個新的名為 SecureMath 的 Visual C# ASP.NET Web 服務應用程序。

2.

將 service1.asmx 重命名為 math.asmx。

3.

打開 math.asmx.cs 并將 Service1 類重命名為 math

4.

將下面的 Web 方法添加到 math 類。

[WebMethod]
public long Add(long operand1, long operand2)
{
return (operand1 + operand2);
}

5.

要創建 Web 服務,在“生成”菜單上單擊“生成解決方案”。

 

將 Web 服務虛擬目錄配置為需要 SSL

您的 Web 服務在 Internet 信息服務 (IIS) 上運行并依賴 IIS 提供 SSL 支持。

此過程假設您在 Web 服務器上安裝了有效的服務器證書。有關安裝 Web 服務器證書的詳細信息,請參見如何在 Web 服務器上設置 SSL。

使用 IIS 配置 Web 服務的虛擬目錄以使用 SSL

1.

在 Web 服務主機上,啟動 IIS

2.

導航到 SecureMath 虛擬目錄。

3.

右鍵單擊 SecureMath,然后單擊“屬性”。

4.

單擊“目錄安全性”選項卡。

5.

單擊“安全通信”下的“編輯”。
如果無法使用“編輯”,則可能沒有安裝 Web 服務器證書。

6.

選擇“要求安全通道 (SSL)”復選框。

7.

單擊“確定”,然后再次單擊“確定”。

8.

在“繼承覆蓋”對話框中,單擊“全選”,然后單擊“確定”以關閉 SecureMath 屬性對話框。
這會將新的安全設置應用于虛擬根目錄下的所有子目錄。

 

使用瀏覽器測試 Web 服務

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

使用 SSL 從 Internet Explorer 調用 Web 服務

1.

在客戶端計算機上啟動 Internet Explorer 并(使用 HTTPS)瀏覽到 Web 服務。例如:

https://WebServer/securemath/math.asmx

瀏覽器應該顯示 Web 服務測試頁。

2.

如果成功顯示了 Web 服務測試頁,就關閉 Internet Explorer 并轉到過程“開發一個 Web 應用程序以調用服務組件”。

3.

如果顯示的是“安全警報”對話框(如圖 1 所示),單擊“查看證書”查看頒發 Web 服務器證書的 CA 的身份。您必須在客戶端計算機上安裝該 CA 的證書。過程“在客戶端計算機上安裝證書頒發機構的證書”對此進行了說明。

4.

關閉 Internet Explorer。

“安全警報”對話框

圖 1
“安全警報”對話框

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

此過程在客戶端計算機上安裝 CA 所頒發的證書,并將該 CA 作為受信任的根證書頒發機構。客戶端計算機必須信任該頒發證書的 CA,以便接受服務器證書,但不顯示“安全警報”對話框。

如果在 Windows 域中使用 Microsoft 證書服務作為 CA

1.

僅在您的 Web 服務器證書是由 Microsoft 證書服務 CA 頒發的情況下,才需執行此過程。否則,如果您有 CA 的 .cer 文件,請轉到第 8 步。

2.

啟動 Internet Explorer 并瀏覽到 http://hostname/certsrv,其中 hostname 是頒發服務器證書的 Microsoft 證書服務所在計算機的名稱。

3.

單擊“檢索 CA 證書或證書吊銷列表”,然后單擊“下一步”。

4.

單擊“安裝此 CA 證書路徑”。

5.

在“根證書存儲”對話框中,單擊“是”。

6.

使用 HTTPS 瀏覽到 Web 服務。例如:

https://WebServer/securemath/math.asmx

瀏覽器中現在應該正確顯示 Web 服務測試頁,而不顯示“安全警報”對話框。

現在您已經在個人受信任根證書存儲中安裝了 CA 的證書。您必須將 CA 的證書添加到計算機的受信任根存儲中,然后才能夠從 ASP.NET 頁成功調用 Web 服務。

7.

重復第 1 步和第 2 步,單擊“下載 CA 證書”,然后將其保存到本地計算機上的某個文件中。

8.

現在執行其余步驟。

如果有 CA 的 .cer 證書文件

9.

在任務欄上,單擊“開始”,然后單擊“運行”。

10.

鍵入“mmc”,然后單擊“確定”。

11.

在“控制臺”菜單上,單擊“添加/刪除管理單元”。

12.

單擊“添加”。

13.

選擇“證書”,然后單擊“添加”。

14.

選擇“計算機帳戶”,然后單擊“下一步”。

15.

選擇“本地計算機 (運行這個控制臺的計算機):”,然后單擊“完成”。

16.

單擊“關閉”,然后單擊“確定”。

17.

在 MMC 管理單元的左窗格中展開“證書 (本地計算機)”。

18.

展開“受信任的根證書頒發機構”。

19.

右鍵單擊“證書”,指向“所有任務”,然后單擊“導入”。

20.

單擊“下一步”跳過“證書導入向導”的“歡迎”對話框。

21.

輸入 CA 的 .cer 文件的路徑和文件名。

22.

單擊“下一步”。

23.

選擇“將所有的證書放入下列存儲區”,然后單擊“瀏覽”。

24.

選擇“顯示物理存儲區”。

25.

在列表中展開“受信任的根證書頒發機構”,然后選擇“本地計算機”。

26.

依次單擊“確定”、“下一步”以及“完成”。

27.

單擊“確定”關閉確認消息框。

28.

在 MMC 管理單元中刷新“證書”文件夾的視圖,確認該 CA 的證書已列出。

29.

關閉 MMC 管理單元。

 

開發一個 Web 應用程序以調用 Web 服務

本過程創建一個簡單的 ASP.NET Web 應用程序。您將使用此 ASP.NET Web 應用程序作為客戶端應用程序來調用 Web 服務。

創建一個簡單的 ASP.NET Web 應用程序

1.

在 Web 服務客戶端計算機上,創建一個新的名為 SecureMathClient 的 C# ASP.NET Web 應用程序。

2.

(使用 HTTPS)添加對 Web 服務的 Web 引用。

1.

右鍵單擊解決方案資源管理器中的“引用”節點,然后單擊“添加 Web 引用”。

2.

在“添加 Web 引用”對話框中,輸入 Web 服務的 URL。確保使用 HTTPS URL。

注意:如果您已經設置了對 Web 服務的 Web 引用但沒有使用 HTTPS,您可以手動編輯生成的代理類文件并更改代碼行,將 Url 屬性的設置從 HTTP URL 更改為 HTTPS URL。

3.

單擊“添加引用”。

3.

打開 WebForm1.aspx.cs 并在現有 using 語句之下添加下面的 using 語句。

using SecureMathClient.WebReference1;

4.

在“設計器”模式下查看 WebForm1.aspx,并使用以下 ID 創建一個與圖 2 類似的窗體:

operand1

operand2

result

add

WebForm1.aspx 窗體

圖 2
WebForm1.aspx 窗體

5.

雙擊“Add”按鈕,創建一個按鈕單擊事件處理程序。

6.

將下面的代碼添加到該事件處理程序中。

private void add_Click(object sender, System.EventArgs e)
{
  math mathService = new math();
  int addResult = (int) mathService.Add( Int32.Parse(operand1.Text), 
                                         Int32.Parse(operand2.Text));
  result.Text = addResult.ToString();
}

7.

在“生成”菜單上,單擊“生成解決方案”。

8.

運行該應用程序。輸入要相加的兩個數,然后單擊“Add”按鈕。該 Web 應用程序將使用 SSL 調用 Web 服務。


熱詞搜索:

上一篇:如何在Web服務器上設置SSL
下一篇:如何使用SSL來確保與SQL Server 2000安全通信

分享到: 收藏