PEM 형식의 공개 키를 DER로 변환 [중복]

PEM 형식의 공개 키를 DER로 변환 [중복]

다음과 같은 ASN.1 DER 형식의 공개 키가 있습니다.

    0:d=0  hl=3 l= 181 cons: SEQUENCE          
    3:d=1  hl=3 l= 144 cons: SEQUENCE          
    6:d=2  hl=2 l=   0 prim: PRINTABLESTRING   :
    8:d=2  hl=3 l= 139 prim: OCTETSTRING      [HEXDUMP]: <Some Data>
  150:d=1  hl=2 l=  32 prim: OCTET STRING     [HEX DUMP]:<some data>

PEM 형식의 공개 키가 있습니다. 위에 나열된 키 형식으로 어떻게 변경합니까?

답변1

PEM 파일은 단순히 Base64로 인코딩된 DER 파일입니다. 하나에서 다른 것으로 변환하려면 및 openssl매개변수를 사용할 수 있습니다. 각각은 또는 (무시할 수 있는 오래된 Netscape 형식) 중 하나입니다.-inform-outformPEMDERNET

다음 명령을 사용하여 키를 한 형식에서 다른 형식으로 변경할 수 있습니다 openssl rsa(물론 RSA 키라고 가정).

$ openssl rsa -pubin -inform PEM -in <filename of key in PEM format> -outform DER -out <filename of key in DER format>
writing RSA key

그런 다음 다음 명령을 사용하여 파일의 ASN.1 인코딩을 볼 수 있습니다.

$ openssl asn1parse -inform DER -in <filename of DER file>
    0:d=0  hl=3 l= 159 cons: SEQUENCE          
    3:d=1  hl=2 l=  13 cons: SEQUENCE          
    5:d=2  hl=2 l=   9 prim: OBJECT            :rsaEncryption
   16:d=2  hl=2 l=   0 prim: NULL              
   18:d=1  hl=3 l= 141 prim: BIT STRING

물론 키가 RSA 키가 아닌 경우에는 유용하지 않지만 귀하의 질문에 키 유형이 지정되어 있지 않기 때문에 추측합니다 :-)

관련 정보