diff --git a/ChangeLog.txt b/ChangeLog.txt index 796a12bb..631b43d8 100755 --- a/ChangeLog.txt +++ b/ChangeLog.txt @@ -1,8 +1,18 @@ ChangeLog for jsrsasign +* Changes between 5.1.0 to 6.0.0 (2016-Sep-11) + - As of so much request to remove Node functions + in nodeutil.js, nodeutil.js have been removed from + jsrsasign.js package. Then it is moved to + new "jsrsasign-util" npm package. + Now "jsrsasign" will be CommonJS, Purescript, + Webpack and Browserify safe package. + Some sample Node.js scripts in "sample_node" + will be updated later. + * Changes between 5.0.15 to 5.1.0 (2016-Sep-07) - - jwsjs 2.0.x to 2.1.0 + - jwsjs 2.0.15 to 2.1.0 - refactoring and API document update - addSignature, verifyAll, verifyNth method added - make addSignatureByHeaderKey, diff --git a/index.html b/index.html index 0d22b6f4..ff282c0b 100755 --- a/index.html +++ b/index.html @@ -69,6 +69,12 @@

FEATURES

NEWS

+
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. diff --git a/jsrsasign-latest-all-min.js b/jsrsasign-latest-all-min.js index 1259093c..1013a4eb 100644 --- a/jsrsasign-latest-all-min.js +++ b/jsrsasign-latest-all-min.js @@ -1,5 +1,5 @@ /* - * jsrsasign 5.1.0 (2016-09-08) (c) 2010-2016 Kenji Urushima | kjur.github.com/jsrsasign/license + * jsrsasign 6.0.0 (2016-09-11) (c) 2010-2016 Kenji Urushima | kjur.github.com/jsrsasign/license */ /* @@ -284,6 +284,3 @@ if(typeof KJUR=="undefined"||!KJUR){KJUR={}}if(typeof KJUR.jws=="undefined"||!KJ /*! jwsjs-2.1.0 (c) 2010-2016 Kenji Urushima | kjur.github.com/jsrsasign/license */ if(typeof KJUR=="undefined"||!KJUR){KJUR={}}if(typeof KJUR.jws=="undefined"||!KJUR.jws){KJUR.jws={}}KJUR.jws.JWSJS=function(){var b=KJUR.jws.JWS;var a=KJUR.jws.JWS;this.aHeader=[];this.sPayload="";this.aSignature=[];this.init=function(){this.aHeader=[];this.sPayload=undefined;this.aSignature=[]};this.initWithJWS=function(d){this.init();var c=d.split(".");if(c.length!=3){throw"malformed input JWS"}this.aHeader.push(c[0]);this.sPayload=c[1];this.aSignature.push(c[2])};this.addSignature=function(c,f,k,i){if(this.sPayload===undefined||this.sPayload===null){throw"there's no JSON-JS signature to add."}var j=this.aHeader.length;if(this.aHeader.length!=this.aSignature.length){throw"aHeader.length != aSignature.length"}try{var d=KJUR.jws.JWS.sign(c,f,this.sPayload,k,i);var h=d.split(".");var l=h[0];var e=h[2];this.aHeader.push(h[0]);this.aSignature.push(h[2])}catch(g){if(this.aHeader.length>j){this.aHeader.pop()}if(this.aSignature.length>j){this.aSignature.pop()}throw"addSignature failed: "+g}};this.addSignatureByHeaderKey=function(f,c){var e=b64utoutf8(this.sPayload);var d=new KJUR.jws.JWS();var g=d.generateJWSByP1PrvKey(f,e,c);this.aHeader.push(d.parsedJWS.headB64U);this.aSignature.push(d.parsedJWS.sigvalB64U)};this.addSignatureByHeaderPayloadKey=function(f,e,c){var d=new KJUR.jws.JWS();var g=d.generateJWSByP1PrvKey(f,e,c);this.aHeader.push(d.parsedJWS.headB64U);this.sPayload=d.parsedJWS.payloadB64U;this.aSignature.push(d.parsedJWS.sigvalB64U)};this.verifyAll=function(f){if(this.aHeader.length!==f.length||this.aSignature.length!==f.length){return false}for(var e=0;e0){this.aHeader=e.headers}else{throw"malformed header"}if(typeof e.payload==="string"){this.sPayload=e.payload}else{throw"malformed signatures"}if(e.signatures.length>0){this.signatures=e.signatures}else{throw"malformed signatures"}}catch(c){throw"malformed JWS-JS JSON object: "+c}}};this.getJSON=function(){return{headers:this.aHeader,payload:this.sPayload,signatures:this.aSignature}};this.isEmpty=function(){if(this.aHeader.length==0){return 1}return 0}}; -/*! nodeutil-1.0.0 (c) 2015 Kenji Urushima | kjur.github.com/jsrsasign/license - */ -function readFileUTF8(a){return require("fs").readFileSync(a,"utf8")}function readFileHexByBin(c){var b=require("jsrsasign");var a=require("fs");return b.rstrtohex(a.readFileSync(c,"binary"))}function readFile(b){var a=require("fs");return a.readFileSync(b,"binary")}function saveFile(c,b){var a=require("fs");a.writeFileSync(c,b,"binary")}function saveFileBinByHex(e,b){var a=require("fs");var c=require("jsrsasign");var d=c.hextorstr(b);a.writeFileSync(e,d,"binary")}; diff --git a/npm/lib/footer.js b/npm/lib/footer.js index 64bca3f0..8038a7e3 100755 --- a/npm/lib/footer.js +++ b/npm/lib/footer.js @@ -50,9 +50,4 @@ exports.asn1 = KJUR.asn1; exports.jws = KJUR.jws; exports.lang = KJUR.lang; -exports.readFileUTF8 = readFileUTF8; -exports.readFileHexByBin = readFileHexByBin; -exports.readFile = readFile; -exports.saveFile = saveFile; -exports.saveFileBinByHex = saveFileBinByHex; diff --git a/npm/package.json b/npm/package.json index 8e9beb0a..74ab4289 100755 --- a/npm/package.json +++ b/npm/package.json @@ -1,6 +1,6 @@ { "name": "jsrsasign", - "version": "5.1.0", + "version": "6.0.0", "description": "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).", "main": "lib/jsrsasign.js", "scripts": { diff --git a/npm_util/Makefile b/npm_util/Makefile new file mode 100755 index 00000000..bd67c177 --- /dev/null +++ b/npm_util/Makefile @@ -0,0 +1,10 @@ +all: + echo aaa + +aaa: + cat \ + lib/header.js \ + ../min/nodeutil-1.0.min.js \ + lib/footer.js \ + > lib/jsrsasign-util.js + diff --git a/npm_util/README.md b/npm_util/README.md new file mode 100755 index 00000000..f227b105 --- /dev/null +++ b/npm_util/README.md @@ -0,0 +1,26 @@ +jsrsasign-util +========= + +This package provides supplementary functions for 'jsrsasign' such like file I/O utilities. + +Public page is http://kjur.github.com/jsrsasign . + +[github TOP](http://kjur.github.io/jsrsasign/)|[API doc](http://kjur.github.io/jsrsasign/api/)|[Wiki](https://github.com/kjur/jsrsasign/wiki)|[Node sample](https://github.com/kjur/jsrsasign/tree/master/sample_node) + +AVAILABLE FUNCTIONS +----------------------------- + +- [readFile](http://kjur.github.io/jsrsasign/api/symbols/global__.html#readFile) : read file as binary string +- [readFileHexByBin](http://kjur.github.io/jsrsasign/api/symbols/global__.html#readFileHexByBin) : read file as binary then convert it to hexadecimal string +- [readFileUTF8](http://kjur.github.io/jsrsasign/api/symbols/global__.html#readFileUTF8) : read file as UTF-8 string +- [saveFile](http://kjur.github.io/jsrsasign/api/symbols/global__.html#saveFile) : save file as binary string +- [saveFileBinByHex](http://kjur.github.io/jsrsasign/api/symbols/global__.html#saveFileBinByHex) : convert a hexadecimal string to raw string then save it as file. + +EXAMPLE(1) SIGNATURE +-------------------- + + > var rsu = require('jsrsasign-util'); + > var rawString = rsu.readFile("bar.bin"); + > rsu.saveFileBinByHex("foo.bin", "30143abb..."); + + diff --git a/npm_util/lib/footer.js b/npm_util/lib/footer.js new file mode 100755 index 00000000..75d090e0 --- /dev/null +++ b/npm_util/lib/footer.js @@ -0,0 +1,7 @@ + +exports.readFileUTF8 = readFileUTF8; +exports.readFileHexByBin = readFileHexByBin; +exports.readFile = readFile; +exports.saveFile = saveFile; +exports.saveFileBinByHex = saveFileBinByHex; + diff --git a/npm_util/lib/header.js b/npm_util/lib/header.js new file mode 100755 index 00000000..bcb9cd61 --- /dev/null +++ b/npm_util/lib/header.js @@ -0,0 +1,2 @@ +/*! jsrsasign-util-1.0.0 (c) 2016 Kenji Urushima | kjur.github.com/jsrsasign/license + */ diff --git a/npm_util/lib/jsrsasign-util.js b/npm_util/lib/jsrsasign-util.js new file mode 100644 index 00000000..8f492c58 --- /dev/null +++ b/npm_util/lib/jsrsasign-util.js @@ -0,0 +1,11 @@ +/*! jsrsasign-util-1.0.0 (c) 2016 Kenji Urushima | kjur.github.com/jsrsasign/license + */ +/*! nodeutil-1.0.0 (c) 2015 Kenji Urushima | kjur.github.com/jsrsasign/license + */ +function readFileUTF8(a){return require("fs").readFileSync(a,"utf8")}function readFileHexByBin(c){var b=require("jsrsasign");var a=require("fs");return b.rstrtohex(a.readFileSync(c,"binary"))}function readFile(b){var a=require("fs");return a.readFileSync(b,"binary")}function saveFile(c,b){var a=require("fs");a.writeFileSync(c,b,"binary")}function saveFileBinByHex(e,b){var a=require("fs");var c=require("jsrsasign");var d=c.hextorstr(b);a.writeFileSync(e,d,"binary")}; +exports.readFileUTF8 = readFileUTF8; +exports.readFileHexByBin = readFileHexByBin; +exports.readFile = readFile; +exports.saveFile = saveFile; +exports.saveFileBinByHex = saveFileBinByHex; + diff --git a/npm_util/package.json b/npm_util/package.json new file mode 100755 index 00000000..b284725d --- /dev/null +++ b/npm_util/package.json @@ -0,0 +1,28 @@ +{ + "name": "jsrsasign-util", + "version": "1.0.0", + "description": "utilities for jsrsasign (kjur.github.io/jsrsasign) such like file utilities", + "main": "lib/jsrsasign-util.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "https://github.com/kjur/jsrsasign.git" + }, + "keywords": [ + "jsrsasign", "utilities", "file" + ], + "author": "Kenji Urushima", + "licenses": [ + { + "type": "MIT", + "url": "https://raw.github.com/kjur/jsrsasign/master/LICENSE.txt" + } + ], + "bugs": { + "url": "https://github.com/kjur/jsrsasign/issues" + }, + "dependencies": { + } +}