Android存储RSA公钥

时间:2019-06-14 19:02:22

标签: android key rsa

我要与之通信的服务器上有一个带有公共密钥的文件。 现在,我在将文件存储到我的应用程序时遇到了问题。 除了从文件中读取公钥,还有其他方法吗? 我总是收到java.io.FileNotFoundException。

我尝试将密钥硬编码为字符串,然后将其传递为:

Byte[] keyBytes = publicKey.getBytes();

但是这对我来说没有效果。

到目前为止,我的代码是:

File pubKeyFile = new File("keyFile/public.der");
        DataInputStream dis = new DataInputStream(new FileInputStream(pubKeyFile));
        byte[] keyBytes = new byte[(int) pubKeyFile.length()];

        dis.readFully(keyBytes);
        dis.close();

        X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes);
        KeyFactory keyFactory = KeyFactory.getInstance("RSA");
        RSAPublicKey publicKey = (RSAPublicKey)keyFactory.generatePublic(keySpec);

现在我认为我做错了很大的事,但是我想不出更好的方法。

感谢您的帮助

0 个答案:

没有答案