Skip to content

Latest commit

 

History

History

npm

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

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 .

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)

CONCLUDED THIRD-PARTY LIBRARIES

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...'