diff options
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.js | 313 |
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); - } - }); -}); |