我正在尝试从我的文件中提取 ECDSA 公钥已知主机归档该文件ssh用于验证主机。我下面有一个例子。
这是我的known_hosts 文件中“127.0.0.1 ecdsa-sha2-nistp256”的条目:
AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBF3QCzKPRluwunLRHaFVEZNGCPD/rT13yFjKiCesA1qoU3rEp9syhnJgTbaJgK70OjoT71fDGkwwcnCZuJQPFfo=
我通过 Base64 解码器运行它得到:
�ecdsa-sha2-nistp256���nistp256���A]2F[rUF=wXʈ'ZSzħ2r`M::WL0rp
所以我假设这些问号是某种分隔符(不,那些是长度)。我认为 nistp256 是使用的椭圆曲线,但最后一个值到底是什么?
根据我的阅读,ECDSA 的公钥有一对值 x 和 y,它们代表曲线上的一个点。有没有办法从那里提取x和y?
我正在尝试将其转换为 Java 公钥对象,但我需要 x 和 y 才能执行此操作。
并非所有字符都会显示,因为它们是二进制的。将 Base64 解码值写入文件并在十六进制编辑器中打开它。
P256 曲线的公钥应该是一个 65 字节的数组,从值为 4 的字节(这意味着非压缩点)开始。接下来的 32 个字节是 x 值,接下来的 32 个字节是 y 值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)