gpt4 book ai didi

java - 是否有Java标准库可以直接从ssh-keygen生成的 key 文件构造PrivateKey和PublicKey对象?

转载 作者:行者123 更新时间:2023-12-01 04:48:46 25 4
gpt4 key购买 nike

我想使用 id_rsa 和 id_rsa.pub 为 Java 应用程序创建一个质询-响应登录系统。为此,我希望能够从 id_rsa 和 id_rsa.pub 构造 PublicKeyPrivateKey

直接的方法是以我通常解析文本文件的方式解析这些,然后手动构建适当的 java.security 数据结构,以便在客户端和服务器中进行签名和验证。

是否有标准库快捷方式可以直接提取这些文件?

最佳答案

我知道的最接近和最简单的方法是使用 The Legion of the Bouncy Castle Java API 与类似的东西 -

// Just for the public / private key files...
private static String readFileAsString(
String filePath) throws java.io.IOException {

StringBuilder sb = new StringBuilder(100);
BufferedReader reader = null;
try {
reader = new BufferedReader(new FileReader(
filePath));
int fileIn;
while ((fileIn = reader.read()) != -1) {
sb.append((char) fileIn);
}
} finally {
reader.close();
}
return sb.toString();
}

// Add the SecurityProvider and a Base64 Decoder (Once)
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
BASE64Decoder b64 = new BASE64Decoder();

// For the publicKey
String publicKeyString = readFileAsString(publicKeyFileName);
AsymmetricKeyParameter publicKey =
(AsymmetricKeyParameter) PublicKeyFactory.createKey(b64.decodeBuffer(publicKeyString));

// For the privateKey
String privateKeyString = readFileAsString(privateKeyFilename);
AsymmetricKeyParameter privateKey =
(AsymmetricKeyParameter) PrivateKeyFactory.createKey(b64.decodeBuffer(privateKeyString));

关于java - 是否有Java标准库可以直接从ssh-keygen生成的 key 文件构造PrivateKey和PublicKey对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15375401/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com