Linux에서 openssl을 사용하여 RSA 키를 만든 다음 Windows PC에서도 사용할 수 있도록 PuTTY 형식으로 변환하려고 합니다.
openssl genpkey -algorithm RSA-PSS -out myKey.pem -outform PEM -pkeyopt rsa_keygen_bits:2048
키가 생성되었습니다. 좀 봤는데 cat
괜찮아 보이더군요
이제 PuTTY 형식으로 변환합니다.
puttygen myKey.pem -o myKey.ppk -O private
다음 오류가 발생합니다.
puttygen: error loading 'myKey.pem': unrecognised key type
다음을 사용하여 키를 확인해 보았습니다.
openssl rsa -in myKey.pem -text
다음 오류가 발생합니다.
140527068488128:error:0607907F:digital envelope routines:EVP_PKEY_get0_RSA:expecting an rsa key:../crypto/evp/p_lib.c:464:
무슨 일이 일어났는지 아세요?
답변1
RSA 대신 RSA-PSS라는 잘못된 알고리즘을 사용하고 있습니다.
이 명령은 예상되는 키를 생성합니다.
openssl genpkey -algorithm RSA -out myKey.pem -outform PEM -pkeyopt rsa_keygen_bits:2048
유일한 변경 사항은 를 교체 RSA-PSS
하는 것입니다 RSA
.
특정 개인 키에 대해 다음과 같이 사용된 알고리즘을 포함하여 이에 대한 정보를 검색할 수 있습니다.
openssl asn1parse -in myKey.pem
잘못된 알고리즘(SSH용)에는 다음과 유사한 줄이 있습니다.
9:d=2 hl=2 l= 9 prim: OBJECT :rsassaPss
RSA 알고리즘은 다음과 유사합니다.
9:d=2 hl=2 l= 9 prim: OBJECT :rsaEncryption