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));
因为这不起作用我不知道我怎么可以添加一个值,我希望作为keykey的密钥。下面是我得到
java.math.BigInteger cannot be cast to javax.crypto.SecretKey
我感谢您的回答,但尽管我摆脱了铸造错误,但出现了一个新错误:不能存储非私钥,虽然我特别存储了secretkey。 – eskoba
粘贴错误日志 –
错误:java.security.KeyStoreException:无法存储非私钥//当我尝试在此代码上设置密钥存储区的setEntry()时,会发生非私人密钥ks.setEntry(“secretKeyAlias”,skEntry, new KeyStore.PasswordProtection(密码)); – eskoba