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": {
+ }
+}