Я пытаюсь использовать wcf для выполнения SOAP-вызова с обоими сертификатами, но все равно получаю ошибки
'Запрос был прерван: не удалось создать безопасный канал SSL / TLS.'или
'Удаленный сервер возвратил ошибку: (500) Внутренняя ошибка сервера Отсутствует wsse: заголовок безопасности в запросе'
Аналогичный запрос выполняется в пользовательском интерфейсе SOAP, но n C # не хочет проходить. Я также посмотрел, что именно отправляется, и обнаружил, что мыльный envolope действительно отсутствует wsse: Безопасность в заголовках. Как я могу заставить это работать?
WSHttpBinding myBinding = new WSHttpBinding();
myBinding.Security.Mode = SecurityMode.Transport;
myBinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Certificate;
EndpointAddress ea = new EndpointAddress("https://[securedEndpoint]/Calculator");
CalculatorClient cc = new CalculatorClient(myBinding, ea);
cc.ClientCredentials.ClientCertificate.SetCertificate(
StoreLocation.CurrentUser,
StoreName.Root,
X509FindType.FindBySerialNumber,
"37802b632e74e355");
cc.ClientCredentials.ServiceCertificate.SetDefaultCertificate(
StoreLocation.CurrentUser,
StoreName.Root,
X509FindType.FindBySerialNumber,
"29f3e22fc1ae45be");
// Begin using the client.
try
{
cc.Open();
Console.WriteLine(cc.Add(200, 1111));
Console.ReadLine();
// Close the client.
cc.Close();
}