偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

WCF X.509證書驗證提高安全級別

開發(fā) 開發(fā)工具
今天我們將會在這里為大家詳細介紹一下有關WCF X.509證書驗證的應用方法,希望本文介紹的內(nèi)容可以給大家?guī)硪恍椭?/div>

WCF中,有一種驗證機制是通過證書來進行的。這種安全機制可以為我們打造一個安全性非常高的解決方案。在這篇文章中,我們將會為大家詳細介紹一下WCF X.509證書驗證的相關應用方法。#t#

最近在配WCF X.509證書驗證,我想在服務端實現(xiàn)SSL加密,然后當客戶端調(diào)用服務時,需要出示自己的數(shù)字證書以證明自己是合法的用戶。配置過程很麻煩,不像書上說的那樣。我總結(jié)了一下有如下幾點需要注意。

在IIS部分,對于有服務器證書的WCF服務站點,可以要求SSL連接,128位加密,但是不能要求客戶端證書。在WCF服務部分,不能使用wsDualHttpBinding,應為它一個通道SSL,另一個通道不能保證安全,在服務運行時會抱錯。

配置過程大致有以下幾步:

1。配置IIS SSL服務器證書

2。獲取并設置客戶端證書

3。配置WCF的服務端和客戶端

上述第1步,涉及到IIS的應用,不是本文重點,相信玩過IIS和證書頒發(fā)機構(gòu)的朋友都不陌生,不做敘述了。第2步的中獲取證書也是比較容易的,配置證書就比較麻煩,新證書一般默認安裝到本機的Current_User\My下,非系統(tǒng)管理員無法獲取其私鑰,而WCF客戶端又需要獲取該證書私鑰以向服務端證明自己的身份,而且WCF客戶端運行時使用的是非本機管理員帳號,這就導致了WCF會報出無法找到證書的錯誤。解決這個問題,我們需要使用名為“Windows HTTP 服務證書配置工具”(WinHttpCertCfg.exe) 的工具為證書指定權(quán)限。該工具包含在Windows Server 2003 Resource Kit Tools可以到微軟下載,地址是:http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96eeb18c4790cffd&displaylang=en 下載好后在命令行類似下面的命令

WinHttpCertCfg.exe -g -c CURRENT_USER\MY -s "Issued_To_name" -a DOMAIN\account

就是說給account帳號賦予獲取私鑰的權(quán)限,可用ASPNET,NETWORKSERVICE等,-s后面是要搜索的條件。在分配完權(quán)限后,最好關掉IIS的進程,這樣設置生效比較快 ,同樣我們也需要配置服務所需的WCF X.509證書驗證。

做完了第2步,第3步就好辦了,貼一下我的配置服務端

  1. < behaviors> 
  2. < serviceBehaviors> 
  3. < behavior name="MemberServiceBehavior"> 
  4. < serviceMetadata httpGetEnabled="false" httpsGetEnabled="true"> 
  5. < serviceDebug includeExceptionDetailInFaults="false"/> 
  6. < serviceCredentials> 
  7. < serviceCertificate storeName="My" storeLocation="LocalMachine" 
    x509FindType="FindBySubjectName"   
  8. findValue="membershipapi"/> 
  9. < /serviceCredentials> 
  10. < /behavior> 
  11. < /serviceBehaviors> 
  12. < /behaviors> 

 

 

  1. < bindings> 
  2. < wsHttpBinding> 
  3. < binding name="wsHttpCredentialBinding"> 
  4. < security mode="TransportWithMessageCredential"> 
  5. < transport clientCredentialType="Certificate"/> 
  6. < message clientCredentialType="Certificate" /> 
  7. < /security> 
  8. < /binding> 
  9. < /wsHttpBinding> 
  10. < /bindings> 

客戶端

  1. < behaviors> 
  2. < endpointBehaviors> 
  3. < behavior name="clientCredentialBehavior"> 
  4. < clientCredentials> 
  5. < clientCertificate storeName="My" storeLocation="CurrentUser" 
    findValue="MemberApiClient" x509FindType="FindBySubjectName" /> 
  6. < serviceCertificate> 
  7. < authentication certificateValidationMode="ChainTrust"/> 
  8. < /serviceCertificate> 
  9. < /clientCredentials> 
  10. < /behavior> 
  11. < /endpointBehaviors> 
  12. < /behaviors> 

我這樣的配置雖然客戶端在不提供WCF X.509證書驗證的情況下仍然能夠看到服務的元數(shù)據(jù)終結(jié)點(主要是因為IIS沒有配置為要求客戶端證書),但是在調(diào)用服務時如果沒有證書,就會抱錯,目的基本達到。

最后我想說一下,書上講authentication certificateValidationMode配置為PreeTrust比較好,只要在信任的人的列表里就可以通過驗證,可是經(jīng)過我的試驗似乎不是這樣,在我的客戶端和服務中,authentication certificateValidationMode值配置為PreeTrust或ChainTrust沒有什么區(qū)別,客戶端都需要將證明自己的WCF X.509證書驗證找出來,提供給服務,不然就要抱錯。

責任編輯:曹凱 來源: 博客園
相關推薦

2013-08-30 10:54:53

2009-02-23 20:31:31

計算機英語短文X.509

2010-04-14 09:38:49

Windows SerIE安全級別

2011-12-09 09:31:58

桌面虛擬化

2013-07-18 11:00:59

山石網(wǎng)科

2009-09-04 16:21:37

Ruby on Rai

2022-03-18 10:23:11

元宇宙ARVR

2013-04-25 10:11:12

托管虛擬桌面HVDGartner

2022-08-16 12:09:21

身份驗證MFA

2013-10-22 10:24:05

2009-12-22 18:52:06

WCF安全性

2011-08-19 12:17:46

2010-09-16 09:33:14

無線路由器

2015-07-28 14:00:46

云整合云安全

2011-08-11 11:08:09

2017-12-08 21:26:52

物聯(lián)網(wǎng)DDI安全性

2009-11-16 16:25:36

2020-04-01 11:38:13

物聯(lián)網(wǎng)安全微分段IOT

2016-06-03 10:32:53

2019-06-17 08:43:46

安全測試網(wǎng)絡安全攻擊
點贊
收藏

51CTO技術棧公眾號