1
我在兩個不同的文件中有RSA公鑰和私鑰。 這就是我迄今爲止所做的。使用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密鑰。我怎麼做?