forked from coolaj86/bluecrypt-keypairs.js
do der and pem for ecdsa only
This commit is contained in:
parent
4b44a576c1
commit
f0166afeeb
128
app.js
128
app.js
|
@ -1,75 +1,79 @@
|
|||
(function () {
|
||||
'use strict';
|
||||
'use strict';
|
||||
|
||||
var Keypairs = window.Keypairs;
|
||||
var Keypairs = window.Keypairs;
|
||||
|
||||
function $(sel) {
|
||||
return document.querySelector(sel);
|
||||
}
|
||||
function $$(sel) {
|
||||
return Array.prototype.slice.call(document.querySelectorAll(sel));
|
||||
}
|
||||
function $(sel) {
|
||||
return document.querySelector(sel);
|
||||
}
|
||||
function $$(sel) {
|
||||
return Array.prototype.slice.call(document.querySelectorAll(sel));
|
||||
}
|
||||
|
||||
function run() {
|
||||
console.log('hello');
|
||||
function run() {
|
||||
console.log('hello');
|
||||
|
||||
// Show different options for ECDSA vs RSA
|
||||
$$('input[name="kty"]').forEach(function ($el) {
|
||||
$el.addEventListener('change', function (ev) {
|
||||
console.log(this);
|
||||
console.log(ev);
|
||||
if ("RSA" === ev.target.value) {
|
||||
$('.js-rsa-opts').hidden = false;
|
||||
$('.js-ec-opts').hidden = true;
|
||||
} else {
|
||||
$('.js-rsa-opts').hidden = true;
|
||||
$('.js-ec-opts').hidden = false;
|
||||
}
|
||||
// Show different options for ECDSA vs RSA
|
||||
$$('input[name="kty"]').forEach(function ($el) {
|
||||
$el.addEventListener('change', function (ev) {
|
||||
console.log(this);
|
||||
console.log(ev);
|
||||
if ("RSA" === ev.target.value) {
|
||||
$('.js-rsa-opts').hidden = false;
|
||||
$('.js-ec-opts').hidden = true;
|
||||
} else {
|
||||
$('.js-rsa-opts').hidden = true;
|
||||
$('.js-ec-opts').hidden = false;
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// Generate a key on submit
|
||||
$('form.js-keygen').addEventListener('submit', function (ev) {
|
||||
ev.preventDefault();
|
||||
ev.stopPropagation();
|
||||
$('.js-loading').hidden = false;
|
||||
$('.js-jwk').hidden = true;
|
||||
$$('input').map(function ($el) { $el.disabled = true; });
|
||||
$$('button').map(function ($el) { $el.disabled = true; });
|
||||
var opts = {
|
||||
kty: $('input[name="kty"]:checked').value
|
||||
, namedCurve: $('input[name="ec-crv"]:checked').value
|
||||
, modulusLength: $('input[name="rsa-len"]:checked').value
|
||||
};
|
||||
console.log('opts', opts);
|
||||
Keypairs.generate(opts).then(function (results) {
|
||||
var der = x509.packPkcs8(results.private);
|
||||
var pem = Eckles.export({jwk:results.private})
|
||||
// Generate a key on submit
|
||||
$('form.js-keygen').addEventListener('submit', function (ev) {
|
||||
ev.preventDefault();
|
||||
ev.stopPropagation();
|
||||
$('.js-loading').hidden = false;
|
||||
$('.js-jwk').hidden = true;
|
||||
$('.js-toc-der').hidden = true;
|
||||
$('.js-toc-pem').hidden = true;
|
||||
$$('input').map(function ($el) { $el.disabled = true; });
|
||||
$$('button').map(function ($el) { $el.disabled = true; });
|
||||
var opts = {
|
||||
kty: $('input[name="kty"]:checked').value
|
||||
, namedCurve: $('input[name="ec-crv"]:checked').value
|
||||
, modulusLength: $('input[name="rsa-len"]:checked').value
|
||||
};
|
||||
console.log('opts', opts);
|
||||
Keypairs.generate(opts).then(function (results) {
|
||||
if (opts.kty == 'EC') {
|
||||
var der = x509.packPkcs8(results.private);
|
||||
var pem = Eckles.export({ jwk: results.private })
|
||||
$('.js-der').innerText = JSON.stringify(der, null, 2);
|
||||
$('.js-input-pem').innerText = pem;
|
||||
$('.js-toc-der').hidden = false;
|
||||
$('.js-toc-pem').hidden = false;
|
||||
}
|
||||
|
||||
$('.js-jwk').innerText = JSON.stringify(results, null, 2);
|
||||
$('.js-der').innerText = JSON.stringify(der, null, 2);
|
||||
$('.js-input-pem').innerText = pem;
|
||||
//
|
||||
$('.js-loading').hidden = true;
|
||||
$('.js-jwk').hidden = false;
|
||||
$$('input').map(function ($el) { $el.disabled = false; });
|
||||
$$('button').map(function ($el) { $el.disabled = false; });
|
||||
$('.js-toc-jwk').hidden = false;
|
||||
$('.js-toc-der').hidden = false;
|
||||
$('.js-toc-pem').hidden = false;
|
||||
$('.js-jwk').innerText = JSON.stringify(results, null, 2);
|
||||
//
|
||||
$('.js-loading').hidden = true;
|
||||
$('.js-jwk').hidden = false;
|
||||
$$('input').map(function ($el) { $el.disabled = false; });
|
||||
$$('button').map(function ($el) { $el.disabled = false; });
|
||||
$('.js-toc-jwk').hidden = false;
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
$('form.js-acme-account').addEventListener('submit', function (ev) {
|
||||
ev.preventDefault();
|
||||
ev.stopPropagation();
|
||||
$('.js-loading').hidden = false;
|
||||
ACME.accounts.create
|
||||
});
|
||||
$('form.js-acme-account').addEventListener('submit', function (ev) {
|
||||
ev.preventDefault();
|
||||
ev.stopPropagation();
|
||||
$('.js-loading').hidden = false;
|
||||
ACME.accounts.create
|
||||
});
|
||||
|
||||
$('.js-generate').hidden = false;
|
||||
$('.js-create-account').hidden = false;
|
||||
}
|
||||
$('.js-generate').hidden = false;
|
||||
$('.js-create-account').hidden = false;
|
||||
}
|
||||
|
||||
window.addEventListener('load', run);
|
||||
window.addEventListener('load', run);
|
||||
}());
|
||||
|
|
Loading…
Reference in New Issue