Search code examples
npapimicrosoft-edgechrome-native-messaging

Equivalent of Chrome Native Messaging in Edge


NPAPI plugins are not supported on Microsoft's new browser Edge.

  • Google Chrome developed Chrome Native Messaging in order to interact with an executable installed on the computer provided its link on the registry (for Windows OS).

  • Firefox seems to want to support Chrome extensions in the future, and we can assume the browser will eventually support Chrome Native Messaging as well.

  • Internet Explorer will continue to support NPAPI until 2020 (from what I heard).

  • For Edge, no solution has yet been developed (or is there one?)

I'm willing to work with URL handlers (myapplication://mydata) in order to compensate for this lack. Is there a better approach so far?

https://msdn.microsoft.com/en-us/library/aa767914%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

My intent is to communicate through an HSM installed on the computer, and use the Crypto API interface, or a PKCS#11 driver in order to sign data and send back the result to the browser. With a chrome native messaging extension, it actually works well. With a URL Handler, I will be able to send data to the executable, but I won't get the result, so I will have to think to post the result to a web specific URL, but this can result in a security hole to my perspective.

Thanks in advance,


Solution

  • EDIT : 2017-01-14 : The following link shows the progress of the adaptation of the Microsoft Edge Extension API :

    https://developer.microsoft.com/en-us/microsoft-edge/platform/documentation/extensions/api-support/extension-api-roadmap/

    EDIT: as Beckyang posted recently, there is a link where you can vote for the feature to be developed in priority, here :

    https://wpdev.uservoice.com/forums/257854-microsoft-edge-developer/suggestions/13612338-native-messaging

    After reading some recent news:

    It seems like the adaptation of the initial Chrome extension will be possible as soon as Microsoft has implemented a "Chrome-Extension-like" API. So, eventually, It won't be necessary to develop something completely new.