![RSA-PSS 옵션과 함께 openssl genpkey 유틸리티를 사용하여 올바른 RSA 키를 생성할 수 없습니다.](https://linux55.com/image/155387/RSA-PSS%20%EC%98%B5%EC%85%98%EA%B3%BC%20%ED%95%A8%EA%BB%98%20openssl%20genpkey%20%EC%9C%A0%ED%8B%B8%EB%A6%AC%ED%8B%B0%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%EC%98%AC%EB%B0%94%EB%A5%B8%20RSA%20%ED%82%A4%EB%A5%BC%20%EC%83%9D%EC%84%B1%ED%95%A0%20%EC%88%98%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
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