В Ubuntu я могу преобразовать Pub-ключ из формата OpenSSH в формат PKCS8 с помощью команды:
ssh-keygen -e -f .ssh/id_rsa.pub -m PKCS8
Но в CentOS 6.4, когда я выполняю ту же команду, появляется следующее сообщение:
ssh-keygen: недопустимая опция -- m
Я прочитал man-страницу ssh-keygen на Centos 6.4 и увидел, что у него нет опции "-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)
manpage содержит несколько примеров.
openssl pkcs8 -topk8 -in private.key.pem -out private.key.pk8.pem -v2 des3
ЭтотВопрос/ответ вSEC.SEсайт содержит очень подробное описание этого процесса и используемой криптографии.