RSA公開鍵と秘密鍵が2つの異なるファイルにあります。 これまで私が行ってきたことです。JavaのRSA公開鍵ファイルを使用してAES鍵を暗号化します
public SecretKey getAESkey() throws Exception, NoSuchAlgorithmException{
KeyGenerator generator = KeyGenerator.getInstance("AES");
generator.init(128);
SecretKey sKey = generator.generateKey();
return sKey; // will be passed to encryptSecretKey method
}
public byte[] encryptSecretKey (SecretKey sKey)
{
Cipher cipher = null;
byte[] key = null;
try
{
// initialize the cipher with the user's public key
cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding");
cipher.init(Cipher.ENCRYPT_MODE, keyHolder.keyPair.getPublic());
key = cipher.doFinal(sKey.getEncoded());
}
catch(Exception e)
{
e.printStackTrace();
}
return key;
}
私は間違っています。私は公開鍵と秘密鍵を保持するオブジェクト(keyHolder)を作った。私はgetPublic()メソッドを呼び出してその公開鍵にアクセスしようとしています。しかし、代わりに私の公開鍵ファイルに直接アクセスし、AES鍵を暗号化するためにバイトストリームを読みたいと思います。それ、どうやったら出来るの?