LacunaWebPKI: Show token details Example
by Lacuna Software
HTML
<script type="text/javascript" src="https://cdn.lacunasoftware.com/libs/web-pki/lacuna-web-pki-2.14.3.min.js"
integrity="sha256-P92LF1ePw0qwnmbefDpDiMcr8rmwFkcxVX+utanmlek="
crossorigin="anonymous"></script>
<h2>Web PKI - Show Token Details Example</h2>
<p>Select a token:</p>
<select id="tokenSelect"></select>
<button id="refreshTokens" type="button">Refresh Tokens</button>
<br/><br/>
<h3>Token Details</h3>
<div id="tokenDetails"></div>
<h4>Logs:</h4>
<div id="logPanel"></div>
CSS
body {
margin: 20px;
font-family: sans-serif;
}
.label {
font-family: monospace;
font-weight: bold;
}
.info {
font-family: monospace;
}
#logPanel {
font-family: monospace;
}
JavaScript
// ------------------------------------------------------------------------------------------
// Lacuna Web PKI - Show Token Details Example
var webPkiLicense = 'AiEAKi5sYWN1bmFzb2Z0d2FyZS5jb20sanNmaWRkbGUubmV0AAADAFBybwgAABg/D+l74AgAAVP0dSRjd5vjlQ8EFzCfN2tOR/S2ENB6x1vRXssle+wxvbEeT3/vmzm7eKDMWr8kgl2W/BfUqYCOC0PnLOVKS8Em0OXtYD+F3WI1+3zQcvI2W34ppGVx1zizoRfyq+Q4KZ9rZPtFYyoBmr1SR5ZyWPqXWNY7p5XWFkxvFmQU11jho5Cd8VX6cv2OuOEw4eBptN5whzV+9XPHEmPav+TJB0hsYbw0TzwLC253i8WhJEQyIVenNGNNHT3foxsFmDTvXqF/HgjOwqgyJJ1hL0wIqsN0pB5weYhjGLwlRt1FqLV1xTScs5nP3xWTK/CPBpq3NDdTobQMsc7PEF46RT1qXbg=';
var pki = new LacunaWebPKI(webPkiLicense);
function start() {
log('Initializing component...');
pki.init({
ready: onWebPkiReady,
defaultFail: onWebPkiError,
requiredApiVersion: pki.apiVersions.v1_5_2,
notInstalled: onNotInstalled
});
}
function onWebPkiReady() {
refreshTokens();
}
function onWebPkiError(ex) {
log('Error: ' + ex.userMessage + ' (' + ex.code + ')');
}
function onNotInstalled(state) {
var status = state === pki.installationStates.OUTDATED ? 'update' : 'install';
alert('You need to ' + status + ' Web PKI plugin in order to continue');
pki.redirectToInstallPage();
}
// ------------------------------------------
// Set supported PKCS#11 modules
var p11Modules = [
pki.pkcs11Modules.safeSign,
pki.pkcs11Modules.safeNet,
{ win: 'lm_cryptoide_pkcs11.dll', linux: '', mac: '' }
];
var tokens = [];
// ------------------------------------------
function refreshTokens() {
log('Listing Tokens...');
pki.listTokens({
pkcs11Modules: p11Modules
}).success(function(tokenList){
tokens = tokenList;
$('#tokenSelect').empty();
$.each(tokens, function() {
$('#tokenSelect').append($('<option />')
.val(this.serialNumber)
.text(`${this.label} (${this.model} ${this.manufacturer})`));
});
log('Tokens found: ' + tokens.length);
...