diff options
Diffstat (limited to 'includes/external/school/node_modules/node-forge/tests/nodejs-create-csr.js')
-rw-r--r-- | includes/external/school/node_modules/node-forge/tests/nodejs-create-csr.js | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/includes/external/school/node_modules/node-forge/tests/nodejs-create-csr.js b/includes/external/school/node_modules/node-forge/tests/nodejs-create-csr.js new file mode 100644 index 0000000..1cb335f --- /dev/null +++ b/includes/external/school/node_modules/node-forge/tests/nodejs-create-csr.js @@ -0,0 +1,66 @@ +var forge = require('../js/forge'); + +console.log('Generating 1024-bit key-pair...'); +var keys = forge.pki.rsa.generateKeyPair(1024); +console.log('Key-pair created.'); + +console.log('Creating certification request (CSR) ...'); +var csr = forge.pki.createCertificationRequest(); +csr.publicKey = keys.publicKey; +csr.setSubject([{ + name: 'commonName', + value: 'example.org' +}, { + name: 'countryName', + value: 'US' +}, { + shortName: 'ST', + value: 'Virginia' +}, { + name: 'localityName', + value: 'Blacksburg' +}, { + name: 'organizationName', + value: 'Test' +}, { + shortName: 'OU', + value: 'Test' +}]); +// add optional attributes +csr.setAttributes([{ + name: 'challengePassword', + value: 'password' +}, { + name: 'unstructuredName', + value: 'My company' +}]); + +// sign certification request +csr.sign(keys.privateKey/*, forge.md.sha256.create()*/); +console.log('Certification request (CSR) created.'); + +// PEM-format keys and csr +var pem = { + privateKey: forge.pki.privateKeyToPem(keys.privateKey), + publicKey: forge.pki.publicKeyToPem(keys.publicKey), + csr: forge.pki.certificationRequestToPem(csr) +}; + +console.log('\nKey-Pair:'); +console.log(pem.privateKey); +console.log(pem.publicKey); + +console.log('\nCertification Request (CSR):'); +console.log(pem.csr); + +// verify certification request +try { + if(csr.verify()) { + console.log('Certification request (CSR) verified.'); + } else { + throw new Error('Signature not verified.'); + } +} catch(err) { + console.log('Certification request (CSR) verification failure: ' + + JSON.stringify(err, null, 2)); +} |