我一直在努力阅读一个公钥文件,我想在文件中获取密钥字符串并使用它来加密另一个文件。我正在使用 RSA PKCS1 v1.5 使用 SH1 散列算法对文件进行加密和签名,但这不是问题,问题是我已经获得了要在加密时使用的公钥文件,我似乎无法通过阅读获胜文件并生成一个 publicKey 对象。
这是代码:
void setPublicKey(String file)
{
try
{
FileInputStream keyfis = new FileInputStream(file);
byte[] encKey = new byte[keyfis.available()]; keyfis.read(encKey);
keyfis.close();
X509EncodedKeySpec pubKeySpec = new X509EncodedKeySpec(encKey);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
// I get an exception on the below line
publicKey = keyFactory.generatePublic(pubKeySpec);
} catch (Exception e)
{
e.printStackTrace();
}
}
有人可以帮忙吗!!