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
@@ -7,16 +7,15 @@
7
7
  *
8
8
  * Copyright (c) 2010-2013 Digital Bazaar, Inc.
9
9
  */
10
- (function() {
11
- /* ########## Begin module implementation ########## */
12
- function initModule(forge) {
10
+ var forge = require('./forge');
11
+ require('./hmac');
12
+ require('./md');
13
+ require('./util');
13
14
 
14
15
  var pkcs5 = forge.pkcs5 = forge.pkcs5 || {};
15
16
 
16
- var _nodejs = (
17
- typeof process !== 'undefined' && process.versions && process.versions.node);
18
17
  var crypto;
19
- if(_nodejs && !forge.disableNativeCode) {
18
+ if(forge.util.isNodejs && !forge.options.usePureJavaScript) {
20
19
  crypto = require('crypto');
21
20
  }
22
21
 
@@ -36,7 +35,8 @@ if(_nodejs && !forge.disableNativeCode) {
36
35
  * @return the derived key, as a binary-encoded string of bytes, for the
37
36
  * synchronous version (if no callback is specified).
38
37
  */
39
- forge.pbkdf2 = pkcs5.pbkdf2 = function(p, s, c, dkLen, md, callback) {
38
+ module.exports = forge.pbkdf2 = pkcs5.pbkdf2 = function(
39
+ p, s, c, dkLen, md, callback) {
40
40
  if(typeof md === 'function') {
41
41
  callback = md;
42
42
  md = null;
@@ -44,8 +44,8 @@ forge.pbkdf2 = pkcs5.pbkdf2 = function(p, s, c, dkLen, md, callback) {
44
44
 
45
45
  // use native implementation if possible and not disabled, note that
46
46
  // some node versions only support SHA-1, others allow digest to be changed
47
- if(_nodejs && !forge.disableNativeCode && crypto.pbkdf2 &&
48
- (md === null || typeof md !== 'object') &&
47
+ if(forge.util.isNodejs && !forge.options.usePureJavaScript &&
48
+ crypto.pbkdf2 && (md === null || typeof md !== 'object') &&
49
49
  (crypto.pbkdf2Sync.length > 4 || (!md || md === 'sha1'))) {
50
50
  if(typeof md !== 'string') {
51
51
  // default prf to SHA-1
@@ -77,7 +77,7 @@ forge.pbkdf2 = pkcs5.pbkdf2 = function(p, s, c, dkLen, md, callback) {
77
77
 
78
78
  if(typeof md === 'undefined' || md === null) {
79
79
  // default prf to SHA-1
80
- md = forge.md.sha1.create();
80
+ md = 'sha1';
81
81
  }
82
82
  if(typeof md === 'string') {
83
83
  if(!(md in forge.md.algorithms)) {
@@ -209,57 +209,3 @@ forge.pbkdf2 = pkcs5.pbkdf2 = function(p, s, c, dkLen, md, callback) {
209
209
 
210
210
  outer();
211
211
  };
212
-
213
- } // end module implementation
214
-
215
- /* ########## Begin module wrapper ########## */
216
- var name = 'pbkdf2';
217
- if(typeof define !== 'function') {
218
- // NodeJS -> AMD
219
- if(typeof module === 'object' && module.exports) {
220
- var nodeJS = true;
221
- define = function(ids, factory) {
222
- factory(require, module);
223
- };
224
- } else {
225
- // <script>
226
- if(typeof forge === 'undefined') {
227
- forge = {};
228
- }
229
- return initModule(forge);
230
- }
231
- }
232
- // AMD
233
- var deps;
234
- var defineFunc = function(require, module) {
235
- module.exports = function(forge) {
236
- var mods = deps.map(function(dep) {
237
- return require(dep);
238
- }).concat(initModule);
239
- // handle circular dependencies
240
- forge = forge || {};
241
- forge.defined = forge.defined || {};
242
- if(forge.defined[name]) {
243
- return forge[name];
244
- }
245
- forge.defined[name] = true;
246
- for(var i = 0; i < mods.length; ++i) {
247
- mods[i](forge);
248
- }
249
- return forge[name];
250
- };
251
- };
252
- var tmpDefine = define;
253
- define = function(ids, factory) {
254
- deps = (typeof ids === 'string') ? factory.slice(2) : ids.slice(2);
255
- if(nodeJS) {
256
- delete define;
257
- return tmpDefine.apply(null, Array.prototype.slice.call(arguments, 0));
258
- }
259
- define = tmpDefine;
260
- return define.apply(null, Array.prototype.slice.call(arguments, 0));
261
- };
262
- define(['require', 'module', './hmac', './md', './util'], function() {
263
- defineFunc.apply(null, Array.prototype.slice.call(arguments, 0));
264
- });
265
- })();
@@ -26,12 +26,11 @@
26
26
  *
27
27
  * body: the binary-encoded body.
28
28
  */
29
- (function() {
30
- /* ########## Begin module implementation ########## */
31
- function initModule(forge) {
29
+ var forge = require('./forge');
30
+ require('./util');
32
31
 
33
32
  // shortcut for pem API
34
- var pem = forge.pem = forge.pem || {};
33
+ var pem = module.exports = forge.pem = forge.pem || {};
35
34
 
36
35
  /**
37
36
  * Encodes (serializes) the given PEM object.
@@ -229,57 +228,3 @@ function foldHeader(header) {
229
228
  function ltrim(str) {
230
229
  return str.replace(/^\s+/, '');
231
230
  }
232
-
233
- } // end module implementation
234
-
235
- /* ########## Begin module wrapper ########## */
236
- var name = 'pem';
237
- if(typeof define !== 'function') {
238
- // NodeJS -> AMD
239
- if(typeof module === 'object' && module.exports) {
240
- var nodeJS = true;
241
- define = function(ids, factory) {
242
- factory(require, module);
243
- };
244
- } else {
245
- // <script>
246
- if(typeof forge === 'undefined') {
247
- forge = {};
248
- }
249
- return initModule(forge);
250
- }
251
- }
252
- // AMD
253
- var deps;
254
- var defineFunc = function(require, module) {
255
- module.exports = function(forge) {
256
- var mods = deps.map(function(dep) {
257
- return require(dep);
258
- }).concat(initModule);
259
- // handle circular dependencies
260
- forge = forge || {};
261
- forge.defined = forge.defined || {};
262
- if(forge.defined[name]) {
263
- return forge[name];
264
- }
265
- forge.defined[name] = true;
266
- for(var i = 0; i < mods.length; ++i) {
267
- mods[i](forge);
268
- }
269
- return forge[name];
270
- };
271
- };
272
- var tmpDefine = define;
273
- define = function(ids, factory) {
274
- deps = (typeof ids === 'string') ? factory.slice(2) : ids.slice(2);
275
- if(nodeJS) {
276
- delete define;
277
- return tmpDefine.apply(null, Array.prototype.slice.call(arguments, 0));
278
- }
279
- define = tmpDefine;
280
- return define.apply(null, Array.prototype.slice.call(arguments, 0));
281
- };
282
- define(['require', 'module', './util'], function() {
283
- defineFunc.apply(null, Array.prototype.slice.call(arguments, 0));
284
- });
285
- })();
@@ -43,12 +43,13 @@
43
43
  *
44
44
  * Copyright (c) 2013-2014 Digital Bazaar, Inc.
45
45
  */
46
- (function() {
47
- /* ########## Begin module implementation ########## */
48
- function initModule(forge) {
46
+ var forge = require('./forge');
47
+ require('./util');
48
+ require('./random');
49
+ require('./sha1');
49
50
 
50
51
  // shortcut for PKCS#1 API
51
- var pkcs1 = forge.pkcs1 = forge.pkcs1 || {};
52
+ var pkcs1 = module.exports = forge.pkcs1 = forge.pkcs1 || {};
52
53
 
53
54
  /**
54
55
  * Encode the given RSAES-OAEP message (M) using key, with optional label (L)
@@ -128,7 +129,7 @@ pkcs1.encode_rsa_oaep = function(key, message, options) {
128
129
  seed = forge.random.getBytes(md.digestLength);
129
130
  } else if(seed.length !== md.digestLength) {
130
131
  var error = new Error('Invalid RSAES-OAEP seed. The seed length must ' +
131
- 'match the digest length.')
132
+ 'match the digest length.');
132
133
  error.seedLength = seed.length;
133
134
  error.digestLength = md.digestLength;
134
135
  throw error;
@@ -273,57 +274,3 @@ function rsa_mgf1(seed, maskLength, hash) {
273
274
  }
274
275
  return t.substring(0, maskLength);
275
276
  }
276
-
277
- } // end module implementation
278
-
279
- /* ########## Begin module wrapper ########## */
280
- var name = 'pkcs1';
281
- if(typeof define !== 'function') {
282
- // NodeJS -> AMD
283
- if(typeof module === 'object' && module.exports) {
284
- var nodeJS = true;
285
- define = function(ids, factory) {
286
- factory(require, module);
287
- };
288
- } else {
289
- // <script>
290
- if(typeof forge === 'undefined') {
291
- forge = {};
292
- }
293
- return initModule(forge);
294
- }
295
- }
296
- // AMD
297
- var deps;
298
- var defineFunc = function(require, module) {
299
- module.exports = function(forge) {
300
- var mods = deps.map(function(dep) {
301
- return require(dep);
302
- }).concat(initModule);
303
- // handle circular dependencies
304
- forge = forge || {};
305
- forge.defined = forge.defined || {};
306
- if(forge.defined[name]) {
307
- return forge[name];
308
- }
309
- forge.defined[name] = true;
310
- for(var i = 0; i < mods.length; ++i) {
311
- mods[i](forge);
312
- }
313
- return forge[name];
314
- };
315
- };
316
- var tmpDefine = define;
317
- define = function(ids, factory) {
318
- deps = (typeof ids === 'string') ? factory.slice(2) : ids.slice(2);
319
- if(nodeJS) {
320
- delete define;
321
- return tmpDefine.apply(null, Array.prototype.slice.call(arguments, 0));
322
- }
323
- define = tmpDefine;
324
- return define.apply(null, Array.prototype.slice.call(arguments, 0));
325
- };
326
- define(['require', 'module', './util', './random', './sha1'], function() {
327
- defineFunc.apply(null, Array.prototype.slice.call(arguments, 0));
328
- });
329
- })();
@@ -93,16 +93,24 @@
93
93
  * ... -- For future extensions
94
94
  * }
95
95
  */
96
- (function() {
97
- /* ########## Begin module implementation ########## */
98
- function initModule(forge) {
96
+ var forge = require('./forge');
97
+ require('./asn1');
98
+ require('./hmac');
99
+ require('./oids');
100
+ require('./pkcs7asn1');
101
+ require('./pbe');
102
+ require('./random');
103
+ require('./rsa');
104
+ require('./sha1');
105
+ require('./util');
106
+ require('./x509');
99
107
 
100
108
  // shortcut for asn.1 & PKI API
101
109
  var asn1 = forge.asn1;
102
110
  var pki = forge.pki;
103
111
 
104
112
  // shortcut for PKCS#12 API
105
- var p12 = forge.pkcs12 = forge.pkcs12 || {};
113
+ var p12 = module.exports = forge.pkcs12 = forge.pkcs12 || {};
106
114
 
107
115
  var contentInfoValidator = {
108
116
  name: 'ContentInfo',
@@ -275,8 +283,8 @@ var certBagValidator = {
275
283
  function _getBagsByAttribute(safeContents, attrName, attrValue, bagType) {
276
284
  var result = [];
277
285
 
278
- for(var i = 0; i < safeContents.length; i ++) {
279
- for(var j = 0; j < safeContents[i].safeBags.length; j ++) {
286
+ for(var i = 0; i < safeContents.length; i++) {
287
+ for(var j = 0; j < safeContents[i].safeBags.length; j++) {
280
288
  var bag = safeContents[i].safeBags[j];
281
289
  if(bagType !== undefined && bag.type !== bagType) {
282
290
  continue;
@@ -518,7 +526,7 @@ function _decodeAuthenticatedSafe(pfx, authSafe, strict, password) {
518
526
  'SEQUENCE OF ContentInfo');
519
527
  }
520
528
 
521
- for(var i = 0; i < authSafe.value.length; i ++) {
529
+ for(var i = 0; i < authSafe.value.length; i++) {
522
530
  var contentInfo = authSafe.value[i];
523
531
 
524
532
  // validate contentInfo and capture data
@@ -1064,70 +1072,3 @@ p12.toPkcs12Asn1 = function(key, cert, password, options) {
1064
1072
  * @return a ByteBuffer with the bytes derived from the password.
1065
1073
  */
1066
1074
  p12.generateKey = forge.pbe.generatePkcs12Key;
1067
-
1068
- } // end module implementation
1069
-
1070
- /* ########## Begin module wrapper ########## */
1071
- var name = 'pkcs12';
1072
- if(typeof define !== 'function') {
1073
- // NodeJS -> AMD
1074
- if(typeof module === 'object' && module.exports) {
1075
- var nodeJS = true;
1076
- define = function(ids, factory) {
1077
- factory(require, module);
1078
- };
1079
- } else {
1080
- // <script>
1081
- if(typeof forge === 'undefined') {
1082
- forge = {};
1083
- }
1084
- return initModule(forge);
1085
- }
1086
- }
1087
- // AMD
1088
- var deps;
1089
- var defineFunc = function(require, module) {
1090
- module.exports = function(forge) {
1091
- var mods = deps.map(function(dep) {
1092
- return require(dep);
1093
- }).concat(initModule);
1094
- // handle circular dependencies
1095
- forge = forge || {};
1096
- forge.defined = forge.defined || {};
1097
- if(forge.defined[name]) {
1098
- return forge[name];
1099
- }
1100
- forge.defined[name] = true;
1101
- for(var i = 0; i < mods.length; ++i) {
1102
- mods[i](forge);
1103
- }
1104
- return forge[name];
1105
- };
1106
- };
1107
- var tmpDefine = define;
1108
- define = function(ids, factory) {
1109
- deps = (typeof ids === 'string') ? factory.slice(2) : ids.slice(2);
1110
- if(nodeJS) {
1111
- delete define;
1112
- return tmpDefine.apply(null, Array.prototype.slice.call(arguments, 0));
1113
- }
1114
- define = tmpDefine;
1115
- return define.apply(null, Array.prototype.slice.call(arguments, 0));
1116
- };
1117
- define([
1118
- 'require',
1119
- 'module',
1120
- './asn1',
1121
- './hmac',
1122
- './oids',
1123
- './pkcs7asn1',
1124
- './pbe',
1125
- './random',
1126
- './rsa',
1127
- './sha1',
1128
- './util',
1129
- './x509'
1130
- ], function() {
1131
- defineFunc.apply(null, Array.prototype.slice.call(arguments, 0));
1132
- });
1133
- })();
@@ -16,15 +16,22 @@
16
16
  * a separate file pkcs7asn1.js, since those are referenced from other
17
17
  * PKCS standards like PKCS #12.
18
18
  */
19
- (function() {
20
- /* ########## Begin module implementation ########## */
21
- function initModule(forge) {
19
+ var forge = require('./forge');
20
+ require('./aes');
21
+ require('./asn1');
22
+ require('./des');
23
+ require('./oids');
24
+ require('./pem');
25
+ require('./pkcs7asn1');
26
+ require('./random');
27
+ require('./util');
28
+ require('./x509');
22
29
 
23
30
  // shortcut for ASN.1 API
24
31
  var asn1 = forge.asn1;
25
32
 
26
33
  // shortcut for PKCS#7 API
27
- var p7 = forge.pkcs7 = forge.pkcs7 || {};
34
+ var p7 = module.exports = forge.pkcs7 = forge.pkcs7 || {};
28
35
 
29
36
  /**
30
37
  * Converts a PKCS#7 message from PEM format.
@@ -80,8 +87,7 @@ p7.messageFromAsn1 = function(obj) {
80
87
  // validate root level ContentInfo and capture data
81
88
  var capture = {};
82
89
  var errors = [];
83
- if(!asn1.validate(obj, p7.asn1.contentInfoValidator, capture, errors))
84
- {
90
+ if(!asn1.validate(obj, p7.asn1.contentInfoValidator, capture, errors)) {
85
91
  var error = new Error('Cannot read PKCS#7 message. ' +
86
92
  'ASN.1 object is not an PKCS#7 ContentInfo.');
87
93
  error.errors = errors;
@@ -1233,69 +1239,3 @@ function _decryptContent(msg) {
1233
1239
  msg.content = ciph.output;
1234
1240
  }
1235
1241
  }
1236
-
1237
- } // end module implementation
1238
-
1239
- /* ########## Begin module wrapper ########## */
1240
- var name = 'pkcs7';
1241
- if(typeof define !== 'function') {
1242
- // NodeJS -> AMD
1243
- if(typeof module === 'object' && module.exports) {
1244
- var nodeJS = true;
1245
- define = function(ids, factory) {
1246
- factory(require, module);
1247
- };
1248
- } else {
1249
- // <script>
1250
- if(typeof forge === 'undefined') {
1251
- forge = {};
1252
- }
1253
- return initModule(forge);
1254
- }
1255
- }
1256
- // AMD
1257
- var deps;
1258
- var defineFunc = function(require, module) {
1259
- module.exports = function(forge) {
1260
- var mods = deps.map(function(dep) {
1261
- return require(dep);
1262
- }).concat(initModule);
1263
- // handle circular dependencies
1264
- forge = forge || {};
1265
- forge.defined = forge.defined || {};
1266
- if(forge.defined[name]) {
1267
- return forge[name];
1268
- }
1269
- forge.defined[name] = true;
1270
- for(var i = 0; i < mods.length; ++i) {
1271
- mods[i](forge);
1272
- }
1273
- return forge[name];
1274
- };
1275
- };
1276
- var tmpDefine = define;
1277
- define = function(ids, factory) {
1278
- deps = (typeof ids === 'string') ? factory.slice(2) : ids.slice(2);
1279
- if(nodeJS) {
1280
- delete define;
1281
- return tmpDefine.apply(null, Array.prototype.slice.call(arguments, 0));
1282
- }
1283
- define = tmpDefine;
1284
- return define.apply(null, Array.prototype.slice.call(arguments, 0));
1285
- };
1286
- define([
1287
- 'require',
1288
- 'module',
1289
- './aes',
1290
- './asn1',
1291
- './des',
1292
- './oids',
1293
- './pem',
1294
- './pkcs7asn1',
1295
- './random',
1296
- './util',
1297
- './x509'
1298
- ], function() {
1299
- defineFunc.apply(null, Array.prototype.slice.call(arguments, 0));
1300
- });
1301
- })();
@@ -107,15 +107,15 @@
107
107
  *
108
108
  * EncryptedKey ::= OCTET STRING
109
109
  */
110
- (function() {
111
- /* ########## Begin module implementation ########## */
112
- function initModule(forge) {
110
+ var forge = require('./forge');
111
+ require('./asn1');
112
+ require('./util');
113
113
 
114
114
  // shortcut for ASN.1 API
115
115
  var asn1 = forge.asn1;
116
116
 
117
117
  // shortcut for PKCS#7 API
118
- var p7v = forge.pkcs7asn1 = forge.pkcs7asn1 || {};
118
+ var p7v = module.exports = forge.pkcs7asn1 = forge.pkcs7asn1 || {};
119
119
  forge.pkcs7 = forge.pkcs7 || {};
120
120
  forge.pkcs7.asn1 = p7v;
121
121
 
@@ -407,57 +407,3 @@ p7v.recipientInfoValidator = {
407
407
  capture: 'encKey'
408
408
  }]
409
409
  };
410
-
411
- } // end module implementation
412
-
413
- /* ########## Begin module wrapper ########## */
414
- var name = 'pkcs7asn1';
415
- if(typeof define !== 'function') {
416
- // NodeJS -> AMD
417
- if(typeof module === 'object' && module.exports) {
418
- var nodeJS = true;
419
- define = function(ids, factory) {
420
- factory(require, module);
421
- };
422
- } else {
423
- // <script>
424
- if(typeof forge === 'undefined') {
425
- forge = {};
426
- }
427
- return initModule(forge);
428
- }
429
- }
430
- // AMD
431
- var deps;
432
- var defineFunc = function(require, module) {
433
- module.exports = function(forge) {
434
- var mods = deps.map(function(dep) {
435
- return require(dep);
436
- }).concat(initModule);
437
- // handle circular dependencies
438
- forge = forge || {};
439
- forge.defined = forge.defined || {};
440
- if(forge.defined[name]) {
441
- return forge[name];
442
- }
443
- forge.defined[name] = true;
444
- for(var i = 0; i < mods.length; ++i) {
445
- mods[i](forge);
446
- }
447
- return forge[name];
448
- };
449
- };
450
- var tmpDefine = define;
451
- define = function(ids, factory) {
452
- deps = (typeof ids === 'string') ? factory.slice(2) : ids.slice(2);
453
- if(nodeJS) {
454
- delete define;
455
- return tmpDefine.apply(null, Array.prototype.slice.call(arguments, 0));
456
- }
457
- define = tmpDefine;
458
- return define.apply(null, Array.prototype.slice.call(arguments, 0));
459
- };
460
- define(['require', 'module', './asn1', './util'], function() {
461
- defineFunc.apply(null, Array.prototype.slice.call(arguments, 0));
462
- });
463
- })();
@@ -6,15 +6,23 @@
6
6
  *
7
7
  * Copyright (c) 2010-2013 Digital Bazaar, Inc.
8
8
  */
9
- (function() {
10
- /* ########## Begin module implementation ########## */
11
- function initModule(forge) {
9
+ var forge = require('./forge');
10
+ require('./asn1');
11
+ require('./oids');
12
+ require('./pbe');
13
+ require('./pem');
14
+ require('./pbkdf2');
15
+ require('./pkcs12');
16
+ require('./pss');
17
+ require('./rsa');
18
+ require('./util');
19
+ require('./x509');
12
20
 
13
21
  // shortcut for asn.1 API
14
22
  var asn1 = forge.asn1;
15
23
 
16
24
  /* Public Key Infrastructure (PKI) implementation. */
17
- var pki = forge.pki = forge.pki || {};
25
+ var pki = module.exports = forge.pki = forge.pki || {};
18
26
 
19
27
  /**
20
28
  * NOTE: THIS METHOD IS DEPRECATED. Use pem.decode() instead.
@@ -92,70 +100,3 @@ pki.privateKeyInfoToPem = function(pki, maxline) {
92
100
  };
93
101
  return forge.pem.encode(msg, {maxline: maxline});
94
102
  };
95
-
96
- } // end module implementation
97
-
98
- /* ########## Begin module wrapper ########## */
99
- var name = 'pki';
100
- if(typeof define !== 'function') {
101
- // NodeJS -> AMD
102
- if(typeof module === 'object' && module.exports) {
103
- var nodeJS = true;
104
- define = function(ids, factory) {
105
- factory(require, module);
106
- };
107
- } else {
108
- // <script>
109
- if(typeof forge === 'undefined') {
110
- forge = {};
111
- }
112
- return initModule(forge);
113
- }
114
- }
115
- // AMD
116
- var deps;
117
- var defineFunc = function(require, module) {
118
- module.exports = function(forge) {
119
- var mods = deps.map(function(dep) {
120
- return require(dep);
121
- }).concat(initModule);
122
- // handle circular dependencies
123
- forge = forge || {};
124
- forge.defined = forge.defined || {};
125
- if(forge.defined[name]) {
126
- return forge[name];
127
- }
128
- forge.defined[name] = true;
129
- for(var i = 0; i < mods.length; ++i) {
130
- mods[i](forge);
131
- }
132
- return forge[name];
133
- };
134
- };
135
- var tmpDefine = define;
136
- define = function(ids, factory) {
137
- deps = (typeof ids === 'string') ? factory.slice(2) : ids.slice(2);
138
- if(nodeJS) {
139
- delete define;
140
- return tmpDefine.apply(null, Array.prototype.slice.call(arguments, 0));
141
- }
142
- define = tmpDefine;
143
- return define.apply(null, Array.prototype.slice.call(arguments, 0));
144
- };
145
- define([
146
- 'require',
147
- 'module',
148
- './asn1',
149
- './oids',
150
- './pbe',
151
- './pem',
152
- './pbkdf2',
153
- './pkcs12',
154
- './pss',
155
- './rsa',
156
- './util',
157
- './x509'
158
- ], function() {
159
- defineFunc.apply(null, Array.prototype.slice.call(arguments, 0));
160
- });
161
- })();