在 CentOS 上将 PUB 密钥转换为 PKCS8 格式?

在 CentOS 上将 PUB 密钥转换为 PKCS8 格式?

在 Ubuntu 中,我可以通过命令将公钥从 OpenSSH 格式转换为 PKCS8 格式:

ssh-keygen -e -f .ssh/id_rsa.pub -m PKCS8

但是在 CentOS 6.4 中,当我执行相同的命令时,它会注意到:

ssh-keygen:非法选项——m

我阅读了 Centos 6.4 上 ssh-keygen 的手册页,发现它没有选项“-m”。那么,如何在 Centos 6.4 上完成同样的任务?

非常感谢!

答案1

在 RHEL 系统及其衍生产品中,您可以使用openssl对于此任务:

# openssl pkcs8 --help
Usage pkcs8 [options]
where options are
-in file        input file
-inform X       input format (DER or PEM)
-passin arg     input file pass phrase source
-outform X      output format (DER or PEM)
-out file       output file
-passout arg    output file pass phrase source
-topk8          output PKCS8 file
-nooct          use (nonstandard) no octet format
-embed          use (nonstandard) embedded DSA parameters format
-nsdb           use (nonstandard) DSA Netscape DB format
-noiter         use 1 as iteration count
-nocrypt        use or expect unencrypted private key
-v2 alg         use PKCS#5 v2.0 and cipher "alg"
-v1 obj         use PKCS#5 v1.5 and cipher "alg"
-engine e       use engine e, possibly a hardware device.

此外,pkcs8(1)手册页提供了几个示例。

openssl pkcs8 -topk8 -in private.key.pem -out private.key.pk8.pem -v2 des3

问答证券交易委员会网站提供了此过程及其所涉及的加密技术的非常详细的描述。

相关内容