WCF sunucusunu ve istemciyi, BasicHttpBinding kullanarak taşıma düzeyinde SSL sertifikalarını kullanarak birbirlerini karşılıklı olarak kimlik doğrulaması yapmaya çalışıyorum. İşte sunucu hazırlandı elde ettiğini nasıl:BasicHttpBinding - hata "yasak"?
var soapBinding = new BasicHttpBinding() { Namespace = "http://test.com" };
soapBinding.Security.Mode = BasicHttpSecurityMode.Transport;
soapBinding.Security.Transport.ClientCredentialType =
HttpClientCredentialType.Certificate;
var sh = new ServiceHost(typeof(Service1), uri);
sh.AddServiceEndpoint(typeof(IService1), soapBinding, "");
sh.Credentials.ServiceCertificate.SetCertificate(
StoreLocation.LocalMachine, StoreName.My,
X509FindType.FindBySubjectName, "localhost");
sh.Open();
İşte müvekkilimiz: localhost için
var binding = new BasicHttpBinding();
binding.Security.Mode = BasicHttpSecurityMode.Transport;
var service = new ServiceReference2.Service1Client(binding,
new EndpointAddress("https://localhost:801/Service1"));
service.ClientCredentials.ClientCertificate.SetCertificate(
StoreLocation.LocalMachine, StoreName.My,
X509FindType.FindBySubjectName, "localhost");
service.ClientCredentials.ServiceCertificate.Authentication.
CertificateValidationMode =
System.ServiceModel.Security.X509CertificateValidationMode.PeerTrust;
service.HelloWorld();
Belgesi Kişisel, Güvenli Kök ve Güvenilen 3. Taraf kaplarda olduğunu. Internet Explorer ana bilgisayara bağlanabilir ve WSDL'yi görebilir. Bir rethrown istisna olduğu
System.ServiceModel.Security.MessageSecurityException occurred<br/>
Message="The HTTP request was forbidden with client authentication
scheme 'Anonymous'."
:: Ayrıca, SSL aramaları ClientCredentialType = HttpClientCredentialType.None
HelloWorld() sorunsuz şekilde çalışır başarısız olur "Uzak sunucu hata döndürdü:. (403) Yasak"
wtf'nin nasıl devam ettiğini öğrenmek nasıl oluyor?
o kadar kolay oldu ve bunu anlayamadım :( – galets
Ben aynı sorun var ama inanamıyorum app.config sahip olduğu: aktarım öğesinde :-( –
Ronnie
Benzer bir sorunu çözmeye çalışıyorum - Kodunuzu denedim ancak "hizmet referansı ekle" istemcisinde çalışmadı . Bütün çözümünüzü ekleyebileceğinizi sanmıyorum? – user1229458