decryptWithRSA.js
Summary
No overview generated for 'decryptWithRSA.js'
Method Summary
|
static void
|
decrypt(crypto, sc, pukey, prkey, algo)
|
SmartCardHSM = require('scsh/sc-hsm/SmartCardHSM').SmartCardHSM;
HSMKeyStore = require('scsh/sc-hsm/HSMKeyStore').HSMKeyStore;
PKCS1 = require('scsh/pkcs/PKCS1').PKCS1;
function decrypt(crypto, sc, pukey, prkey, algo) {
var msg = new ByteString("Hello World", ASCII);
var cipher = crypto.encrypt(pukey, algo, msg);
var plain = sc.getCrypto().decrypt(prkey, algo, cipher);
assert(plain.equals(msg), "Plain message does not match original message");
}
var crypto = new Crypto();
var card = new Card(_scsh3.reader);
var sc = new SmartCardHSM(card);
sc.verifyUserPIN(new ByteString("648219", ASCII));
var ks = new HSMKeyStore(sc);
var label = "SampleKeyForDecrypt";
var prkey = ks.sc.getKey(label);
if (prkey) {
ks.deleteKey(label);
}
print("Generating key");
var cvc = ks.generateRSAKeyPair(label, 2048);
var prkey = ks.sc.getKey(label);
var pukey = cvc.getPublicKey();
print("Crypto.RSA_PKCS1");
decrypt(crypto, sc, pukey, prkey, Crypto.RSA_PKCS1);
print("Crypto.RSA_OAEP_SHA224");
decrypt(crypto, sc, pukey, prkey, Crypto.RSA_OAEP_SHA224);
print("Crypto.RSA_OAEP_SHA256");
decrypt(crypto, sc, pukey, prkey, Crypto.RSA_OAEP_SHA256);
print("Crypto.RSA_OAEP_SHA512");
decrypt(crypto, sc, pukey, prkey, Crypto.RSA_OAEP_SHA512);
Documentation generated by
JSDoc on Sat Feb 24 15:17:19 2024