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'塊的異常,並且捕捉到什麼有趣的東西? –