LacunaWebPKI.init example (with defaultError and notInstalled)

HTML

<script src="https://webpki.lacunasoftware.com/Scripts/LacunaWebPKI/lacuna-web-pki-1.3.5.js"></script>
<form>

    <div id="sign_errors" style="display: none;" class="alert alert-danger">
        <div id="error_msg" class="text-left">

        </div>
    </div>

    <div id="log_panel" class="form-group full-width text-center margin-top-10">
    </div>

    <select class="form-control full-width margin-top-10" id="certificate_select" style="display: none;"></select>

    <div class="text-center" style="display: none;" id="install_container">
        <button id="install_link" type="button" class="btn btn-success margin-top-10" href="javascript:;">
            {{ trans("Storage/DocumentSign.installBtn") }}
        </button>
    </div>
    
    
</form>

CSS

#notInstalledPanel {
    border: 1px solid #000;
    padding: 0.5em;
    background-color: #f0f0f0;
}

JavaScript

var lBtn; // Ladda button - loading
    
    conslole.log('Kiro test');

    var pki = new LacunaWebPKI({
        "format": 1,
        "allowedDomains": [
            "jsfiddle.net",
            "webpki.lacunasoftware.com"
        ],
        "expiration": null,
        "signature": "ClKvO1J22vAD+YmfANiKQLbcLE1lNraPKCel6tRM+ZxR+h6M/crtJYRRVGGz7hrdbM0Y0mfTu15RMYGqQMi1QNZS6GrT4vNzIayv552Fl0EFWQA7jWlctUwfYoHRHVEnCNx9YGXDiA9+yDoGlVwgTR7fjzNeS3Fen1MVIyKBF464gN0JvdiCRJMI47JGVDkPmKjcrYIvJs6y5Lg25RW4ZnBKVruS+HR2s3k8ZrV4y4RCQE4UYMKbukF9vsF+JqAEifRlPq2xLcrNdxBveVDSXS/LRHAcrZrMM+Iw4A79jl0ngWPcy+CwinAhT+3dxVo5ZWMRQFpmTkylEMDvTjV9wQ=="
    });

    function onStart() {
        log('initializing');
        pki.init({
            ready: onWebPkiReady,
            notInstalled: onWebPkiNotInstalled,
            defaultError: onWebPkiError
        });
    }

    function onWebPkiError(message, error, origin) {

        var trans_message = translate(message);

        $('#error_msg').html(trans_message);
        $('#sign_errors').show();
        $('#submit-form-button').removeAttr('disabled');

        if (typeof lBtn != 'undefined') lBtn.ladda('stop');
    }

    function onWebPkiNotInstalled(status, message) {

        var trans_message = translate(message);

        $('#error_msg').html(trans_message);
        $('#sign_errors').show();
        $('#install_container').show();
    }

    function onGoToInstallPage() {
        let return_url = $('#return_url').val();
        pki.redirectToInstallPage(return_url);
    }

    function onWebPkiReady() {
        log('Storage/DocumentSign.components_ready');

        $('#submit-form-button').removeAttr('disabled');
        $('#certificate_select').show();

        lBtn = $('#submit-form-button').ladda();

        pki.listCertificates({
            // specify that expired certificates should be ignored
            filter: pki.filters.isWithinValidity,
            success: function (certs) {
                var select =...