summaryrefslogtreecommitdiff
path: root/includes/external/school/node_modules/node-forge/tests/webid.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/external/school/node_modules/node-forge/tests/webid.js')
-rw-r--r--includes/external/school/node_modules/node-forge/tests/webid.js313
1 files changed, 0 insertions, 313 deletions
diff --git a/includes/external/school/node_modules/node-forge/tests/webid.js b/includes/external/school/node_modules/node-forge/tests/webid.js
deleted file mode 100644
index 7c07ab9..0000000
--- a/includes/external/school/node_modules/node-forge/tests/webid.js
+++ /dev/null
@@ -1,313 +0,0 @@
-/**
- * Forge Web ID Tests
- *
- * @author Dave Longley
- *
- * Copyright (c) 2010 Digital Bazaar, Inc. All rights reserved.
- */
-(function($)
-{
- // load flash socket pool
- window.forge.socketPool = {};
- window.forge.socketPool.ready = function()
- {
- // init forge xhr
- forge.xhr.init({
- flashId: 'socketPool',
- policyPort: 19945,
- msie: $.browser.msie,
- connections: 10,
- caCerts: [],
- verify: function(c, verified, depth, certs)
- {
- // don't care about cert verification for test
- return true;
- }
- });
- };
- swfobject.embedSWF(
- 'forge/SocketPool.swf', 'socketPool', '0', '0', '9.0.0',
- false, {}, {allowscriptaccess: 'always'}, {});
-})(jQuery);
-
-jQuery(function($)
-{
- var cat = 'forge.tests.webid';
-
- // local alias
- var forge = window.forge;
-
- $('#create').click(function()
- {
- var bits = $('#bits')[0].value;
- var uri = $('#uri')[0].value;
- var commonName = $('#commonName')[0].value;
- forge.log.debug(cat, 'generating ' + bits +
- '-bit RSA key-pair and certificate...');
-
- // function to create cert
- var createCert = function(keys)
- {
- try
- {
- var cert = forge.pki.createCertificate();
- cert.serialNumber = '01';
- cert.validity.notBefore = new Date();
- cert.validity.notAfter = new Date();
- cert.validity.notAfter.setFullYear(
- cert.validity.notBefore.getFullYear() + 1);
- var attrs = [{
- name: 'commonName',
- value: commonName
- }, {
- name: 'countryName',
- value: 'US'
- }, {
- shortName: 'ST',
- value: 'Virginia'
- }, {
- name: 'localityName',
- value: 'Blacksburg'
- }, {
- name: 'organizationName',
- value: 'Test'
- }, {
- shortName: 'OU',
- value: 'Test'
- }];
- cert.setSubject(attrs);
- cert.setIssuer(attrs);
- cert.setExtensions([{
- name: 'basicConstraints',
- cA: true
- }, {
- name: 'keyUsage',
- keyCertSign: true,
- digitalSignature: true,
- nonRepudiation: true,
- keyEncipherment: true,
- dataEncipherment: true
- }, {
- name: 'subjectAltName',
- altNames: [{
- type: 6, // URI
- value: uri
- }]
- }]);
- // FIXME: add subjectKeyIdentifier extension
- // FIXME: add authorityKeyIdentifier extension
- cert.publicKey = keys.publicKey;
-
- // self-sign certificate
- cert.sign(keys.privateKey);
-
- // verify certificate
- forge.log.debug('verified', cert.verify(cert));
-
- forge.log.debug(cat, 'certificate:', cert);
- //forge.log.debug(cat,
- // forge.asn1.prettyPrint(forge.pki.certificateToAsn1(cert)));
- var keyPem = forge.pki.privateKeyToPem(keys.privateKey);
- var certPem = forge.pki.certificateToPem(cert);
- forge.log.debug(cat, keyPem);
- forge.log.debug(cat, certPem);
-
- forge.log.debug(cat, 'storing certificate and private key...');
- try
- {
- // get flash API
- var flashApi = document.getElementById('socketPool');
-
- // get web ids collection
- var webids = forge.util.getItem(
- flashApi, 'forge.test.webid', 'webids');
- webids = webids || {};
-
- // add web id
- webids[uri] = {
- certificate: certPem,
- privateKey: keyPem
- };
-
- // update web ids collection
- forge.util.setItem(
- flashApi, 'forge.test.webid', 'webids', webids);
-
- forge.log.debug(cat, 'certificate and private key stored');
- $('#show').click();
- }
- catch(ex)
- {
- forge.log.error(cat, ex);
- }
- }
- catch(ex)
- {
- forge.log.error(cat, ex, ex.message ? ex.message : '');
- }
- };
-
- // create key-generation state and function to step algorithm
- var progress = $('#progress');
- progress.html('Generating ' + bits + '-bit key-pair.');
- var state = forge.pki.rsa.createKeyPairGenerationState(bits);
- var kgTime = +new Date();
- var step = function()
- {
- // step key-generation
- if(!forge.pki.rsa.stepKeyPairGenerationState(state, 1000))
- {
- progress.html(progress.html() + '.');
- setTimeout(step, 1);
- }
- // key-generation complete
- else
- {
- kgTime = +new Date() - kgTime;
- forge.log.debug(cat, 'Total key-gen time', kgTime + 'ms');
- createCert(state.keys);
- progress.html(progress.html() + 'done. Time=' + kgTime + 'ms');
- }
- };
-
- // run key-gen algorithm
- setTimeout(step, 0);
- });
-
- $('#show').click(function()
- {
- forge.log.debug(cat, 'get stored web IDs...');
- try
- {
- // get flash API
- var flashApi = document.getElementById('socketPool');
-
- // get web ids collection
- var webids = forge.util.getItem(
- flashApi, 'forge.test.webid', 'webids');
- webids = webids || {};
-
- var html = '<ul>';
- var webid, cert;
- for(var key in webids)
- {
- webid = webids[key];
- cert = forge.pki.certificateFromPem(webid.certificate);
- html += '<li><p>' + key + '</p>';
-
- var attr;
- for(var n = 0; n < cert.subject.attributes.length; ++n)
- {
- attr = cert.subject.attributes[n];
- html += attr.name + ': ' + attr.value + '<br/>';
- }
-
- //html += '<p>' + webid.certificate + '</p></li>';
- html += '</li>';
- }
- if(html === '<ul>')
- {
- html = 'None';
- }
- else
- {
- html += '</ul>';
- }
-
- $('#webids').html(html);
-
- forge.log.debug(cat, 'Web IDs retrieved');
- }
- catch(ex)
- {
- forge.log.error(cat, ex);
- }
- });
-
- $('#clear').click(function()
- {
- forge.log.debug(cat, 'clearing all web IDs...');
- try
- {
- // get flash API
- var flashApi = document.getElementById('socketPool');
- forge.util.clearItems(flashApi, 'forge.test.webid');
- $('#webids').html('None');
- forge.log.debug(cat, 'Web IDs cleared');
- }
- catch(ex)
- {
- forge.log.error(cat, ex);
- }
- });
-
- $('#authenticate').click(function()
- {
- forge.log.debug(cat, 'doing Web ID authentication...');
-
- try
- {
- // get flash API
- var flashApi = document.getElementById('socketPool');
-
- // get web ids collection
- var webids = forge.util.getItem(
- flashApi, 'forge.test.webid', 'webids');
- webids = webids || {};
-
- var uri = $('#webid')[0].value;
- var webid = webids[uri];
-
- $.ajax(
- {
- type: 'GET',
- url: '/',
- success: function(data, textStatus, xhr)
- {
- if(data !== '')
- {
- forge.log.debug(cat, 'authentication completed');
- forge.log.debug(cat, data);
- }
- else
- {
- forge.log.error(cat, 'authentication failed');
- }
- },
- error: function(xhr, textStatus, errorThrown)
- {
- forge.log.error(cat, 'authentication failed');
- },
- xhr: function()
- {
- return forge.xhr.create({
- // FIXME: change URL
- url: 'https://localhost:4433',
- connections: 10,
- caCerts: [],
- verify: function(c, verified, depth, certs)
- {
- // don't care about cert verification for test
- return true;
- },
- getCertificate: function(c)
- {
- //forge.log.debug(cat, 'using cert', webid.certificate);
- return webid.certificate;
- },
- getPrivateKey: function(c)
- {
- //forge.log.debug(cat,
- // 'using private key', webid.privateKey);
- return webid.privateKey;
- }
- });
- }
- });
- }
- catch(ex)
- {
- forge.log.error(cat, ex);
- }
- });
-});