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 =...