IChannelCredentials 介面
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
允許在服務 Proxy 上設定特定安全性功能的介面。
public interface class IChannelCredentials
[System.Runtime.InteropServices.Guid("181b448c-c17c-4b17-ac6d-06699b93198f")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIDispatch)]
public interface IChannelCredentials
[<System.Runtime.InteropServices.Guid("181b448c-c17c-4b17-ac6d-06699b93198f")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIDispatch)>]
type IChannelCredentials = interface
Public Interface IChannelCredentials
- 屬性
範例
monString = "service:mexAddress=http://localhost:8000/ServiceModelSamples/Service?wsdl"
monString = monString + ", address=http://localhost:8000/ServiceModelSamples/Service"
monString = monString + ", binding=BasicHttpBinding_ICalculator, bindingNamespace=http://Microsoft.ServiceModel.Samples"
monString = monString + ", contract=ICalculator, contractNamespace=http://Microsoft.ServiceModel.Samples"
Set monikerProxy = GetObject(monString)
'Set the Service Certificate.
monikerProxy.ChannelCredentials.SetServiceCertificateAuthentication "CurrentUser", "NoCheck", "PeerOrChainTrust"
monikerProxy.ChannelCredentials.SetDefaultServiceCertificateFromStore "CurrentUser", "TrustedPeople", "FindBySubjectName", "localhost"
'Set the Client Certificate.
monikerProxy.ChannelCredentials.SetClientCertificateFromStoreByName "CN=client.com", "CurrentUser", "My"
MsgBox monikerProxy.Add(3, 4)
備註
未受管理的用戶端會使用 "service" 標記來存取 Windows Communication Foundation (WCF) 服務。 這些用戶端受限於 WCF 安全性模型,而不是 COM 安全性模型。 IChannelCredentials 介面是提供用來指定通道認證。 這是必要的,因為 COM 標記無法存取 managed WCF 安全性物件模型。
建立通道之後,呼叫 IChannelCredentials
介面上的方法是不合法的, 這是因為 Windows Communication Foundation (WCF) 不支援變更已開啟之通道上的安全性設定。 當服務 Moniker 用戶端取得 Proxy 時,通道尚未建立。 因此,用戶端在叫用服務方法之前,必須先呼叫 IChannelCredentials
方法。 如果用戶端在叫用服務方法之後呼叫 IChannelCredentials
方法,便會擲回例外狀況 RPC_E_TOO_LATE。
方法
SetClientCertificateFromFile(String, String, String) |
從檔案擷取憑證,並將其新增至用戶端認證。 |
SetClientCertificateFromStore(String, String, String, Object) |
從憑證存放區擷取憑證,並將其新增至用戶端認證。 |
SetClientCertificateFromStoreByName(String, String, String) |
依名稱從憑證存放區擷取憑證,並將其新增至用戶端認證。 |
SetDefaultServiceCertificateFromFile(String, String, String) |
從檔案擷取憑證,並將其新增至服務認證做為預設憑證。 |
SetDefaultServiceCertificateFromStore(String, String, String, Object) |
從憑證存放區擷取憑證,並將其新增至服務認證做為預設憑證。 |
SetDefaultServiceCertificateFromStoreByName(String, String, String) |
依名稱從憑證存放區中擷取憑證,並將其新增至服務認證作為預設憑證。 |
SetIssuedToken(String, String, String) |
為發行的語彙基元設定參數。 |
SetServiceCertificateAuthentication(String, String, String) |
設定服務憑證驗證參數。 |
SetUserNameCredential(String, String) |
設定使用者名稱認證。 |
SetWindowsCredential(String, String, String, Int32, Boolean) |
設定 Windows 認證。 |