JAVA RSA

发布时间:2024-11-21 18:43

学习Java,可考取Oracle的Java SE或EE认证 #生活技巧# #工作学习技巧# #技能培训认证#

RSA 加载公钥时:[color=red]Caused by: java.security.InvalidKeyException: IOException: DerInputStream.getLength(): lengthTag=127, too big.[/color]
加载公钥代码段:

public static String getPubKeyByCer(String cerPath) { String pubKey = ""; try { CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509"); FileInputStream in = new FileInputStream(cerPath); Certificate certificate = certificateFactory.generateCertificate(in); in.close(); PublicKey publicKey = certificate.getPublicKey(); pubKey = Base64Utils.encode(publicKey.getEncoded()); } catch (CertificateException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } catch (Exception e) {e.printStackTrace();} return pubKey; }

解决办法:[color=red]加载错误-->去掉文件中的首尾行BEGIN,END[/color]
加载方法改为:

public static String loadPublicKeyByFile(String path) throws Exception { try { BufferedReader br = new BufferedReader(new FileReader(path)); String readLine = null; StringBuilder sb = new StringBuilder(); while ((readLine = br.readLine()) != null) { sb.append(readLine); } br.close(); return sb.toString(); } catch (IOException e) { throw new Exception("公钥数据流读取错误"); } catch (NullPointerException e) { throw new Exception("公钥输入流为空"); } }

网址:JAVA RSA https://www.yuejiaxmz.com/news/view/178059

相关内容

JAVA题目
Java
robot java
java旧物捐赠app(ssm)
java家庭安防系统(ssm)
Java 在生活中的 10 大应用
10年Java面试总结:Java程序员面试必备的面试技巧
MelvorIdleCheatEngine
java健康饮食管理系统(ssm)
Java HotSpot(TM) 64

随便看看