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.
- package/CHANGELOG.md +106 -0
- package/LICENSE +3 -3
- package/README.md +254 -175
- package/dist/forge.all.min.js +11 -0
- package/dist/forge.all.min.js.map +1 -0
- package/dist/forge.min.js +10 -0
- package/dist/forge.min.js.map +1 -0
- package/dist/prime.worker.min.js +2 -0
- package/dist/prime.worker.min.js.map +1 -0
- package/flash/README.md +48 -0
- package/flash/package.json +28 -0
- package/flash/swf/SocketPool.swf +0 -0
- package/{js → lib}/aes.js +5 -61
- package/{js → lib}/aesCipherSuites.js +4 -58
- package/{js → lib}/asn1.js +371 -132
- package/{js → lib}/cipher.js +3 -59
- package/{js → lib}/cipherModes.js +3 -65
- package/{js → lib}/debug.js +2 -58
- package/{js → lib}/des.js +6 -63
- package/lib/forge.js +13 -0
- package/{js → lib}/form.js +5 -13
- package/{js → lib}/hmac.js +4 -58
- package/{js → lib}/http.js +15 -20
- package/lib/index.all.js +16 -0
- package/lib/index.js +34 -0
- package/{js → lib}/jsbn.js +3 -60
- package/{js → lib}/kem.js +5 -58
- package/{js → lib}/log.js +3 -58
- package/lib/md.all.js +13 -0
- package/lib/md.js +11 -0
- package/{js → lib}/md5.js +4 -60
- package/lib/mgf.js +12 -0
- package/lib/mgf1.js +57 -0
- package/lib/oids.js +159 -0
- package/{js → lib}/pbe.js +29 -79
- package/{js → lib}/pbkdf2.js +10 -64
- package/{js → lib}/pem.js +3 -58
- package/{js → lib}/pkcs1.js +6 -59
- package/{js → lib}/pkcs12.js +15 -74
- package/{js → lib}/pkcs7.js +12 -72
- package/{js → lib}/pkcs7asn1.js +4 -58
- package/{js → lib}/pki.js +12 -71
- package/{js → lib}/prime.js +18 -58
- package/{js → lib}/prime.worker.js +4 -1
- package/{js → lib}/prng.js +5 -62
- package/{js → lib}/pss.js +7 -61
- package/{js → lib}/random.js +11 -57
- package/{js → lib}/rc2.js +13 -73
- package/{js → lib}/rsa.js +13 -71
- package/{js → lib}/sha1.js +4 -60
- package/{js → lib}/sha256.js +4 -60
- package/{js → lib}/sha512.js +19 -61
- package/{js → lib}/socket.js +8 -63
- package/{js → lib}/ssh.js +7 -66
- package/{js → lib}/task.js +5 -58
- package/{js → lib}/tls.js +10 -67
- package/{js → lib}/tlssocket.js +6 -61
- package/{js → lib}/util.js +39 -68
- package/{js → lib}/x509.js +25 -102
- package/{js → lib}/xhr.js +12 -15
- package/package.json +58 -21
- package/js/forge.js +0 -94
- package/js/md.js +0 -75
- package/js/mgf.js +0 -67
- package/js/mgf1.js +0 -112
- package/js/oids.js +0 -288
- package/swf/SocketPool.swf +0 -0
package/{js → lib}/pbkdf2.js
RENAMED
|
@@ -7,16 +7,15 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Copyright (c) 2010-2013 Digital Bazaar, Inc.
|
|
9
9
|
*/
|
|
10
|
-
(
|
|
11
|
-
|
|
12
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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 =
|
|
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
|
-
})();
|
package/{js → lib}/pem.js
RENAMED
|
@@ -26,12 +26,11 @@
|
|
|
26
26
|
*
|
|
27
27
|
* body: the binary-encoded body.
|
|
28
28
|
*/
|
|
29
|
-
(
|
|
30
|
-
|
|
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
|
-
})();
|
package/{js → lib}/pkcs1.js
RENAMED
|
@@ -43,12 +43,13 @@
|
|
|
43
43
|
*
|
|
44
44
|
* Copyright (c) 2013-2014 Digital Bazaar, Inc.
|
|
45
45
|
*/
|
|
46
|
-
(
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
})();
|
package/{js → lib}/pkcs12.js
RENAMED
|
@@ -93,16 +93,24 @@
|
|
|
93
93
|
* ... -- For future extensions
|
|
94
94
|
* }
|
|
95
95
|
*/
|
|
96
|
-
(
|
|
97
|
-
|
|
98
|
-
|
|
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
|
-
})();
|
package/{js → lib}/pkcs7.js
RENAMED
|
@@ -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
|
-
(
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
})();
|
package/{js → lib}/pkcs7asn1.js
RENAMED
|
@@ -107,15 +107,15 @@
|
|
|
107
107
|
*
|
|
108
108
|
* EncryptedKey ::= OCTET STRING
|
|
109
109
|
*/
|
|
110
|
-
(
|
|
111
|
-
|
|
112
|
-
|
|
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
|
-
})();
|
package/{js → lib}/pki.js
RENAMED
|
@@ -6,15 +6,23 @@
|
|
|
6
6
|
*
|
|
7
7
|
* Copyright (c) 2010-2013 Digital Bazaar, Inc.
|
|
8
8
|
*/
|
|
9
|
-
(
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
})();
|