0

I have a web page (running under https://) that needs to pass information to a local (signed) application.

I need this to be able to run under Chrome, IE, Firefox and Opera on both windows and mac.

The application cannot connect to the web server until the information is passed, and the information is too large to fit in a protocol call. e.g. myprotocol:bunchOfDataPassedToApplicationAsAParameter it too long for some browsers. In addition as the information contains connection information it needs to be encrypted.

This needs to work with no user interaction apart from confirming the launch of the application.

The application while signed, does not have a certificate as it would need to be generated for each end-users' computer. This implies that the use of websockets will not work, as we can't open a secure channel, and opening an insecure one will cause security alterts to the user.

The information can't be written to the disk, as this is not permitted.

What can be used to communicate the information?

(NB This is a simplification of another question of mine)

Dan Corrin
  • 13
  • 5
  • I think you need to redesign how this works. A web page can't launch a local application and can't communicate with it directly, so if your application needs information from the client-side website itself, you need to either have something like JSON copied to the clipboard from the page (a button works) which the user can paste into the application quickly. Otherwise, it might be better to design the application so that it can do all the work on its own. A middle-ground solution would be to use something like NW.js or electron.js. – mechalynx Aug 18 '17 at 18:50
  • Whatever it is you are doing in the web page, why can you not have your application do that itself (it can even embed HTML technology in itself if needed). Then, when you have the information in the web page, the web page will already be in the local application and it will be feasible to transfer it to the place you want it to be. Browsers are firewalled off from local applications so without getting the end-user to install a browser add-on or relaxing browser security settings (both undesirable things), you can't get the browser to talk directly to your local application. – jfriend00 Aug 18 '17 at 18:56
  • But, you could build the same web experience right into your local application where you will then be able to transfer info to your local application. – jfriend00 Aug 18 '17 at 18:56
  • There's one thing that occurred to me. You could look into defining a custom protocol and have your users define your application as the custom protocol handler within the browser (they would have to do this manually AFAIK). Then you could create a url string that launches the application and delivers all the parameters through the url. It could look like `customprotocol://example.com?parameter=one&parameter2=two` or something like that. An installed application may be able to register itself as a protocol handler but not sure if that affects browsers. – mechalynx Aug 19 '17 at 03:47

0 Answers0