LacunaWebPKI: first example
by Lacuna Software
HTML
<script src="https://get.webpkiplugin.com/Scripts/LacunaWebPKI/lacuna-web-pki-2.7.0.js"></script>
<select id="certificateSelect"></select><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 style="font-family: monospace;" id="logPanel"></div>
JavaScript
// ------------------------------------------------------------------------------------------
// LacunaWebPKI: first example
var pki = new LacunaWebPKI('AgwAanNmaWRkbGUubmV0QwBpcDQ6MTAuMC4wLjAvOCxpcDQ6MTI3LjAuMC4wLzgsaXA0OjE3Mi4xNi4wLjAvMTIsaXA0OjE5Mi4xNjguMC4wLzE2AgBDQQgAANidNiCG4AgAARN2oAJB4t7lxfqJgD7RcAAj038cUjT01eZEsTUqR3JelB6q9JWUV+rjdHamDbErK4Ms6t85wo2KR8XKn6cPeud5zoZ5XlsUowjRSazRvWG87qm4t/0NUjpk+dOt7KXos8WVHynlHtyxzgNyoEwNYoFxKjx5TaLT/AvcZx5gtzh1bgDImuV1tgAxaQcAudtxeW5wyzqS2zhoIBJDLgCw+fsRSQnVW/I6OQd2vbL4HhKBp2DRGrNjDX2bncyek3loXjSXFqMOeBxPgWdtLAZSunG+Mavwnt5DTduZ2I7KEwDy1ffxcMyea/9SbWeb6GHBnO4yBCMg2EhnSBd4o04slvo=');
function start() {
log('Initializing component ...');
pki.init(onWebPkiReady);
}
function onWebPkiReady () {
log('Component ready, listing certificates ...');
pki.listCertificates().success(function (certs) {
log(certs.length + ' certificates found.');
var select = $('#certificateSelect');
$.each(certs, function() {
select.append(
$('<option />')
.val(this.thumbprint)
.text(this.subjectName + ' (issued by ' + this.issuerName + ')')
);
});
});
}
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 =...