generate-key-with-use-counter.js
Summary
Agree a common key between two SmartCard-HSM (requires V2.1)
var SmartCardHSM = require('scsh/sc-hsm/SmartCardHSM').SmartCardHSM;
var SmartCardHSMKeySpecGenerator = require("scsh/sc-hsm/SmartCardHSM").SmartCardHSMKeySpecGenerator;
var HSMKeyStore = require("scsh/sc-hsm/HSMKeyStore").HSMKeyStore;
var crypto = new Crypto();
var card = new Card(_scsh3.reader);
var sc = new SmartCardHSM(card);
var ks = new HSMKeyStore(sc);
sc.verifyUserPIN(new ByteString("648219", ASCII));
var label = "AESKey";
if (ks.hasKey(label)) {
ks.deleteKey(label);
}
var spec = new SmartCardHSMKeySpecGenerator(Crypto.AES, 128);
spec.setAlgorithms(new ByteString("101118929499", HEX));
spec.setKeyUseCounter(100000000);
ks.generateKey(label, spec);
label = "ECKey";
if (ks.hasKey(label)) {
ks.deleteKey(label);
}
var dp = new Key();
dp.setComponent(Key.ECC_CURVE_OID, new ByteString("brainpoolP256r1", OID));
var spec = new SmartCardHSMKeySpecGenerator(Crypto.EC, dp);
spec.setKeyUseCounter(100);
ks.generateKeyPair(label, spec);
label = "RSAKey";
if (ks.hasKey(label)) {
ks.deleteKey(label);
}
var spec = new SmartCardHSMKeySpecGenerator(Crypto.RSA, 2048);
spec.setKeyUseCounter(100);
ks.generateKeyPair(label, spec);
Documentation generated by
JSDoc on Sat Feb 24 15:17:19 2024