4

I have a Flex application that hits URLs that requires SSL client authentication. These requests work fine in Firefox and Chrome. Chrome and Firefox display the prompt to select a user certificate and then the request completes successfully. In Internet Explorer there is no prompt. The request returns:

Error #2032: Stream Error. URL: https://MyServer/Path/test.txt

I have worked around this issue by creating a tag in my index.html file that hits the secure endpoint to a blank JavaScript file, prompting for the certificate. Everything works in the Flex application after i have loaded the blank JavaScript file. The problem with this is that the application will hit multiple endpoints that require user certificates; some unknown to me. They won't have a known blank endpoint that i can load from (i do not want to put the URL they are trying to load into a script tag due to JS exceptions).

Any ideas on how to get Internet Explorer to prompt me for a user certificate on the initial requests to the secure endpoints?

Sam DeHaan
  • 10,246
  • 2
  • 40
  • 48

1 Answers1

0

I've not tested this, but here is something you could try:

  • use ExternalInterface to invoke some JS from you Flex app. This JS will make a request to the web site you want a certificate to be validated. You could by example load the homepage of the site in a hidden iframe.

  • Listen to the 'load' event of the iframe to notify the flex app when the iframe content is loaded (iframe.addEventListener('load', someFunction, false);). Again, use ExternalInterface to notify the Flex app.

I hope it helps.

Pascal Le Merrer
  • 5,883
  • 20
  • 35