主要问题就是这样.解析openssh公钥以rfc 4716符合格式.唯一的问题是它必须在java中.
使用ssh-keygen,它只是单行命令:
ssh-keygen -e -f openssh_key.pub
Run Code Online (Sandbox Code Playgroud)
不幸的是,我在Java中找不到任何其他来源.甚至没有提到转换所需的任何算法或步骤.所有这些都围绕着ssh-keygen自身的使用.当然,我可以java.exec用来调用命令,但那是最糟糕的情况.
示例openssh密钥(已将其保留为代码格式,以便保留生成的空格/换行符):
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDwxgE7D3HYLYddNHLMFK8OfpRwwUSgxiB8fbecvkCUEktSpWikvsWTyCnl5p3uSmsGg/F1lwVPXuuVlQ4VZlYqMuEBEMRF9ADdXWWNxjO/Hd7688ow7ocncxl0xKXsH5Fc9GHvE8yfUh94F8Qm9x8M8Uux+XsNEvPG8KI/QUJWndIsHv+m//3nbEEqUTAlzsyY0mjHW/dPORhXcB5WeGH+cBRAhcp5JGKAq26TOsuNY8H+nrlxX6z03xbUN28HHdXv6uKZfpnVpl6tM0khxbh7F+tLYWeUIZ+nYaDBPINv8Mkd6Duqe/GOLtgVUIR76Adijok4w5oaKlTq27xzMurl kaushik@kaushik-HP
Run Code Online (Sandbox Code Playgroud)
使用ssh-keygen解析:
---- BEGIN SSH2 PUBLIC KEY ----
Comment: "2048-bit RSA, converted by kaushik@kaushik-HP from OpenSSH"
AAAAB3NzaC1yc2EAAAADAQABAAABAQDwxgE7D3HYLYddNHLMFK8OfpRwwUSgxiB8fbecvk
CUEktSpWikvsWTyCnl5p3uSmsGg/F1lwVPXuuVlQ4VZlYqMuEBEMRF9ADdXWWNxjO/Hd76
88ow7ocncxl0xKXsH5Fc9GHvE8yfUh94F8Qm9x8M8Uux+XsNEvPG8KI/QUJWndIsHv+m//
3nbEEqUTAlzsyY0mjHW/dPORhXcB5WeGH+cBRAhcp5JGKAq26TOsuNY8H+nrlxX6z03xbU
N28HHdXv6uKZfpnVpl6tM0khxbh7F+tLYWeUIZ+nYaDBPINv8Mkd6Duqe/GOLtgVUIR76A
dijok4w5oaKlTq27xzMurl
---- END SSH2 PUBLIC KEY ----
Run Code Online (Sandbox Code Playgroud)
小智 4
两种格式的 Base64 数据是相同的——您不需要做任何花哨的事情。要在这些格式之间进行转换,您所需要做的就是添加/删除换行符(70 个字符)并更改标题/预告片。
请注意,两种格式都有注释 -kaushik@kaushik-HP在 OpenSSH 密钥中以及Comment:PEM 密钥中以 开头的行。两者都是完全可选的,不需要转换。
| 归档时间: |
|
| 查看次数: |
2179 次 |
| 最近记录: |