use of org.openecard.bouncycastle.crypto.params.KeyParameter in project open-ecard by ecsec.
the class AuthenticationToken method generateToken.
/**
* Generate an authentication token.
*
* @param keyMac Key for message authentication
* @param key Key
* @throws GeneralSecurityException
*/
public void generateToken(byte[] keyMac, byte[] key) throws GeneralSecurityException {
byte[] tmp = new byte[16];
byte[] macData = getMACObject(key);
CMac cMAC = new CMac(new AESEngine());
cMAC.init(new KeyParameter(keyMac));
cMAC.update(macData, 0, macData.length);
cMAC.doFinal(tmp, 0);
System.arraycopy(tmp, 0, token, 0, 8);
}
use of org.openecard.bouncycastle.crypto.params.KeyParameter in project open-ecard by ecsec.
the class SecureMessaging method getCMAC.
/**
* Gets the CMAC.
*
* @param smssc Secure Messaging Send Sequence Counter
* @return CMAC
*/
private CMac getCMAC(byte[] smssc) {
CMac cmac = new CMac(new AESFastEngine());
cmac.init(new KeyParameter(keyMAC));
cmac.update(smssc, 0, smssc.length);
return cmac;
}
Aggregations