403 - Forbidden: Access is denied WCF - biztalk

I'm using BizTalk server 2010.
I'm using the client certificate where I have imported that in IIS as well as Trusted root certificate store. Im using httpsTransport with customBinding. When I try to browse in BizTalk server with https, I'm able to browse, but in the client side, they are not able to browse and they get
403 - Forbidden: Access is denied.
You do not have permission to view this directory or page using the credentials that you supplied."
Is there anything that needs to be set in BizTalk or the settings should be done at the client end?
Is it related to anti virus that is blocking?

It sounds as though you are requiring Client Certificate Authentication when a client attempts to query the web resource, but no certificate is being presented. This is not an anti-virus issue.
You already have the certificate (and Root Authority) on your server which is why you can retrieve the resource successfully from the BizTalk Server.
To resolve this issue on your clients, install the certificate on each client that needs to connect (plus the Root Authority certificate if this is one you have created yourself) - the Client Certificate needs to be placed into the Personal Certificate Store for the user that is attempting to request the resource. Then when you connect from your client, the correct certificate will be presented to the server and Client Certificate Authentication will be performed, resolving your '403 - Access Denied' error.
If you have a large number of clients and you don't want to go through this trouble, simple disable Client Certificate Auth in IIS; your traffic will still be secured through SSL/TLS.

Related

IIS refuses client digital certificate with HTTP Failed response

I have an ASP.NET application hosted on IIS version 10.0 on Windows Server 2019 (Amazon EC2).
In this application i turned on the SSL. So, my client makes a GET request to the server and if the user has any Digital Certificate installed on the machine the browser prompt a certificate select window.
When the user chooses a certificate, the request goes to the backend where we validate the certificate. The problem is in some cases there is no response from the server, it refuses the request, the request appear as (failed) in chrome dev tools and our code dont event get to log the error. In this cases we already analised the clients certificates and there is nothing wrong with them.
What could be happening?

WAP 2016 not sending client to ADFS properly

We are setting up on premises ADFS and WAP servers.
We are using a SSL cert shared between the SDFS server and WAP.
We are using split brain DNS so that the internal clients point to the ADFS server and the external users get routed to the WAP.
The ADFS service name is the external DNS name and is different than the host name.
The MVC web application has been published on the WAP.
Internal clients get routed to the ADFS server login page and get authenticated correctly. The external clients get routed to the login page but a TCP rst gets sent to the client immediately. I can't find any logs in the event viewer to help troubleshoot this.
Can someone offer a suggestion?

Download from asp.net web app over ssl failing running on IIS7

I have an asp.net web app deployed on IIS7. I call the webapp AOps and When I try accessing the web app over https it just crashes saying "Security sertificate required to access this resource is invalid" (first image).
When I try over http the download works fine.
When I access the default IIS app over both http and https it works fine - except that it complains that the address is mismatched.
I have added a .pfx certificate in the certificate store with the same host name as my host, so the certificate should be fine. Any idea where to start reviewing my configuration?
I am used to apache and tomcat but IIS is a different animal. I looked in the IIS log but it's pretty much a black box. Any help would be greatly appreciated.
The certificate error is generated by your browser not the server. There are 3 things the browser cares about.
The name on the certificate needs to match the url you are using. So in your case, the browser wants a certificate issued to "localhost"
The certificate has to be issued by a trusted certificate authority (not self-signed)
The certificate cannot be expired
To solve 1, use a host entry in /etc/hosts. To solve 2, you need to add the certificate to trusted CA store on your local machine. And 3 is pretty obvious.

Certificate not trusted error while accessing WCF with SSL security in IIS

I am facing the following issue.
1 - I have deployed WCF service with SSL enabled on remote IIS machine and trying to use it from my web client.The problem is my browser is not allowing this service to be called.Before using my web client i have to hit the service url from my browser directly and then allow the certificate.
2- Got suggestion from somewhere to export the certificate on the machine where WCF is deployed and include that certificate file in Trusted certificates group on my machine.After I did that I got same problem when tried to access web service from web client.So I hit the service url from browser and got the same page which needs me to trust the certificate with a different message that "You attempted to reach 111.121.196.226(ip address of the WCF machine), but instead you actually reached a server identifying itself as "WMSvc-domain" where "WMSvc-domain" is the value of "Issued To" field in the certificate.
I hope I have made myself clear.Waiting for suggestions.Thank you.
WMSvc-machinename is the IIS Windows Management Service which runs by default on 8172/tcp and is used for remotely managing iis. When installed the default is to create a self-signed certificate. That wouldn't trusted. It could be replaced with a "proper" CA signed cert through the Management Service icon in IIS Manager.

Connect to https:// webservice in asp.net app

I have an ASP.NET website that is contacting a webservice. Everything works fine connecting via http but when I try https:// it can't connect. I don't seem to get any error from the website and the webservice logs show nothing, meaning nothing has connected to it.
I can connect to my https:// webservice from a site like soapclient.com and request information, so the webservice and ports are working.
Is there anything special I should be doing in order to connect to a https:// webservice over a normal http:// one in .NET? All I am doing at the moment is changing the URL it is connecting to to my secure one instead.
I am using
ASP.NET 2, IIS7
Thanks in advance.
EDIT: Just found the actual error message: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel - Which in my eyes tells me I haven't added my self signed certificate to the installed certs on the server ... but I have ...
You need to add your self-signed certificate under Trusted Root Certificate Authorities in the Local Computer store of the server running the ASP.NET website.
Export the certificate from the webservice server as a .cer file, and copy it to the server running the ASP.NET website. Then, on that server:
Double-click the .cer file and Install Certificate
In the wizard, choose the store as the Local Computer folder under Trusted Root Certificate Authorities.
You might have to restart IIS, or the server
There are some good instructions towards the bottom of this page, under "Installing the self-signed certificate on client computers": http://webhelp.esri.com/arcgisserver/9.3/dotNET/index.htm#setting_up_ssl.htm
It looks like your client encounters a certificate validation error, because your server certificate is self-signed.
Try including the following line (C#) in your web site code, before calling the web service. This will tell .NET to ignore all certificate validation errors:
ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => { return true; };
This should obviously not be used in a production environment :)

Resources