WebExtension implementing crypto.signText() over LSF
Build scripts work best with Node LTS (8.x at the moment of writing) and Python 2.7.x
- npm install
- gulp
- cd extension
- ../node_modules/.bin/web-ext build
WebExtension implementing crypto.signText() over LSF
Using this guide: https://blog.codeship.com/webextensions-101/
It uses node/npm for building, Mozilla's webextension-polyfill for cross-browser compatibility and Mozilla's web-ext for testing and packaging.
There is a problem which is not browser specific. The extension can not connect to LSF on specific pages.
For example: everithing is working fine on google.com, but if you browse to www.mozilla.org, the extension wan't be able to connect to the LSF. The error is:
Content Security Policy: Настройките на страницата предотвратяват зареждането на ресурса http://127.0.0.1:8090/version („connect-src“).
This can go with message, explaining to the user the need to run LSF.
We can create separate jnlp for the extension, since current is kitchen sink for technology preview.
It's self explainable, but still it will need some comments if someone tries to see how it works/decides to submit a patch.
Local webserver may not bind on 8090/tcp if there is some other daemon there.
Currently LSF tries to listen only on 8090/tcp, but this will change to be on par with TLS port range.
Keep in mind if we found a web service on some port, this sometimes can be different webserver, eg. used for development or other similar service.
LSF, depending on plugin configuration will implement signature service or not. So after we can successfully connect to local port, we have to do feature detection and only then accept it as viable endpoint.
Research if Safari supports WebExtensions, and if not - how to make one, and if there are any fees for publishing.
Some poor souls use it and they support WebExtensions.
Essential, since historically crypto.signText() was available only there.
There are others, trying to implement it from scratch, like this and this. Experience shows users will try to install all, or at least will have it installed before that.
Have to check if we can mark conflicting extensions under some platforms and issue a user message if the class is already implemented somehow.
Checking of LSF availability is blocking now. To be able to mark the availability of LSF with badge over the icon, we have to check on every page load as minimum. But since the check is blocking and we are checking 6 different locations, if no LSF is found the time to timeout is significant and this is leading to awful user experience
Have to implement something sleak™.
Will try to catch some designer to draw it, but I will need size/file type requirements for different platforms - if somebody knows the reqs, pleas put them in comment.
Register.bg tries to sign non-latin text, we need a utf-8 compatible base64 encoding function.
Issue happens on Chrome / Win7 x64, but probably other browsers will have the same problem.
So does now Edge supports WebExtensions?
Is it possible to list not only PCKS#11 certificates, but also the operating system's ones, and somehow access Firefox's keystore (to emulate how like signText worked initially). This will make it possible to sign payment orders in some banks' online systems, if the client does not have a smartcard but only a bank-issued certificate in a software store.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.