node-forge 0.6.47 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +106 -0
  2. package/LICENSE +3 -3
  3. package/README.md +254 -175
  4. package/dist/forge.all.min.js +11 -0
  5. package/dist/forge.all.min.js.map +1 -0
  6. package/dist/forge.min.js +10 -0
  7. package/dist/forge.min.js.map +1 -0
  8. package/dist/prime.worker.min.js +2 -0
  9. package/dist/prime.worker.min.js.map +1 -0
  10. package/flash/README.md +48 -0
  11. package/flash/package.json +28 -0
  12. package/flash/swf/SocketPool.swf +0 -0
  13. package/{js → lib}/aes.js +5 -61
  14. package/{js → lib}/aesCipherSuites.js +4 -58
  15. package/{js → lib}/asn1.js +371 -132
  16. package/{js → lib}/cipher.js +3 -59
  17. package/{js → lib}/cipherModes.js +3 -65
  18. package/{js → lib}/debug.js +2 -58
  19. package/{js → lib}/des.js +6 -63
  20. package/lib/forge.js +13 -0
  21. package/{js → lib}/form.js +5 -13
  22. package/{js → lib}/hmac.js +4 -58
  23. package/{js → lib}/http.js +15 -20
  24. package/lib/index.all.js +16 -0
  25. package/lib/index.js +34 -0
  26. package/{js → lib}/jsbn.js +3 -60
  27. package/{js → lib}/kem.js +5 -58
  28. package/{js → lib}/log.js +3 -58
  29. package/lib/md.all.js +13 -0
  30. package/lib/md.js +11 -0
  31. package/{js → lib}/md5.js +4 -60
  32. package/lib/mgf.js +12 -0
  33. package/lib/mgf1.js +57 -0
  34. package/lib/oids.js +159 -0
  35. package/{js → lib}/pbe.js +29 -79
  36. package/{js → lib}/pbkdf2.js +10 -64
  37. package/{js → lib}/pem.js +3 -58
  38. package/{js → lib}/pkcs1.js +6 -59
  39. package/{js → lib}/pkcs12.js +15 -74
  40. package/{js → lib}/pkcs7.js +12 -72
  41. package/{js → lib}/pkcs7asn1.js +4 -58
  42. package/{js → lib}/pki.js +12 -71
  43. package/{js → lib}/prime.js +18 -58
  44. package/{js → lib}/prime.worker.js +4 -1
  45. package/{js → lib}/prng.js +5 -62
  46. package/{js → lib}/pss.js +7 -61
  47. package/{js → lib}/random.js +11 -57
  48. package/{js → lib}/rc2.js +13 -73
  49. package/{js → lib}/rsa.js +13 -71
  50. package/{js → lib}/sha1.js +4 -60
  51. package/{js → lib}/sha256.js +4 -60
  52. package/{js → lib}/sha512.js +19 -61
  53. package/{js → lib}/socket.js +8 -63
  54. package/{js → lib}/ssh.js +7 -66
  55. package/{js → lib}/task.js +5 -58
  56. package/{js → lib}/tls.js +10 -67
  57. package/{js → lib}/tlssocket.js +6 -61
  58. package/{js → lib}/util.js +39 -68
  59. package/{js → lib}/x509.js +25 -102
  60. package/{js → lib}/xhr.js +12 -15
  61. package/package.json +58 -21
  62. package/js/forge.js +0 -94
  63. package/js/md.js +0 -75
  64. package/js/mgf.js +0 -67
  65. package/js/mgf1.js +0 -112
  66. package/js/oids.js +0 -288
  67. package/swf/SocketPool.swf +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-forge",
3
- "version": "0.6.47",
3
+ "version": "0.7.1",
4
4
  "description": "JavaScript implementations of network transports, cryptography, ciphers, PKI, message digests, and various utilities.",
5
5
  "homepage": "https://github.com/digitalbazaar/forge",
6
6
  "author": {
@@ -9,23 +9,37 @@
9
9
  "url": "http://digitalbazaar.com/"
10
10
  },
11
11
  "contributors": [
12
- {
13
- "name": "Dave Longley",
14
- "email": "dlongley@digitalbazaar.com"
15
- },
16
- {
17
- "name": "Stefan Siegl",
18
- "email": "stesie@brokenpipe.de"
19
- },
20
- {
21
- "name": "Christoph Dorn",
22
- "email": "christoph@christophdorn.com"
23
- }
12
+ "Dave Longley <dlongley@digitalbazaar.com>",
13
+ "David I. Lehn <dlehn@digitalbazaar.com>",
14
+ "Stefan Siegl <stesie@brokenpipe.de>",
15
+ "Christoph Dorn <christoph@christophdorn.com>"
24
16
  ],
25
17
  "devDependencies": {
26
- "almond": "~0.2.6",
27
- "jscs": "^1.8.1",
28
- "requirejs": "~2.1.8"
18
+ "browserify": "^13.1.1",
19
+ "commander": "^2.9.0",
20
+ "express": "^4.14.1",
21
+ "istanbul": "^0.4.5",
22
+ "jscs": "^3.0.7",
23
+ "jshint": "^2.9.4",
24
+ "karma": "^1.4.1",
25
+ "karma-browserify": "^5.1.1",
26
+ "karma-chrome-launcher": "^2.0.0",
27
+ "karma-edge-launcher": "^0.2.0",
28
+ "karma-firefox-launcher": "^1.0.0",
29
+ "karma-ie-launcher": "^1.0.0",
30
+ "karma-mocha": "^1.3.0",
31
+ "karma-mocha-reporter": "^2.2.2",
32
+ "karma-phantomjs-launcher": "^1.0.2",
33
+ "karma-safari-launcher": "^1.0.0",
34
+ "karma-sauce-launcher": "^1.1.0",
35
+ "karma-sourcemap-loader": "^0.3.7",
36
+ "karma-tap-reporter": "0.0.6",
37
+ "karma-webpack": "^2.0.2",
38
+ "mocha": "^3.2.0",
39
+ "mocha-lcov-reporter": "^1.2.0",
40
+ "nodejs-websocket": "^1.7.1",
41
+ "opts": "^1.2.2",
42
+ "webpack": "^2.2.0"
29
43
  },
30
44
  "repository": {
31
45
  "type": "git",
@@ -36,7 +50,13 @@
36
50
  "email": "support@digitalbazaar.com"
37
51
  },
38
52
  "license": "(BSD-3-Clause OR GPL-2.0)",
39
- "main": "js/forge.js",
53
+ "main": "lib/index.js",
54
+ "files": [
55
+ "lib/*.js",
56
+ "flash/swf/*.swf",
57
+ "dist/*.min.js",
58
+ "dist/*.min.js.map"
59
+ ],
40
60
  "engines": {
41
61
  "node": "*"
42
62
  },
@@ -70,12 +90,29 @@
70
90
  "x509"
71
91
  ],
72
92
  "scripts": {
73
- "bundle": "r.js -o minify.js optimize=none out=js/forge.bundle.js",
74
- "minify": "r.js -o minify.js",
75
- "jscs": "jscs *.js js/*.js minify.js nodejs/*.js nodejs/test/*.js nodejs/ui/*.js tests/*.js",
76
- "jshint": "jshint *.js js/*.js minify.js nodejs/*.js nodejs/test/*.js nodejs/ui/*.js tests/*.js"
93
+ "prepublish": "npm run build",
94
+ "build": "webpack",
95
+ "test-build": "webpack --config webpack-tests.config.js",
96
+ "test": "mocha -t 30000 -R spec tests/unit/index.js",
97
+ "test-karma": "karma start",
98
+ "test-karma-sauce": "karma start karma-sauce.conf",
99
+ "test-server": "node tests/server.js",
100
+ "test-server-ws": "node tests/websockets/server-ws.js",
101
+ "test-server-webid": "node tests/websockets/server-webid.js",
102
+ "coverage": "rm -rf coverage && ./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha -- -u exports -t 30000 -R spec tests/unit/index.js",
103
+ "coverage-lcov": "rm -rf coverage && ./node_modules/.bin/istanbul cover ./node_modules/.bin/_mocha --report lcovonly -- -u exports -t 30000 -R spec tests/unit/index.js",
104
+ "coverage-report": "./node_modules/.bin/istanbul report",
105
+ "jscs": "jscs *.js lib/*.js tests/*.js tests/unit/*.js tests/legacy/*.js tests/issues/*.js tests/websockets/*.js",
106
+ "jshint": "jshint *.js lib/*.js tests/unit/*.js tests/legacy/*.js tests/issues/*.js tests/websockets/*.js",
107
+ "_jscs": "jscs *.js lib/*.js tests/*.js tests/unit/*.js tests/legacy/*.js tests/issues/*.js tests/websockets/*.js",
108
+ "_jshint": "jshint *.js lib/*.js tests/*.js tests/unit/*.js tests/legacy/*.js tests/issues/*.js tests/websockets/*.js"
77
109
  },
78
110
  "jspm": {
79
111
  "format": "amd"
112
+ },
113
+ "browser": {
114
+ "buffer": false,
115
+ "crypto": false,
116
+ "process": false
80
117
  }
81
118
  }
package/js/forge.js DELETED
@@ -1,94 +0,0 @@
1
- /**
2
- * Node.js module for Forge.
3
- *
4
- * @author Dave Longley
5
- *
6
- * Copyright 2011-2014 Digital Bazaar, Inc.
7
- */
8
- (function() {
9
- var name = 'forge';
10
- if(typeof define !== 'function') {
11
- // NodeJS -> AMD
12
- if(typeof module === 'object' && module.exports) {
13
- var nodeJS = true;
14
- define = function(ids, factory) {
15
- factory(require, module);
16
- };
17
- } else {
18
- // <script>
19
- if(typeof forge === 'undefined') {
20
- // set to true to disable native code if even it's available
21
- forge = {disableNativeCode: false};
22
- }
23
- return;
24
- }
25
- }
26
- // AMD
27
- var deps;
28
- var defineFunc = function(require, module) {
29
- module.exports = function(forge) {
30
- var mods = deps.map(function(dep) {
31
- return require(dep);
32
- });
33
- // handle circular dependencies
34
- forge = forge || {};
35
- forge.defined = forge.defined || {};
36
- if(forge.defined[name]) {
37
- return forge[name];
38
- }
39
- forge.defined[name] = true;
40
- for(var i = 0; i < mods.length; ++i) {
41
- if(typeof mods[i] === 'function') {
42
- mods[i](forge);
43
- }
44
- }
45
- return forge;
46
- };
47
- // set to true to disable native code if even it's available
48
- module.exports.disableNativeCode = false;
49
- module.exports(module.exports);
50
- };
51
- var tmpDefine = define;
52
- define = function(ids, factory) {
53
- deps = (typeof ids === 'string') ? factory.slice(2) : ids.slice(2);
54
- if(nodeJS) {
55
- delete define;
56
- return tmpDefine.apply(null, Array.prototype.slice.call(arguments, 0));
57
- }
58
- define = tmpDefine;
59
- return define.apply(null, Array.prototype.slice.call(arguments, 0));
60
- };
61
- define([
62
- 'require',
63
- 'module',
64
- './aes',
65
- './aesCipherSuites',
66
- './asn1',
67
- './cipher',
68
- './cipherModes',
69
- './debug',
70
- './des',
71
- './hmac',
72
- './kem',
73
- './log',
74
- './md',
75
- './mgf1',
76
- './pbkdf2',
77
- './pem',
78
- './pkcs7',
79
- './pkcs1',
80
- './pkcs12',
81
- './pki',
82
- './prime',
83
- './prng',
84
- './pss',
85
- './random',
86
- './rc2',
87
- './ssh',
88
- './task',
89
- './tls',
90
- './util'
91
- ], function() {
92
- defineFunc.apply(null, Array.prototype.slice.call(arguments, 0));
93
- });
94
- })();
package/js/md.js DELETED
@@ -1,75 +0,0 @@
1
- /**
2
- * Node.js module for Forge message digests.
3
- *
4
- * @author Dave Longley
5
- *
6
- * Copyright 2011-2014 Digital Bazaar, Inc.
7
- */
8
- (function() {
9
- /* ########## Begin module implementation ########## */
10
- function initModule(forge) {
11
-
12
- forge.md = forge.md || {};
13
- forge.md.algorithms = {
14
- md5: forge.md5,
15
- sha1: forge.sha1,
16
- sha256: forge.sha256
17
- };
18
- forge.md.md5 = forge.md5;
19
- forge.md.sha1 = forge.sha1;
20
- forge.md.sha256 = forge.sha256;
21
-
22
- } // end module implementation
23
-
24
- /* ########## Begin module wrapper ########## */
25
- var name = 'md';
26
- if(typeof define !== 'function') {
27
- // NodeJS -> AMD
28
- if(typeof module === 'object' && module.exports) {
29
- var nodeJS = true;
30
- define = function(ids, factory) {
31
- factory(require, module);
32
- };
33
- } else {
34
- // <script>
35
- if(typeof forge === 'undefined') {
36
- forge = {};
37
- }
38
- return initModule(forge);
39
- }
40
- }
41
- // AMD
42
- var deps;
43
- var defineFunc = function(require, module) {
44
- module.exports = function(forge) {
45
- var mods = deps.map(function(dep) {
46
- return require(dep);
47
- }).concat(initModule);
48
- // handle circular dependencies
49
- forge = forge || {};
50
- forge.defined = forge.defined || {};
51
- if(forge.defined[name]) {
52
- return forge[name];
53
- }
54
- forge.defined[name] = true;
55
- for(var i = 0; i < mods.length; ++i) {
56
- mods[i](forge);
57
- }
58
- return forge[name];
59
- };
60
- };
61
- var tmpDefine = define;
62
- define = function(ids, factory) {
63
- deps = (typeof ids === 'string') ? factory.slice(2) : ids.slice(2);
64
- if(nodeJS) {
65
- delete define;
66
- return tmpDefine.apply(null, Array.prototype.slice.call(arguments, 0));
67
- }
68
- define = tmpDefine;
69
- return define.apply(null, Array.prototype.slice.call(arguments, 0));
70
- };
71
- define(
72
- ['require', 'module', './md5', './sha1', './sha256', './sha512'], function() {
73
- defineFunc.apply(null, Array.prototype.slice.call(arguments, 0));
74
- });
75
- })();
package/js/mgf.js DELETED
@@ -1,67 +0,0 @@
1
- /**
2
- * Node.js module for Forge mask generation functions.
3
- *
4
- * @author Stefan Siegl
5
- *
6
- * Copyright 2012 Stefan Siegl <stesie@brokenpipe.de>
7
- */
8
- (function() {
9
- /* ########## Begin module implementation ########## */
10
- function initModule(forge) {
11
-
12
- forge.mgf = forge.mgf || {};
13
- forge.mgf.mgf1 = forge.mgf1;
14
-
15
- } // end module implementation
16
-
17
- /* ########## Begin module wrapper ########## */
18
- var name = 'mgf';
19
- if(typeof define !== 'function') {
20
- // NodeJS -> AMD
21
- if(typeof module === 'object' && module.exports) {
22
- var nodeJS = true;
23
- define = function(ids, factory) {
24
- factory(require, module);
25
- };
26
- } else {
27
- // <script>
28
- if(typeof forge === 'undefined') {
29
- forge = {};
30
- }
31
- return initModule(forge);
32
- }
33
- }
34
- // AMD
35
- var deps;
36
- var defineFunc = function(require, module) {
37
- module.exports = function(forge) {
38
- var mods = deps.map(function(dep) {
39
- return require(dep);
40
- }).concat(initModule);
41
- // handle circular dependencies
42
- forge = forge || {};
43
- forge.defined = forge.defined || {};
44
- if(forge.defined[name]) {
45
- return forge[name];
46
- }
47
- forge.defined[name] = true;
48
- for(var i = 0; i < mods.length; ++i) {
49
- mods[i](forge);
50
- }
51
- return forge[name];
52
- };
53
- };
54
- var tmpDefine = define;
55
- define = function(ids, factory) {
56
- deps = (typeof ids === 'string') ? factory.slice(2) : ids.slice(2);
57
- if(nodeJS) {
58
- delete define;
59
- return tmpDefine.apply(null, Array.prototype.slice.call(arguments, 0));
60
- }
61
- define = tmpDefine;
62
- return define.apply(null, Array.prototype.slice.call(arguments, 0));
63
- };
64
- define(['require', 'module', './mgf1'], function() {
65
- defineFunc.apply(null, Array.prototype.slice.call(arguments, 0));
66
- });
67
- })();
package/js/mgf1.js DELETED
@@ -1,112 +0,0 @@
1
- /**
2
- * Javascript implementation of mask generation function MGF1.
3
- *
4
- * @author Stefan Siegl
5
- * @author Dave Longley
6
- *
7
- * Copyright (c) 2012 Stefan Siegl <stesie@brokenpipe.de>
8
- * Copyright (c) 2014 Digital Bazaar, Inc.
9
- */
10
- (function() {
11
- /* ########## Begin module implementation ########## */
12
- function initModule(forge) {
13
-
14
- forge.mgf = forge.mgf || {};
15
- var mgf1 = forge.mgf.mgf1 = forge.mgf1 = forge.mgf1 || {};
16
-
17
- /**
18
- * Creates a MGF1 mask generation function object.
19
- *
20
- * @param md the message digest API to use (eg: forge.md.sha1.create()).
21
- *
22
- * @return a mask generation function object.
23
- */
24
- mgf1.create = function(md) {
25
- var mgf = {
26
- /**
27
- * Generate mask of specified length.
28
- *
29
- * @param {String} seed The seed for mask generation.
30
- * @param maskLen Number of bytes to generate.
31
- * @return {String} The generated mask.
32
- */
33
- generate: function(seed, maskLen) {
34
- /* 2. Let T be the empty octet string. */
35
- var t = new forge.util.ByteBuffer();
36
-
37
- /* 3. For counter from 0 to ceil(maskLen / hLen), do the following: */
38
- var len = Math.ceil(maskLen / md.digestLength);
39
- for(var i = 0; i < len; i++) {
40
- /* a. Convert counter to an octet string C of length 4 octets */
41
- var c = new forge.util.ByteBuffer();
42
- c.putInt32(i);
43
-
44
- /* b. Concatenate the hash of the seed mgfSeed and C to the octet
45
- * string T: */
46
- md.start();
47
- md.update(seed + c.getBytes());
48
- t.putBuffer(md.digest());
49
- }
50
-
51
- /* Output the leading maskLen octets of T as the octet string mask. */
52
- t.truncate(t.length() - maskLen);
53
- return t.getBytes();
54
- }
55
- };
56
-
57
- return mgf;
58
- };
59
-
60
- } // end module implementation
61
-
62
- /* ########## Begin module wrapper ########## */
63
- var name = 'mgf1';
64
- if(typeof define !== 'function') {
65
- // NodeJS -> AMD
66
- if(typeof module === 'object' && module.exports) {
67
- var nodeJS = true;
68
- define = function(ids, factory) {
69
- factory(require, module);
70
- };
71
- } else {
72
- // <script>
73
- if(typeof forge === 'undefined') {
74
- forge = {};
75
- }
76
- return initModule(forge);
77
- }
78
- }
79
- // AMD
80
- var deps;
81
- var defineFunc = function(require, module) {
82
- module.exports = function(forge) {
83
- var mods = deps.map(function(dep) {
84
- return require(dep);
85
- }).concat(initModule);
86
- // handle circular dependencies
87
- forge = forge || {};
88
- forge.defined = forge.defined || {};
89
- if(forge.defined[name]) {
90
- return forge[name];
91
- }
92
- forge.defined[name] = true;
93
- for(var i = 0; i < mods.length; ++i) {
94
- mods[i](forge);
95
- }
96
- return forge[name];
97
- };
98
- };
99
- var tmpDefine = define;
100
- define = function(ids, factory) {
101
- deps = (typeof ids === 'string') ? factory.slice(2) : ids.slice(2);
102
- if(nodeJS) {
103
- delete define;
104
- return tmpDefine.apply(null, Array.prototype.slice.call(arguments, 0));
105
- }
106
- define = tmpDefine;
107
- return define.apply(null, Array.prototype.slice.call(arguments, 0));
108
- };
109
- define(['require', 'module', './util'], function() {
110
- defineFunc.apply(null, Array.prototype.slice.call(arguments, 0));
111
- });
112
- })();