JSPM

  • Created
  • Published
  • Downloads 496952
  • Score
    100M100P100Q176626F

opensource free pure JavaScript cryptographic library supports RSA/RSAPSS/ECDSA/DSA signing/validation, ASN.1, PKCS#1/5/8 private/public key, X.509 certificate, CRL, CMS SignedData, TimeStamp and CAdES and JSON Web Signature(JWS)/Token(JWT)/Key(JWK).

Package Exports

  • jsrsasign

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (jsrsasign) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

jsrsasign

The 'jsrsasign' (RSA-Sign JavaScript Library) is an opensource free pure JavaScript cryptographic library supports RSA/RSAPSS/ECDSA/DSA signing/validation, ASN.1, PKCS#1/5/8 private/public key, X.509 certificate, CRL, CMS SignedData, TimeStamp and CAdES and JSON Web Signature(JWS)/Token(JWT)/Key(JWK).

Public page is http://kjur.github.com/jsrsasign .

github TOP|API doc|Wiki|Node sample

DIFFERENCE WITH CRYPTO MODULE

Here is the difference between bundled 'Crypto' module and this 'jsrsasign' module.

  • Crypto module
    • fast
    • works only on Node.js
    • OpenSSL based
    • lacking ASN.1 functionality
    • provides symmetric ciphers
    • lacking RSAPSS signing
  • jsrsasign module
    • slow
    • implemented in pure JavaScript
    • works on both Node.js(server) and browsers(client)
    • provides ASN.1 parsing/generation functionality
    • lacking symmetric ciphers
    • provides RSAPSS signing
    • also provides support for JSON Web Signatures (JWS) and JSON Web Token (JWT)

AVAILABLE CLASSES AND METHODS

Most of the classes and methods defined in jsrsasign and jsjws are available in this jsrsasign npm module.

After loading the module,

> var r = require('jsrsasign');

You can refer name spaces, classes, methods and functions by following variables:

Please see API reference in the above links.

EXAMPLE(1) SIGNATURE

Loading encrypted PKCS#5 private key:

> var fs = require('fs');
> var pem = fs.readFileSync('z1.prv.p5e.pem', 'binary');
> var prvKey = a.KEYUTIL.getKey(pem, 'passwd');

Sign string 'aaa' with the loaded private key:

> var sig = new a.Signature({alg: 'SHA1withRSA'});
> sig.init(prvKey);
> sig.updateString('aaa');
> var sigVal = sig.sign();
> sigVal
'd764dcacb...'

MORE TUTORIALS AND SAMPLES