Plug-in interface

Device Connector plug-ins are always run in the context of the user running the browser. The plug-in interface uses standard input and standard output to communicate with the plug-in. This allows the plug-in to be implemented in virtually any language. The plug-in must be provided as a command line executable for the desired target platform.

Currently, only Windows is supported.

The plug-in executable specified in the plug-in configuration file is run once for each request. It receives the request on standard input and writes the response to standard output. The plug-in executable should not write to standard error as standard error may not exist.

The plug-in shall consume its entire input before writing any output.

Plug-ins use JSON objects for input and output values. Plug-ins are defined by the action that they perform. The action-specific input and output objects are defined in the JSON documentation of the single plug-in actions.

As return value for an error condition the plug-ins shall return a JSON object like this:

{ "error" : { "code":<int>, "message":<string> } }

The value of "message" is a more or less human-readable error message in English.

The following error codes for "code" are defined:

  • 100 General error
  • 102 Invalid JSON data
  • 103 Invalid parameters

The currently supported plug-in is signDocument. See Plug-in action.