개인 키를 RSA 개인 키로 변환하는 방법은 무엇입니까?
먼저 제 질문을 설명하겠습니다. CA에서 인증서를 구입하고 다음 형식을 사용하여 csr 및 개인 키를 생성했습니다.
openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr
server.key 파일을 열면 "----- BEGIN PRIVATE KEY -----"로 시작하는 것을 볼 수 있습니다.
내 서버에서 SSL 인증서를 사용하고 모든 것이 잘 보입니다.
이제 beanstalk로드 밸런서에서 사용할 수 있도록 동일한 인증서를 AWS IAM에 업로드하려고합니다. 이 aws 문서 http://docs.aws.amazon.com/IAM/latest/UserGuide/InstallCert.html#SubmitCSRCertAuth 에서 다음 명령을 사용합니다.
iam-servercertupload -b public_key_certificate_file -k privatekey.pem -s certificate_object_name
필요에 따라 인증서 파일 이름을 변경했지만 "400 MalformedCertificate Invalid Private Key"오류가 계속 발생합니다.
흥미로운 점은 aws 문서 페이지에서 그들이 보여주는 샘플 프라이빗 키가 "------- Begin RSA Private Key --------"로 시작한다는 것입니다.
openssl을 사용하여 개인 키를 RSA 개인 키로 변환하는 방법이 있습니까?
최신 버전의 OpenSSL에는 개인 키 + 키 유형을 식별하는 OID가 포함되어 있기 때문에 BEGIN PRIVATE KEY라고합니다 (이를 PKCS8 형식이라고 함). 이전 스타일 키 (PKCS1 또는 기존 OpenSSL 형식으로 알려짐)를 얻으려면 다음을 수행하십시오.
openssl rsa -in server.key -out server_new.key
또는 PKCS1 키가 있고 PKCS8을 원하는 경우 :
openssl pkcs8 -topk8 -nocrypt -in privkey.pem
이것은 약간의 도움이 될 수 있습니다 (명령어에서 문자 그대로 백 슬래시 '\'를 쓰지 마십시오. "모든 것이 한 줄에 있어야 함"을 나타 내기위한 것입니다) :
모든 명령 (회색)은 모든 유형의 키 파일 (녹색)을 "in"인수로 사용하는 것 같습니다. 멋지네요.
더 쉬운 복사-붙여 넣기를위한 명령은 다음과 같습니다.
openssl rsa -in $FF -out $TF
openssl rsa -aes256 -in $FF -out $TF
openssl pkcs8 -topk8 -nocrypt -in $FF -out $TF
openssl pkcs8 -topk8 -v2 aes-256-cbc -v2prf hmacWithSHA256 -in $FF -out $TF
과
openssl rsa -check -in $FF
openssl rsa -text -in $FF
"BEGIN OPENSSH PRIVATE KEY"를 "BEGIN RSA PRIVATE KEY"로 변환하려면
ssh-keygen -p -m PEM -f ~/.ssh/id_rsa
참고 URL : https://stackoverflow.com/questions/17733536/how-to-convert-a-private-key-to-an-rsa-private-key
'program tip' 카테고리의 다른 글
자바 : 차이점은 무엇입니까 (0) | 2020.09.14 |
---|---|
Postgres에서 값 증가 (0) | 2020.09.14 |
Conda : github에서 직접 설치 / 업그레이드 (0) | 2020.09.14 |
Angular와 ASP.NET MVC / Web API를 함께 사용합니까? (0) | 2020.09.14 |
Tensorflow 백엔드가있는 Keras가 CPU 또는 GPU를 마음대로 사용하도록 강요받을 수 있습니까? (0) | 2020.09.13 |