WCF TCP Транспортная безопасность и WIF - PullRequest
2 голосов
/ 06 сентября 2011

Моя компания использует WIF (Windows Identity Foundation) для защиты наших сервисов. В настоящее время мы используем только WIF поверх HTTPS. Однако нам нужно защитить конечную точку TCP, и у меня возникают некоторые проблемы.

Я получаю следующее исключение:


The '{binding name}'.'http://tempuri.org/' binding for the '{IService}'.
'http://tempuri.org/' contract is configured with an authentication mode that requires 
transport level integrity and confidentiality. However the transport cannot provide 
integrity and confidentiality.

Чтобы получить WIF-изображение, мы должны сделать это внутри хоста службы:


var istp = new IssuedSecurityTokenParameters(_TokenType, _IssuerAddress, _IssuerBinding) // issuer address/binding do not matter for this, but must provide something
{
    RequireDerivedKeys = false, 
    KeyType = System.IdentityModel.Tokens.SecurityKeyType.BearerKey
}; 

TransportSecurity = new TransportSecurityBindingElement();
TransportSecurity.EndpointSupportingTokenParameters.Signed.Add(istp);
TransportSecurity.MessageSecurityVersion = MessageSecurityVersion.WSSecurity11WSTrust13WSSecureConversation13WSSecurityPolicy12; 

Я не могу удалить эти строки кода, но я не знаю, какую конфигурацию мне не хватает, чтобы заставить это работать с TCP. Любая помощь была бы великолепна.

...