c语言pkcs12导出公钥pem,从PKCS12文件中提取公钥/私钥,以供以后在SSH-PK-Authentication中使用...

本文详细介绍了如何在OSX 10.9 Mavericks上使用OpenSSL将PKCS#12文件转换为OpenSSH可以直接使用的PEM格式私钥,以及如何创建相应的OpenSSH公钥。这个过程涉及到提取私钥、加密、删除命令历史以及生成授权公钥文件。

OpenSSH不能直接使用PKCS#12文件。就像其他人建议的那样,您必须以PEM格式提取私钥,这会将您从OpenSSL领域带到OpenSSH。这里提到的其他解决方案对我不起作用。我将OS X 10.9 Mavericks(当前为10.9.3)与“预先打包的”实用程序(OpenSSL 0.9.8y,OpenSSH 6.2p2)一起使用。

首先,提取PEM格式的私钥,该私钥将由OpenSSH直接使用:

openssl pkcs12 -in filename.p12 -clcerts -nodes -nocerts | openssl rsa > ~/.ssh/id_rsa

我强烈建议使用密码对私钥进行加密:

openssl pkcs12 -in filename.p12 -clcerts -nodes -nocerts | openssl rsa -passout 'pass:Passw0rd!' > ~/.ssh/id_rsa

显然,在命令行上输入纯文本密码也不安全,因此您应该从历史记录中删除最后一个命令,或者只是确保它没有到达该位置。不同的外壳具有不同的方式。您可以在命令前面加上空格,以防止将其保存到Bash和许多其他Shell中的历史记录中。这也是从Bash的历史记录中删除命令的方法:

history -d $(history | tail -n 2 | awk 'NR == 1 { print $1 }')

另外,您可以使用其他方式将私钥密码传递给OpenSSL- 有关密码短语参数的信息,请参考OpenSSL文档。

然后,创建一个可以添加到authorized_keys文件中的OpenSSH公钥:

ssh-keygen -y -f ~/.ssh/id_rsa > ~/.ssh/id_rsa.pub

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值