SSH 공개 키를 PEM 형식에서 DER 형식으로 변환하는 방법은 무엇입니까?

SSH 공개 키를 PEM 형식에서 DER 형식으로 변환하는 방법은 무엇입니까?

기존 공개 ssh-keygen키 (다음을 사용하여 생성됨)를 PEM변환하고 싶습니다.DER

나는 시도했다:

openssl rsa -in ~/.ssh/id_rsa.pub -inform PEM -pubin -outform DER -out ~/.ssh/id_rsa.pub.der

불행하게도 다음과 같은 오류가 발생합니다.

unable to load Public Key
139946985690784:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:703:Expecting: PUBLIC KEY

이 파일에는 다음과 같은 ~/.ssh/id_rsa.pub공개 키가 포함되어 있습니다.cat ~/.ssh/id_rsa.pub

ssh-rsa ...... user@machine

내가 뭘 잘못했나요?

답변1

OpenSSH 공개 키 형식은 PEM 형식과 다릅니다. 너는 달려야 해ssh-keygen그것을 변환합니다.

ssh-keygen -f ~/.ssh/id_rsa.pub -e -m PEM >pubkey.pem

그런 다음 다음을 사용하여 DER 형식으로 변환합니다.openssl rsa.

openssl rsa -RSAPublicKey_in -in pubkey.pem -inform PEM -outform DER -out ~/.ssh/id_rsa.pub.der -RSAPublicKey_out

또한 -RSAPublicKey_in( 아님 -pubin)을 지정하고 -RSAPublicKey_out이를 RSA 공개 키(PKCS#1)로 유지해야 합니다.

관련 정보