0

我有创建大整数值的函数。我想将这些值用作密钥库的密钥条目。我想知道是否有办法将这些大整数值作为密钥添加到密钥库中。我试图将大整数值强制转换为密钥,但出现一个错误,即无法将大整数转换为密钥。这是迄今为止我得到的最好的。

KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
char[] password = "ps".toByteArray();
ks.load(null, password);
....
BigInteger sect=getsect();
javax.crypto.SecretKey mySecretKey=(SecretKey)sect;
KeyStore.SecretKeyEntry skEntry =
    new KeyStore.SecretKeyEntry(mySecretKey);
ks.setEntry("secretKeyAlias", skEntry, 
    new KeyStore.PasswordProtection(password));

由于这不起作用,我不知道如何将我希望的值作为密钥添加到密钥库。以下是我收到的错误消息

java.math.BigInteger cannot be cast to javax.crypto.SecretKey
4

1 回答 1

0
  • 一个教程
  • generateSecret() 接口

    PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray());

    SecretKeyFactory kf = SecretKeyFactory.getInstance("PBEWithMD5AndDES");

    SecretKey passwordKey = kf.generateSecret(keySpec);

于 2013-08-26T17:49:05.930 回答