Java Bouncycastle生成Ed25519 OpenSSH私钥文件失败

时间:2019-09-18 16:07:49

标签: java bouncycastle openssh ed25519

我一直试图在Java应用程序中以编程方式生成OpenSSH主机密钥,但是我无法获得OpenSSH v1密钥格式的有效Ed25519密钥。我当前的想法是OpenSSHPrivateKeyUtil存在问题,但是我不确定如何验证这一点。这是我目前的尝试:

import org.bouncycastle.crypto.params.Ed25519PrivateKeyParameters;
import org.bouncycastle.crypto.util.OpenSSHPrivateKeyUtil;

import java.util.Base64;

...

Ed25519PrivateKeyParamters keyParamters = new Ed25519PrivateKeyParamters(new SecureRandom());
byte[] encodedPrivateKey = OpenSSHPrivateKeyUtil.encodePrivateKey(keyParameters);
System.out.println(Base64.getEncoder().encodeToString(encodedPrivateKey));

输出看起来像我期望的(类似于ssh-keygen -t ed25519的结果),但是当我将结果放入/ etc / ssh / sshd_host_ed25519_key(以及将相应的公钥放入/ etc / ssh / sshd_host_ed25519_key.pub),我在/ var / log / messages中从sshd收到以下错误:

auth.err: error: Could not load host key: /etc/ssh/sshd_host_ed25519_key

我正在使用以下内容:

  • centos 7.6
  • java 1.8.0_212
  • openssh 7.4p1-16.e17
  • 充气城堡1.63

谢谢您的任何帮助。

0 个答案:

没有答案