java - 无法从文件加载 RSA 公钥(Java)
问题描述
我使用 puttyGen 生成了一个公钥文件,如下所示:
生成包含以下内容的文件:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "rsa-key-20200116"
AAAAB3NzaC1yc2EAAAABJQAAAQEA9/jf/WH+pfOHU0j9bVYjaPHp9V1F+Tau9Pwh
Zd30m389u8dCFQqWcAYIIbAFs5eE744bdztMpIC2HbqO9hCa5AAq1U2CD0XzWUFg
H5OC9krVSuhnsU6FAJoS2zz+I4P30cuLY98Kzxt6q8pouT3fIgRAmWaKpkO/ol46
APub5ZdTTTqHwpuzOKEI0iVkd6Lsqrp98kLnwCxUV3zyecZN/YsoRRpQaMbdfCfi
kc0qKjwVRNffLk4aCPB4X0yY/EYaeLmNObCuyHqvAojM5SsoB7xlFVLfoNLtnygj
Akxty2+3MO2rsO+dl++sPMNg3EK8pfT+igB0piR2dG9LpQf9Vw==
---- END SSH2 PUBLIC KEY ----
但是尝试从下面的这个方法中加载这个公钥完全没有运气:
public static PublicKey getPublicKey(String fileName) throws Exception {
FileReader reader = new FileReader(fileName);
PemReader pemReader = new PemReader(reader);
PemObject pemObj = pemReader.readPemObject();
pemReader.close();
X509EncodedKeySpec spec = new X509EncodedKeySpec(pemObj.getContent());
KeyFactory kf = KeyFactory.getInstance("RSA", "BC");
return kf.generatePublic(spec);
}
结果 PemObject 始终为 null。按照找到的每个教程,有人帮助我。PemObject 和 PemReader 来自 org.bouncycastle.util.io.pem。*
我在做傻事吗?
解决方案
推荐阅读
- python - 如何使用 tensorflow 数据集 API 以不同方式复制每个元素?
- javascript - 使用 gatsbyjs 创建网站时遇到问题
- intellij-idea - IntelliJ 通过 Perforce Checkin 更新 Bugzilla
- css - 设置div的高度
- java - 无法使用 selenium sendKeys 在文本字段中输入字符
- java - CardLayout - 如何删除当前卡片 (Java Swing)
- sql - SQL Server:加入 2 个表,其中每行都有唯一的 PKEY 值
- ios - 使用swift,是否有一个相当于python中的pandas的框架来执行数据分析(读取数据集,删除或插入列,重命名它们)?
- python - 使用 crontab 调度 python 代码运行时出现 ImportError
- r - 如何使用 bigrquery 库将非重复记录插入 BigQuery?