ITPub博客

首页 > 应用开发 > > 请求大神的帮助

请求大神的帮助

作者:limiao 时间:2019-08-15 11:00:57 0 删除 编辑

用ssh-keygen生成的公钥和私钥如何在java中转为RSAPublicKey和RSAPrivateKey

公钥和私钥是用"ssh-keygen -t rsa"生成的,我把生成的公钥以字符串的形式传入下面的函数(从网上找的)就会报错。

public static PublicKey string2PublicKey(String pubStr) throws Exception{

ByteBuffer byteBuffer =

ByteBuffer.wrap(Base64.getDecoder().decode(pubStr));

byte[] keyBytes = byteBuffer.array();

X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes);

KeyFactory keyFactory = KeyFactory.getInstance("RSA");

PublicKey publicKey = keyFactory.generatePublic(keySpec);

return publicKey;

}

上面函数原本在提供的程序中传入的是“MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCVRiDkEKXy/KBTe+UmkA+feq1zGWIgBxkgbz7aBJGb5+eMKKoiDRoEHzlGndwFKm4mQWNftuMOfNcogzYpGKSEfC7sqfBPDHsGPZixMWzL3J10zkMTWo6MDIXKKqMG1Pgeq1wENfJjcYSU/enYSZkg3rFTOaBSFId+rrPjPo7Y4wIDAQAB”是没有问题的。

而我传入的是“AAAAB3NzaC1yc2EAAAADAQABAAABAQDVDZ+IhrOQo0ditlTlLTq7k2g1hFvw5o7TiUnkT4tKHIi2EtNloMknZgs3aBPdSb6a21ZaD0QPCRAnZ9/2Pcs4OvrRcwNzZBxLdjNGPrfitH0n62Y6HSp3LSvhRKa25AcBsgmQrAKoOveSunlZNKVCSuaBk4BayHb7QPRB8G8m9fKl3Dev9IY207kqUu6j8/iZB5hocK6rBkYlobyQcPVmBU9Y/ZcI7cnP4TiHnX7wi2KNRbm6yNYbRQzKKl6QSLpIPuRsqDmZvM0yoDJDj7Sio7f21oijosrlMvapjmGvFOn1Gcl6Sh0YYTGUXANkZqwWqkEpUs1l03s+OAEOBUQH”。请问问题在哪里,该如何将由ssh-keygen生成的密钥在java中用于加密和解密?

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4549/viewspace-3147535/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-07-10

  • 博文量
    190
  • 访问量
    1371