Base 64로 인코딩된 공개 키(.pem)를 bytearray로 변환하는 방법은 무엇입니까?

Base 64로 인코딩된 공개 키(.pem)를 bytearray로 변환하는 방법은 무엇입니까?

openssl을 사용하여 .pem 형식의 Base 64로 인코딩된 공개 키 파일을 바이트 배열로 변환해야 합니다.

공개 키는 다음 형식으로 변환되어야 합니다.

----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxl4aRnRMBB9GZrNgy6sy
seyIA3Ek3a1xg0b8gKrCSgnSjH+lqtBGwtzKqM020piE1q0YrzGpfQxNJ8HPRc0F
OlII7VKuCFGqEuLH2+kFJPUUdRqBr0iN/D8ADp9rLEL2Q4F7qM1t0z0IW6zD

-----END PUBLIC KEY----- 

이 형식으로:

48, -127, -97, 48, 13, 6, 9, 42, -122, 72, -122, -9, 13,...

답변1

sed -e '/----.*PUBLIC KEY----\|^[[:space:]]*$/d' praj.pem | 
    base64 -d | 
    hexdump -v -e '/1 "%02d, "' ; echo

sed이는 공개 키의 BEGIN 및 END 마커가 포함된 빈 줄과 줄을 제거한 다음 이를 파이프하여 base64 -d디코딩한 다음 사용자 hexdump지정 형식을 사용하여 파이프를 통해 쉼표와 공백으로 구분된 십진수로 바이트를 인쇄하는 데 사용됩니다 . 마지막 문자는 echo출력이 개행 문자( \n)로 끝나도록 하는 데 사용됩니다.

산출:

48, -126, 01, 34, 48, 13, 06, 09, 42, -122, 72, -122, -9, 13, 01, 01, 01, 05, ...

관련 정보