读取公共密钥文件并使用密钥加密另一个文件时出现问题。
|
我一直在努力阅读一个公共密钥文件,该文件要在文件中获取密钥字符串,然后用它来加密另一个文件。我正在使用RSA PKCS1 v1.5通过SH1哈希算法algorythim对文件进行加密和签名,但这不是问题,问题在于我已经提供了用于加密时使用的公钥文件,我似乎无法赢读取文件并生成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();
}
}
有人可以帮忙!!
没有找到相关结果
已邀请:
2 个回复
呕蹿尉
是危险的,因为该读取方法仅读取encKey字节,而不必读取。更好地从InputStream创建一个DataInputStream并使用readFully(encKey):
亥套惟间连
//这是文件中的PublicKey。 \ “J45t4SWGbFzeNuunHliNDZcLVeFU7lOpyNkX1xX + sVNaVJK8Cr0rSjUkDC8h9n + Zg7m0MVYk0byafPycmzWNDynpvj2go9mXwmUpmcQprX1vexxT5j1XmAaBZFYaJRcPWSVU92pdNh1Sd3USdFjgH0LQ5B3s8F95xdyc / 5I5LDKhRobx6c1gUs / rnJfJjAgynrE4AsNsNem + STaZWjeb4J + f5Egy9xTSEl6UWxCClgCwhXopy10cBlH8CucpP0cyckOCIOloJ7mEMRCIpp6HPpYexVmXXSikTXh7aQ7tSlTMwUziIERc / zRpyj1Nk96Y7V8AorLFrn1R4Of66mpAdQ == \”