1fb310cabe
-- * gpgmejs_openpgpjs - unsuported values with no negative consequences can now reject, warn or be ignored, according to config.unconsidered_params - cleanup of unsupported/supported parameters and TODOS * A src/index.js init() now accepts a configuration object * Errors will now be derived from Error, offering more info and a stacktrace. * Fixed Connection.post() timeout triggering on wrong cases * Added comments in permittedOperations.js, which gpgme interactions are still unimplemented and should be added next |
||
---|---|---|
.. | ||
src | ||
CHECKLIST | ||
CHECKLIST_build | ||
manifest.json | ||
package.json | ||
README | ||
test_index.js | ||
testapplication_index.html | ||
testapplication.js | ||
testicon.png | ||
ui2.html | ||
ui.css | ||
webpack.conf.js |
gpgmejs, as contained in this directory, is a javascript library for direct use of gnupg in browsers, with the help of nativeMessaging. Installation ------------- gpgmejs uses webpack, and thus depends on nodejs for building. Webpack can be installed by running `npm install webpack webpack-cli --save-dev`. To create a current version of the package, the command is `npx webpack --config webpack.conf.js`. If you want a more debuggable (i.e. not minified) build, just change the mode in webpack.conf.js. TODO: gpgme_openpgpjs aims to offer an API similar to openpgpjs, throwing errors if some part of the API is not implemented, 'translating' objects if possible. This will be incorporated into the build process later, for now it is a line to uncomment in src/index.js Demo WebExtension: As soon as a bundled webpack is in dist/ the gpgmejs folder can just be included in the extensions tab of the browser in questions (extension debug mode needs to be active). For chrome, selecting the folder is sufficient, for firefox, the manifest.json needs to be selected. Please note that it is just for demonstration/debug purposes! In the browsers' nativeMessaging configuration folder a file 'gpgmejs.json' is needed, with the following content: (The path to the native app gpgme-json may need adaption) Chromium: ~/.config/chromium/NativeMessagingHosts/gpgmejson.json { "name": "gpgmejson", "description": "This is a test application for gpgmejs", "path": "/usr/bin/gpgme-json", "type": "stdio", "allowed_origins": ["chrome-extension://ExtensionIdentifier/"] } The ExtensionIdentifier can be seen on the chrome://extensions page, and changes on each reinstallation. Note the slashes in allowed_origins. Firefox: ~/.mozilla/native-messaging-hosts/gpgmejson.json { "name": "gpgmejson", "description": "This is a test application for gpgmejs", "path": "/usr/bin/gpgme-json", "type": "stdio", "allowed_extensions": ["ExtensionIdentifier@temporary-addon"] } The ExtensionIdentifier can be seen as Extension ID on the about:addons page if addon-debugging is active. In firefox, the temporary addon is removed once firefox exits, and the identifier will need to be changed more often.