Giter VIP home page Giter VIP logo

signtextlsf's Introduction

signTextLSF

WebExtension implementing crypto.signText() over LSF

Building

Build scripts work best with Node LTS (8.x at the moment of writing) and Python 2.7.x

  1. npm install
  2. gulp
  3. cd extension
  4. ../node_modules/.bin/web-ext build

signtextlsf's People

Contributors

dependabot[bot] avatar realender avatar stamo avatar user890104 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

signtextlsf's Issues

Content security policy issue

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“).

Serv jnlp if LSF is not found

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.

Code comments

It's self explainable, but still it will need some comments if someone tries to see how it works/decides to submit a patch.

Add port range support

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.

Implement feature detection

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.

Package for Safari

Research if Safari supports WebExtensions, and if not - how to make one, and if there are any fees for publishing.

Package for Firefox

Essential, since historically crypto.signText() was available only there.

Avoid conflicts with other extensions, implementing crypto.signText()

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.

Update README.md

  • What is this
  • How it works
  • Browser and OS support
  • Link to WebExtension stores
  • License
  • Authors

Implement asynchronous check of LSF availability

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

Extension icon

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.

Use Windows/Firefox keystore in certificate chooser

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.