RSA-PSS 옵션과 함께 openssl genpkey 유틸리티를 사용하여 올바른 RSA 키를 생성할 수 없습니다.

RSA-PSS 옵션과 함께 openssl genpkey 유틸리티를 사용하여 올바른 RSA 키를 생성할 수 없습니다.

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

관련 정보