Fork Me on GitHub

jsrsasign

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 and CRL

Download this project as a .zip file Download this project as a tar.gz file
TOP | DOWNLOADS | TUTORIALS | API REFERENCE | DEMOS | NPM |

FEATURES

The 'jsrsasign' library provides following features in pure JavaScript.

NEWS

2013-Oct-12:
Release 4.2.1 is now available.
  • Add generic PEM private/public key exporting method KEYUTIL.getPEM and it provides support to export to PEM PKCS#8 encrypted private key.
2013-Oct-07:
Node.js npm module of jsrsasign is now registered in the repository. It also includes 'jsjws'.
2013-Oct-06:
Release 4.2.0 is now available.
  • DSA/ECDSA algorithms is now supported most of class and methods like Signature, KEYUTIL, KJUR.asn1.x509 DSA
  • KJUR.asn1.x509.X509Util.newCertPEM method to provide easy issuance of a certificate by JSON data.
2013-Oct-02:
Release 4.1.6 is now available.
  • DSA signature algorithm support (However Signature and KEYUTIL class don't support yet)
  • KEYUTIL.generateKeypair method added
  • ASN1Util.jsonToASN1HEX method added
  • HmacSHA384 support
2013-Sep-23:
Release 4.1.3 is now available.
  • ASNUtil.newObject update for tagged object
  • PKCS5PKEY class was moved to KEYUTIL class and KEYUTIL class has more generic getKey() method.
2013-Sep-12:
Release 4.1.2 is now available.
2013-Aug-25:
Release 4.1.0 is now available.
  • RSAPSS support in Signature class.
  • add useful init() method for Signature class
  • add ECDSA support and getKey methods to PKCS5PKEY class
2013-Aug-17:
Release 4.0.5 is now available.
  • Message authentication code (MAC) class added.
2013-Jul-23:
Release 4.0.2 is now available.
  • RSAPSS signing and validation fix by Davegithub.com/davedoesdev)
2013-Jul-18:
Release 4.0.0 is now available.
  • ECC key generation and ECDSA signing and verification support
  • Currently supports secp256r1, secp256k1 and secp384r1 curves
  • You can specify other curves such like secp192r1 or NIST P-521 however it can't be signed nor verified properly with other curves. I appreciate if you fix the bugs.
2013-May-29:
Release 3.1.3 is now available.
2013-May-27:
Release 3.1.2 is now available.
  • add some methods to 'pkcs5pkey.js' to load encrypted PKCS#8 PEM private key.
2013-May-20:
Release 3.1.1 is now available.
  • add some methods to 'pkcs5pkey.js' to generate encrypted PKCS#5 PEM private key.
2013-May-16:
Release 3.1.0 is now available.
  • CRL class added to issue CRL.
Old news is here.

ONLINE TOOL & DEMO

DOWNLOAD

See 'ChangeLog.txt' in detail.

SOURCE CODES

The 'jsrsasign' library contains following source codes.

As for github repository, see https://github.com/kjur/jsrsasign.

API DOCUMENT

The 'jsrsasign'(RSA-Sign JavaScript Library) JavaScript API document is available here.

LICENSE

The 'jsrsasign'(RSA-Sign JavaScript Library) is licensed under the terms of the MIT license reproduced which is simple and easy to understand and places almost no restrictions.

PROGRAMMING TUTORIALS

You can see the list of QUnit unit tests here and I hope they help you understand 'jsrsasign' library.

MY RELATED PROJECT

PROJECTS THAT USE JSRSASIGN

jwcrypto
JavaScript implementation of JWS, JWT and JWC. The jycrypto is also used by Mozilla BrowserID/Persona. (used here)
jwt-js
JSON Web Tokens implemented in pure JavaScript. (used here)
npm node-bignumber
A pure javascript implementation of BigIntegers and RSA crypto for Node.js (used here)
npm bignumber-jt
A pure javascript implementation of BigIntegers and RSA crypto. (used here)
NDN.JS
a JavaScript client library for Named Data Networking of Univ. of Memphis. (used here)
cryptio
An easy-to-use encryption system utilizing RSA and AES for javascript. (used here)
jspackcrx
Package Chrome extension files using pure JavaScript. (used here)
xml-signer
xmldsig signatures in a browser (used here)

DEPENDENCY