FEATURES
The 'jsrsasign' library provides following features in pure JavaScript.- Signature - RSA/RSAPSS/ECDSA/DSA digital signature class wrapper of Java JCE style
- MessageDigest - cryptographic hash calculation class wrapper of Java JCE style
- MAC - message authentication code hash calculation class wrapper of Java JCE style
- ASN.1 encoder/generator
- ASN.1 structure for X.509 certificate, CRL and CSR(PKCS#10) generation
- ASN.1 structure for CMS SignedData generation
- ASN.1 structure for RFC 3161 TimeStamp generation
- ASN.1 structure for RFC 5126 CAdES Long Term Signature generation
- simple ASN.1 data parser
- simple X.509 certificate parser/reader
- KEYUTIL - loading RSA/EC/DSA private/public key from PEM formatted PKCS#1/5/8 and X.509 certificate
- JSON Web Signature(JWS), JSON Web Token(JWT) and JSON Web Key(JWK)
- Supported formats and algorithms are listed here.
NEWS
- 2017-Jun-30:
- Release 8.0.0 is now available. All deprecated methods, classes and files are removed and all-min.js file get smaller size.
- 2017-May-21:
- Release 7.2.0 is now available. Major refactoring before major release update. Making Many long name methods deprecated and new short name methods are provided to reducing file size.
- 2017-Mar-15:
- NOTICE: Some people complains that 'jsrsasign' is too huge to use in the web sites. The 'jsrsasign' is 'swiss army knife' style crypto library which has a lot of functionality some users may think not necessary. So I'm planning to remove all of deprecated codes in the next major release 3 month later (may be 8.0.0 in July) to to shrink size. Until then please use subset package. Thanks.
- 2016-Nov-03:
- Release 6.2.0 is now available. Cipher class added.
- 2016-Sep-24:
- Release 6.1.0 is now available. RFC 6960 OCSP protocol support added.
- 2016-Sep-11:
- Release 6.0.0 is now available. Now "jsrsasign" become "fs" safe so that it will be available for CommonJS or Webpack.
- 2016-Sep-03:
- Slides for jsrsasign introduction is available.
- 2016-Feb-28:
- Release 5.0.6 is now available. Now jsrsasign can be used in strict mode (--use_strict) of Node.JS.
- 2015-Nov-23:
- Release 5.0.4 is now available. There is no library and npm update but sample Node scripts are added. Especially I hope jwtverify tool is very useful for JOSE guys :).
- 2015-Nov-11:
- Release 5.0.2 is now available. RFC 7638 JWK thumbprint supported. Some file read/save functions added for Node.js in nodeutil.js.
DOWNLOAD
- Use git to clone the official jsrsasign repository
git clone git://github.com/kjur/jsrsasign.git
- Install from bower
bower install jsrsasign
- Install from NPM
npm install jsrsasign
- Alternatively, you can download a zip file for the latest development version or a previous releases.
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
- MessageDigest class tutorial
- Signature class tutorial
- ASN1 DER Primitive Encoder tutorial
- ASN.1 structure classes for X.509 certificate tutorial
- Reading PKCS#5 RSA private key with password tutorial
- Signing and verifying with RSAKey extension (*DEPRECATED*)
- List of programming tutorials
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)
- cryptico
- 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
- Tom Wu's jsbn library - BigInteger, RSA and ECC
- BitcoinJS library - ECDSA signature algorithm
- CryptoJS - symmetric key encryption algorithms, message digest, message authentication codes and PBKDF
- Yahoo YUI library - for class inheritance