I have an ADFS test environment set up with an ADFS account federation server, an ADFS resource federation server and an ADFS proxy server for the ADFS resource federation server.
Everything works fine if I configure the account federation server to communicate directly with the resource federation server but I get errors showing up if I configure the account federation server to work through the proxy instead.
Running the ADFS Diagnostic Tool on the proxy server I get the following error:
| error |
Error number 1 - FS-Proxy Trust Configuration Web Method Check FAILED |
| error |
Rule ID is FSProxyObservationFSProxyWebMethodCallExpectation |
| error |
The web-method call failed probably because the proxy certificate is not a valid proxy certificate on the FS |
The error log on the resource server shows the following:
2009-05-29T14:03:30 [VERBOSE] Processing HTTP GET: https://wsfed.internaltest.com/adfs/fs/FederationServerService.asmx
2009-05-29T14:03:30 [VERBOSE] Received message that is not SignIn Request or Response.
2009-05-29T14:04:56 [INFO] Processing HTTP POST: https://wsfed.internaltest.com/adfs/fs/FederationServerService.asmx
2009-05-29T14:04:56 [VERBOSE] Received message that is not SignIn Request or Response.
2009-05-29T14:04:59 [INFO] Loading trust policy from C:\ADFS\TrustPolicy.xml
2009-05-29T14:05:00 [INFO] IsValidDomainName: DnsValidateName_W returned 0
2009-05-29T14:05:00 [INFO] FS Account Name: Using computer name 'TESTDOMAIN1\TESTPSAPP1$'
2009-05-29T14:05:00 [ERROR] MethodInvocationCheck: Client cert is not present
2009-05-29T14:05:00 [EVENTLOG] Error ProxyWebMethodAccessDeniedNoCert ()
2009-05-29T14:05:00 [ERROR] MethodInvocationCheck: Denying access
I've tried several different client authentication certificates and have found the same error with each one. Both self-signed certificates (generated using makecert) and certificates signed by an internal CA (generated through Microsoft certificate services) have been tested. I've verified the certs were added to the FSP Certificates tab in ADFS on the resource server and the "Trusted Root Certification Authorities" store for the local computer on the resource server as well.
There was a similar problem posted in one of the ADFS blogs where the problem was related to permissions reading the certificate's private key on the proxy server but I don't think that's the problem here. I've ensured the certificates are in the local system certificate store and have the appropriate permissions on them. Even changing the ADFS application pool to run under the local system account doesn't work.
Please let me know if anyone has suggestions on the problem or what the next step in troubleshooting could be. Is there some requirement for the client authentication certificate that I may have missed? I am looking at getting a certificate chained to a real public CA to try out but I had understood from looking at the documentation that this shouldn't be necessary.
Thanks in advance and let me know if I can provide additional information that would be useful in assisting.