importAESFromKeyManager.js
Summary
Example for importing an AES key using a runnin key manager instance.
if (typeof(km) == "undefined") {
throw new Error("Key Manager must be running");
}
var aes = new Key();
aes.setComponent(Key.AES, new ByteString("00112233445566778899AABBCCDDEEFF", HEX));
aes.label = "ImportedAESKey";
var kdid = -1;
do {
kdid++;
var kd = km.sc.queryKeyDomainStatus(kdid);
if ((kd.sw == 0x6A86) || (kd.sw == 0x6D00)) {
throw new Error("No empty key domain found.");
}
} while (kd.sw != 0x6A88);
km.sc.createDKEKKeyDomain(kdid, 1);
var share = km.crypto.generateRandom(32);
km.sc.importKeyShare(kdid, share);
var dkek = new DKEK(km.crypto);
dkek.importDKEKShare(share);
var blob = dkek.encodeAESKey(aes);
dkek.dumpKeyBLOB(blob);
var key = km.ks.importAESKey(aes.label, blob, aes.getSize());
km.sc.deleteKEK(kdid);
km.setCard(km.sc.card);
Documentation generated by
JSDoc on Thu Apr 3 11:32:15 2025