Giter Site home page Giter Site logo

polycrypt's Introduction

PolyCrypt - A pure JS implementation of the WebCrypto API

This project is an implementation of the W3C WebCrypto API.

For full details, see our website

Quick Start

> echo 127.0.0.1  polycrypt-test >>/etc/hosts
> cd $POLYCRYPT_ROOT
> ./tool/webservers.sh
> # Load http://polycrypt-test:8000/ in your favorite browser

Successfully tested in the following browsers

  • Chrome [ Desktop, Android, iOS ]
  • Firefox [ Desktop, Android ]
  • Safari [ Desktop, iOS ]
  • Internet Explorer [ Desktop, Phone ]
  • Opera [ Desktop ]
  • iCab

Currently thought to not work these browsers

  • Default Android browser
  • Opera Mini
  • Versions of IE < 10

Known issues

  • Safari: Does not work in Private Browsing Mode
  • Firefox: Does not work if cookies set to "Ask me"
  • Appears not work with NoScript (even when disabled for site)
  • Cannot be used from local pages (on disk) due to need for postMessage

polycrypt's People

Contributors

polycrypt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

polycrypt's Issues

Please mark this project as inactive

Thanks for your work on this.

The web page says (at the bottom) that the project is no longer active. It would be helpful if the repo README also indicated this. I'd also suggest making the notice on the web site more prominent.

Rewrite to support Promises instead of DOM Requests

It seems that polycript is based on an outdated draft of the Web Crypto spec. The newer revision are based on Promises, instead of DOM Request - leading to a code pattern like

crypto.subtle.digest(... ).then( func);

instead of

crypto.subtle.digest(... ).oncomplete = then;

Maybe it's worth noting that in the README as long as this is not met?

Question regarding X509 certificates

Hi,

Congratulations!! Your project rocks :)

We are maintaining a Java based CryptoApplet for digitally sign content in the browser using a personal X509 certificate stored in the browser store, SO or smartcard reader.

Do you think that there is any chance or future integration to move from Java applets to a pure JavaScript approach?

Best regards,
Ricardo

Single Script

Hi,

I'm currently looking to use polycrypt during development as a reference implementation of the W3C Api inside of a PhoneGap application. Including http://polycrypt.net/polycrypt.js in my HTML app is not really possible, since I would like to deploy all dependencies in my PhoneGap bundle.

Is there a way to bundle all of the required scripts into a single file?

Thanks

set font weight to 300

Hey

So this technically has to do with the polycrypt.net website. But I would humbly like to recommend making the font-weight 300 instead of "lighter" on .content. It is barely legible on latest chrome and firefox (on osx) but looks fine on safari. setting to 300 makes it legible on all three.

Cheers!

using Math.random() to seed RNGs is not secure

This implementation uses WebWorkers which have no access to the underlying window.crypto API that modern browsers implement to provide access to, among other things, cryptographically strong PRNGs. JSBN attempts to seed its pool from window.crypto, or, failing that, it just dumps a bunch of numbers in from Math.random() which is NOT suitable for cryptography.

This library is useful as a polyfill, but what's the point exactly if it's not secure?

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.