如何将PrivateKey转换为SecretKey?

时间:2015-01-29 19:29:00

标签: java constructor type-conversion

我需要使用私钥的值生成一个密钥,并且可以存储在密钥库中。我需要使用方法setEntry

代码附件:

privateKey = keypair.getPrivate();
KeyStore ks = KeyStore.getInstance(KeyStore.getDefaultType());
KeyStore.ProtectionParameter protParam = new KeyStore.PasswordProtection(password);

javax.crypto.SecretKey mySecretKey= null;
KeyStore.SecretKeyEntry skEntry= new KeyStore.SecretKeyEntry(mySecretKey); 

ks.setEntry("secretKeyAlias", skEntry, protParam);

1 个答案:

答案 0 :(得分:4)

相信这是不可能的。

逻辑上,SecretKey表示对称密钥,其中PrivateKey是PublicKey和私钥对的一部分。

此外,就对象建模而言,它们都是接口。因此,一个人不能被转换为'到另一个(除非存在一个实现两个接口但没有意义的类)。