我正在开发一个项目,以自动从用户智能卡中提取公钥 DER 编码证书,并将其转换为 ssh-rsa 公钥形式。然后 ssh-rsa 公钥将作为用户属性发布在 AD 中。从那里 puppet 将使用 ldap 查询获取 ssh 公钥并将其放置在相关用户的 authorized_keys 文件中。
我遇到的问题是,在 Windows 中似乎没有办法将 DER 编码的 .cer 文件转换为 ssh-rsa 密钥。如果将证书移动到用户主目录,则可以运行:
openssl x509 -inform pem -in username.cer -noout -pubkey > username.pub
然后 ssh-keygen 可以使用以下命令创建 ssh-rsa 公钥:
ssh-keygen -f username.pub -i -m PKCS8
那么有人知道Windows进行这种转换的方法吗?如果您需要更多信息,请告诉我。