共用方式為


IChannelCredentials 介面

定義

允許在服務 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 認證。

適用於