Поделиться через


IChannelCredentials Интерфейс

Определение

Экземпляр, обеспечивающий настройку определенных возможностей безопасности в прокси-службы.

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)  

Комментарии

Неуправляемые клиенты используют моникер "служба" для доступа к службам Windows Communication Foundation (WCF). Эти клиенты подчиняются модели безопасности WCF, а не модели безопасности COM. Интерфейс IChannelCredentials предоставляется для указания учетных данных канала. Это необходимо, так как моникер COM не может получить доступ к управляемой объектной модели безопасности WCF.

Недопустимо вызывать методы в интерфейсе IChannelCredentials после создания канала. Это связано с тем, что Windows Communication Foundation (WCF) не поддерживает изменение параметров безопасности в уже открытом канале. Когда клиент моникера службы получает прокси, канал еще не создан. Таким образом, клиент должен вызвать методы 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.

Применяется к