You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

255 lines
12 KiB

<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8' />
<meta http-equiv="X-UA-Compatible" content="chrome=1" />
<meta name="description" content="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)" />
<link rel="stylesheet" type="text/css" media="screen" href="stylesheets/stylesheet.css">
<title>jsrsasign - cryptography library in JavaScript</title>
</head>
<body>
<!-- HEADER -->
<div id="header_wrap" class="outer">
<header class="inner">
<a id="forkme_banner" href="https://github.com/kjur/jsrsasign">Fork Me on GitHub</a>
<h1 id="project_title">jsrsasign</h1>
<h2 id="project_tagline">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, CAdES and JSON Web Signature(JWS)/Token(JWT)/Key(JWK)</h2>
<section id="downloads">
<a class="zip_download_link" href="https://github.com/kjur/jsrsasign/zipball/master">Download this project as a .zip file</a>
<a class="tar_download_link" href="https://github.com/kjur/jsrsasign/tarball/master">Download this project as a tar.gz file</a>
</section>
<a href="http://kjur.github.io/jsrsasign/">TOP</a> |
<a href="http://kjur.github.io/jsrsasign/index_jws.html">jsjws</a> |
<a href="https://github.com/kjur/jsrsasign/releases" target="_blank">DOWNLOADS</a> |
<a href="https://github.com/kjur/jsrsasign/wiki#programming-tutorial">TUTORIALS</a> |
<a href="https://github.com/kjur/jsrsasign/wiki" target="_blank">Wiki</a> |
<a href="http://kjur.github.io/jsrsasign/api/" target="_blank">API REFERENCE</a> |
<a href="http://kjur.github.io/jsrsasign/index.html#demo" target="_blank">DEMOS</a> |
<a href="http://kjur.github.io/jsrsasign/sample/" target="_blank">NEW DEMOS</a> |
<a href="https://github.com/kjur/jsrsasign/tree/master/sample_node">Node sample</a> |
<a href="https://npmjs.org/package/jsrsasign" target="_blank">NPM</a> |
</header>
</div>
<!-- MAIN CONTENT -->
<div id="main_content_wrap" class="outer">
<section id="main_content" class="inner">
<!-- now editing -->
<h3>FEATURES</h3>
The 'jsrsasign' library provides following features in pure JavaScript.
<ul>
<li><a href="api/symbols/KJUR.crypto.Signature.html">Signature</a> - RSA/RSAPSS/ECDSA/DSA digital signature class wrapper of Java JCE style</li>
<li><a href="api/symbols/KJUR.crypto.MessageDigest.html">MessageDigest</a> - cryptographic hash calculation class wrapper of Java JCE style</li>
<li><a href="api/symbols/KJUR.crypto.Mac.html">MAC</a> - message authentication code hash calculation class wrapper of Java JCE style</li>
<li><a href="api/symbols/KJUR.asn1.html">ASN.1 encoder/generator</a></li>
<li><a href="api/symbols/KJUR.asn1.x509.html">ASN.1 structure for X.509 ceritificate, CRL and CSR(PKCS#10) generation</a></li>
<li><a href="api/symbols/KJUR.asn1.cms.html">ASN.1 structure for CMS SignedData generation</a></li>
<li><a href="api/symbols/KJUR.asn1.tsp.html">ASN.1 structure for RFC 3161 TimeStamp generation</a></li>
<li><a href="api/symbols/KJUR.asn1.cades.html">ASN.1 structure for RFC 5126 CAdES Long Term Signature generation</a></li>
<li><a href="api/symbols/ASN1HEX.html">simple ASN.1 data parser</a></li>
<li><a href="api/symbols/X509.html">simple X.509 certificate parser/reader</a></li>
<li><a href="api/symbols/KEYUTIL.html">KEYUTIL</a> - loading RSA/EC/DSA private/public key from PEM formatted PKCS#1/5/8 and X.509 certificate</li>
<li><a href="api/symbols/KJUR.jws.JWS.html">JSON Web Siguature(JWS)</a>,
<a href="https://kjur.github.io/jsrsasign/api/symbols/KJUR.jws.JWS.html#.verifyJWT">JSON Web Token(JWT)</a> and
<a href="https://kjur.github.io/jsrsasign/api/symbols/KEYUTIL.html#.getKey">JSON Web Key(JWK)</a></li>
<li>Supported formats and algorithms are listed <a href="index_alg.html">here</a>.</li>
</ul>
<h3>NEWS</h3>
<dl>
<dt><b>2016-Feb-28</b>:
<dd><a href="https://github.com/kjur/jsrsasign/releases/tag/5.0.6">
Release 5.0.6</a> is now available.
Now jsrsasign can be used in strict mode (--use_strict) of Node.JS.
<dt><b>2015-Nov-23</b>:
<dd><a href="https://github.com/kjur/jsrsasign/releases/tag/5.0.3">
Release 5.0.4</a> is now available.
There is no library and npm update but
<a href="https://github.com/kjur/jsrsasign/tree/master/sample_node">sample Node scirpts</a>
are added. Especially I hope <a href="https://github.com/kjur/jsrsasign/blob/master/sample_node/jwtverify">jwtverify</a> tool is very useful for JOSE guys :).
<dt><b>2015-Nov-11</b>:
<dd><a href="https://github.com/kjur/jsrsasign/releases/tag/5.0.2">
Release 5.0.2</a> is now available.
<a href="api/symbols/KJUR.jws.JWS.html#.getJWKthumbprint">RFC 7638 JWK thumbprint</a>
supported.
<a href="api/symbols/global__.html">Some file read/save functions</a> added for Node.js
in <a href="api/symbols/src/nodeutil-1.0.js.html">nodeutil.js</a>.
<dt><b>2015-Oct-14</b>:
<dd><a href="https://github.com/kjur/jsrsasign/releases/tag/5.0.0">
Release 5.0.0</a> is now available.
<a href="api/symbols/KJUR.crypto.Mac.html">
Mac class</a> some issue fix and extra features for Mac passwords.
It is also affects to <a href="api/symbols/KJUR.jws.JWS.html">JWS class</a>.
<a href="api/symbols/KEYUTIL.html#getKey">KEYUTIL.getKey</a> supports
RSA JWK without P/Q/DP/DQ/COEFF. <br/>
NOTICE: Release 4.10.0 was declined because of semver violation.
<dt><b>2015-Sep-15</b>:
<dd><a href="tool_csr.html">Keypair and CSR generator demonstration page</a> is available.
<dt><b>2015-Sep-13</b>:
<dd><a href="https://github.com/kjur/jsrsasign/releases/tag/4.9.0">Release 4.9.0</a> is now available.
<a href="api/symbols/KJUR.asn1.csr.html#.dump">Certificate signing request (CSR/PKCS#10) support</a> is added.
</dl>
Old news is <a href="index_oldnews.html">here</a>.
<h3><a name="demo">ONLINE TOOL & DEMO</a></h3>
<ul>
<li><a href="tool_ca.html" target="_blank">JavaScript Certification Authority</a></li>
<li><a href="tool_pkcs5view.html" target="_blank">Encrypted PKCS#5 Private Key Viewer</a></li>
<li><a href="tool_certview.html" target="_blank">Online Certificate Viewer</a></li>
<li><a href="tool_forfact.html" target="_blank">Fake certificate converter from CSR for factorable.net checking</a></li>
<li><a href="tool_cmssign.html" target="_blank">Simple CMS SignedData generator</a></li>
<li><a href="tool_csr.html" target="_blank">Keypair and CSR/PKCS#10 generator demo</a></li>
</ul>
<ul>
<li><a href="sample-ecdsa.html">Sample Application for ECDSA signing with JavaScript(NEW!!!)</a>
<li><a href="sample-rsasign.html">Sample Application for RSA signing with JavaScript</a>
<br clear="all"/>
<img src="sample-rsasign.png" width="480px" style="border: 2px #dddddd solid;"/>
<br clear="all"/>
</li>
</ul>
<h3>DOWNLOAD</h3>
<ul>
<li>Use git to clonse the official jsrsasign repository
<blockquote>git clone git://github.com/kjur/jsrsasign.git<br/> otherwise
bower install jsrsasign
</blockquote>
</li>
<li>Alternatively, you can download a zip file for the
<a href="https://github.com/kjur/jsrsasign/archive/master.zip">latest development version</a>
or a <a href="https://github.com/kjur/jsrsasign/releases/">previous releases</a>.
</li>
</ul>
<a href="http://github.com/kjur/jsrsasign/blob/master/ChangeLog.txt">See 'ChangeLog.txt' in detail.</a>
</ul>
<h3><a href="api/">API DOCUMENT</a></h3>
The 'jsrsasign'(RSA-Sign JavaScript Library) JavaScript API
document is available <a href="api/">here</a>.
<h3><a href="license/">LICENSE</a></h3>
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.
<ul>
<li><a href="http://github.com/kjur/jsrsasign/blob/master/LICENSE.txt">LICENSE.txt - RSA-Sign JavaScript Library LICENSE</a></li>
</ul>
<h3>PROGRAMMING TUTORIALS</h3>
<ul>
<li><a href="https://github.com/kjur/jsrsasign/wiki/Tutorial-for-MessageDigest-class" target="_blank">MessageDigest class tutorial</a></li>
<li><a href="https://github.com/kjur/jsrsasign/wiki/Tutorial-for-Signature-class" target="_blank">Signature class tutorial</a></li>
<li><a href="https://github.com/kjur/jsrsasign/wiki/Tutorial-for-ASN1-DER-Primitive-Encoder" target="_blank">ASN1 DER Primitive Encoder tutorial</a></li>
<li><a href="https://github.com/kjur/jsrsasign/wiki/Tutorial-for-ASN.1-structure-classes-of-X.509-certificate" target="_blank">ASN.1 structure classes for X.509 certificate tutorial</a></li>
<li><a href="https://github.com/kjur/jsrsasign/wiki/Tutorial-for-reading-PKCS%235-RSA-private-key-with-password" target="_blank">Reading PKCS#5 RSA private key with password tutorial</a></li>
<li><a href="https://github.com/kjur/jsrsasign/wiki/Tutorial-to-sign-and-verify-with-RSAKey-extension" target="_blank">Signing and verifying with RSAKey extension (*DEPRECATED*)</a></li>
<li><a href="https://github.com/kjur/jsrsasign/wiki#programming-tutorial" target="_blank">List of programming tutorials</a></li>
</ul>
You can see the list of QUnit unit tests <a href="test/index.html">here</a>
and I hope they help you understand 'jsrsasign' library and APIs.
<!-- **************************************************************************** -->
<a name="projects"></a>
<h3>PROJECTS THAT USE JSRSASIGN</h3>
<dl>
<dt>
<a href="https://github.com/mozilla/jwcrypto" target="_blank">jwcrypto</a>
<dd>
JavaScript implementation of JWS, JWT and JWC. The jycrypto is also used by
<a href="https://github.com/mozilla/browserid">Mozilla BrowserID/Persona</a>.
<a href="https://github.com/mozilla/jwcrypto/tree/master/libs/external">(used here)</a>
<dt>
<a href="https://github.com/michaelrhanson/jwt-js" target="_blank">jwt-js</a>
<dd>
JSON Web Tokens implemented in pure JavaScript.
<a href="https://github.com/michaelrhanson/jwt-js/tree/master/lib/kurushima-jsrsa">(used here)</a>
<dt>
<a href="https://npmjs.org/package/node-bignumber" target="_blank">npm node-bignumber</a>
<dd>
A pure javascript implementation of BigIntegers and RSA crypto for Node.js
<a href="https://github.com/JoeDoyle23/node-bignumber/blob/master/lib/rsa/rsa.js">(used here)</a>
<dt>
<a href="https://npmjs.org/package/bignumber-jt" target="_blank">npm bignumber-jt</a>
<dd>
A pure javascript implementation of BigIntegers and RSA crypto.
<a href="https://github.com/Rcomian/node-bignumber/blob/master/lib/rsa/sign.js">(used here)</a>
<dt>
<a href="http://netlogic.cs.memphis.edu/script/ndn-js/">NDN.JS</a>
<dd>
a JavaScript client library for Named Data Networking of Univ. of Memphis.
<a href="http://netlogic.cs.memphis.edu/script/ndn-js/js/securityLib/">(used here)</a>
<dt>
<a href="http://wwwtyro.github.io/cryptico/">cryptio</a>
<dd>
An easy-to-use encryption system utilizing RSA and AES for javascript.
<a href="https://github.com/wwwtyro/cryptico/blob/master/rsa.js">(used here)</a>
<dt>
<a href="https://code.google.com/p/jspackcrx/" target="_blank">jspackcrx</a>
<dd>
Package Chrome extension files using pure JavaScript.
<a href="https://code.google.com/p/jspackcrx/source/browse/#svn%2Ftrunk%2Flibs%253Fstate%253Dclosed">(used here)</a>
<dt>
<a href="https://github.com/duerig/xml-signer">xml-signer</a>
<dd>
xmldsig signatures in a browser
<a href="https://github.com/duerig/xml-signer/tree/master/lib/jsrsasign">(used here)</a>
</dl>
<!-- **************************************************************************** -->
<h3>DEPENDENCY</h3>
<p>
<ul>
<li><a href="http://www-cs-students.stanford.edu/~tjw/jsbn/" target="_blank">Tom Wu's jsbn library</a> - BigInteger, RSA and ECC</li>
<li><a href="https://github.com/bitcoinjs/bitcoinjs-lib/" target="_blank">BitcoinJS library</a> - ECDSA signature algorithm</li>
<li><a href="https://code.google.com/p/crypto-js/">CryptoJS</a> - symmetric key encryption algorithms, message digest, message authentication codes and PBKDF</li>
<li><a href="http://openpgpjs.org/">OpenPGP.js</a> - DSA signature algorithm</a>
<li><a href="http://yuilibrary.com/">Yahoo YUI library</a> - for class inheritance</a>
</ul>
</p>
<p></p>
<!-- now editing -->
</section>
</div>
<!-- FOOTER -->
<div id="footer_wrap" class="outer">
<footer class="inner">
<p class="copyright">jsrsasign maintained by <a href="https://github.com/kjur">kjur</a></p>
<p>Published with <a href="http://pages.github.com">GitHub Pages</a></p>
<div align="center" style="color: white">
Copyright &copy; 2010-2016 Kenji Urushima. All rights reserved.
</div>
</footer>
</div>
</body>
</html>