0
我有这样的代码:java.security.spec.InvalidKeySpecException:java.security.InvalidKeyException:IOException异常:早产检测EOF
// Turn the encoded key into a real RSA public key.
// Public keys are encoded in X.509.
X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes);
KeyFactory keyFactory = KeyFactory.getInstance("RSA");
PublicKey publicKey = keyFactory.generatePublic(keySpec);
错误:
java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException: Detect premature EOF
问题出在哪里?
你从哪里得到'keyBytes'? –
从这段代码:File f = new File(“C:/Users/Joe/Desktop/joesaab.txt”); 尝试FileInputStream fis = new FileInputStream(f); ByteArrayOutputStream baos = new ByteArrayOutputStream(); int theByte = 0; ((theByte = fis.read())!= -1) { baos.write(theByte); } fis.close(); byte [] keyBytes = baos.toByteArray(); baos.close(); System.out.println(“pub和priv done ..编码开始!”); – user3077162
该文件是否存在?你拼写正确的路径和名称? 'keyBytes'的内容是什么?它看起来合理吗?或者它只是一个空字符串或什么的?你在哪里捕捉'try'块的异常,并且捕捉到什么有趣的东西? –