openssl을 사용하면이 작업을 매우 쉽게 수행 할 수 있습니다.
foo.crt가 crt 파일이라고 말합니다. 그런 다음
$ openssl x509 -in foo.crt -text -noout
필요한 모든 정보 (발급자, pkey : 계수 rsa 및 지수, 서명 알고리즘 등)를 텍스트 형식으로 인쇄합니다.
주면
$ openssl x509 -in foo.crt -text -noout > foo.txt
이전 정보를 foo.txt 파일에 저장합니다.
질문에 답하려면
16 진수 (바이트) 형식으로 사용할 준비가 된이 파일 공개 키에서 어떻게 추출 할 수 있습니까?
이 작업을 수행하는 한 가지 방법은 먼저 공개 키를 내 보낸 다음 16 진수 형식으로 변환하는 것입니다.
$ openssl x509 -in foo.crt -noout -pubkey > foo-public $ openssl rsa -noout -text -in foo-public -pubin > foo-public-hex
이제 foo-public- hex는 16 진수 형식의 pkey를 포함합니다.
그런 다음
이 파일에서 p, q 및 rest라는 것을 알고 있지만 최종 공개 키를 사용할 준비가 되었으면합니다.
잘 모르겠습니다 … 개인 키는 .crt 파일이 아니라 .key 파일과 서버는 클라이언트로 전송하지 않습니다.
foo.key가 개인 키라면
$openssl rsa -noout -text -in foo.key
16 진수 형식으로 비공개 지수와 소수 p, q가 표시됩니다.
댓글
- Nitpick : openssl 명령 줄은 LInux뿐만 아니라 모든 Unix 및 Windows에서 사용할 수 있으며 동일하게 작동합니다. VMS는 약간 다르지만 별로는 아닙니다.