WCF: Transport Security with User Name + Client Certificate
Vast world of WCF provides endless possibilities to handle the security.
This is one interesting scenario, where service needs to get dual layer of credentials.
Along with the valid user name and password, it also expects the client application to send a valid client certificate.
Client Credentials: User Name along with valid Client Certificate
Client end point behavior:
Hope this helps in implementing this interesting security configuration.
ur code doesnot work.Exception occurs
"Could not find a base address that matches scheme https for the endpoint with binding CustomBinding. Registered base address schemes are ."
can u mail me complete code project at my email@example.com
this is my app.config file...i want self hosting..bt ur code doesnot work.Exception occurs
<?xml version="1.0" encoding="utf-8" ?>
<service name="WcfService1.Service1" behaviorConfiguration="CustomValidator" >
<endpoint address="" binding="customBinding" bindingConfiguration="custom" name="custom" contract="WcfService1.IService1" />
<serviceMetadata httpGetEnabled="false" httpsGetEnabled="true"/>
<serviceDebug includeExceptionDetailInFaults="true" />
<authentication certificateValidationMode="Custom" customCertificateValidatorType="WcfService1.Certificatevalidator,WcfService1"/>
now service is running but get exception wen add service refernce
There was an error downloading 'https://localhost:8083/TestWCFService'.
The underlying connection was closed: An unexpected error occurred on a send.
Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
An existing connection was forcibly closed by the remote host
Metadata contains a reference that cannot be resolved: 'https://localhost:8083/TestWCFService'.
An error occurred while making the HTTP request to https://localhost:8083/TestWCFService. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server.
If the service is defined in the current solution, try building the solution and adding the service reference again.