在 CentOS 上將 PUB 金鑰轉換為 PKCS8 格式?

在 CentOS 上將 PUB 金鑰轉換為 PKCS8 格式?

在 Ubuntu 中,我可以透過命令將 Pub 金鑰從 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

問與答中SEC.SE網站提供了此過程和所涉及的密碼學的非常詳細的描述。

相關內容