java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException: 检测过早的 EOF [英] java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException: Detect premature EOF

查看:515
本文介绍了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: 检测过早的 EOF

java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException: Detect premature EOF

问题出在哪里?

推荐答案

public static PublicKey getPublicKey(String key) throws Exception {
      byte[] keyBytes;  
      keyBytes = (new BASE64Decoder()).decodeBuffer(key); 
      X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes); 
      KeyFactory keyFactory = KeyFactory.getInstance("RSA");
      PublicKey publicKey = keyFactory.generatePublic(keySpec); 
      return publicKey;
  }

这就是我如何将字符串密钥"转换为真正的 rsa 密钥(PublicKey publicKey).也许有帮助.

this is how i turn "String key" into real rsa key(PublicKey publicKey). maybe helps.

这篇关于java.security.spec.InvalidKeySpecException: java.security.InvalidKeyException: IOException: 检测过早的 EOF的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆