LacunaWebPKI: Certificate Operations
by Lacuna Software
HTML
<script src="https://rawgit.com/malsup/blockui/316f6e5d76a33266970778e80507149d9ef6a02d/jquery.blockUI.js"></script>
<script src="https://get.webpkiplugin.com/Scripts/LacunaWebPKI/lacuna-web-pki-2.9.0.js"></script>
<h2>Web PKI - Certificate Operations</h2>
<select id="certificateSelect"></select>
<button id="refreshButton" type="button">Refresh</button><br/><br/>
<button id="readCertButton" type="button">Read Cert</button>
<button id="signDataButton" type="button">Sign Data</button>
<button id="signHashButton" type="button">Sign Hash</button>
<div id="logPanel"></div>
JavaScript
// ------------------------------------------------------------------------------------------
// LacunaWebPKI: Certificate Operations
var pki = new LacunaWebPKI('AiEAKi5sYWN1bmFzb2Z0d2FyZS5jb20sanNmaWRkbGUubmV0AAACAENBCAAAGD8P6XvgCAABL3ZCfMfZGteSXNb2XNHBws9WZcTv0FCVe4qlxUXgaMzx4iymA73nVrD55o+S83b/alfQHs2xoIoPd6qiBDqbefk4GDnc84efZAX4UV7sHYr5x6+IRZ+RjW1DVZkJ9vo2/3/JeSRnj1Yvn3jtDf77jz2osQkFC5jSLABzCMAC/LXqPhOdZcK8hoyWOaghcsGvb5eezEFeJl+nkjDgZ6PsggdDpyWwLBFru4IeSRLE1HeP6TE6g5RQFjFHqNNCFRpP23/FQGD9/YDi2mR07lUxznt92z8GYygkp6O0Nv3ltj3eDGzN89LlgTBgsA2upsm0tTIgkWTDsKvqY6TwfsQ5tA==');
function start() {
pki.init({
ready: onWebPkiReady,
defaultFail: function (ex) {
log('Error: ' + ex.userMessage + ' (' + ex.code + ')');
}
});
}
function onWebPkiReady () {
refreshCertificates();
}
function refreshCertificates() {
pki.listCertificates({
selectId: 'certificateSelect'
}).success(function (certs) {
log(certs.length + ' certificates found.');
});
}
function readCert() {
var selectedCertThumb = $('#certificateSelect').val();
log('Reading certificate: ' + selectedCertThumb);
pki.readCertificate(selectedCertThumb).success(function (certEncoding) {
log('Result: ' + certEncoding);
});
}
function signData() {
var selectedCertThumb = $('#certificateSelect').val();
log('Signing data with certificate: ' + selectedCertThumb);
pki.signData({
thumbprint: selectedCertThumb,
data: 'SGVsbG8sIFdvcmxkIQ==', // ASCII encoding of the string "Hello, World!", encoded in Base64
digestAlgorithm: 'SHA-256'
}).success(function (signature) {
log('Result: ' + signature);
});
}
function signHash() {
var selectedCertThumb = $('#certificateSelect').val();
log('Signing hash with certificate: ' + selectedCertThumb);
pki.signHash({
thumbprint: selectedCertThumb,
hash:...