인증서를 stdout으로 스트리밍하여 PHP로 다운로드

인증서를 stdout으로 스트리밍하여 PHP로 다운로드

관련 질문:

(전체) p12/pfx 인증서를 웹 서비스에서 수신하고 브라우저에 다운로드할 PJP 페이지로 리디렉션하려면 어떻게 변환해야 합니까? 나는 xxd, hexdump및 을 사용했습니다 od.

그러나 인증서를 다운로드하기 위한 바이너리 파일을 얻기 위해 PHP의 hex2bin 함수에 대한 입력이 적합하도록 이러한 명령의 출력을 최적화할 수 있는 방법은 없습니다.

답변1

해결책은 bash의 bash 출력에서 ​​공백을 제거하는 것입니다.

res=`xxd -p $exportedkey`
echo "${res//[[:space:]]/}"

PHP에서:

$hex = hex2bin($result);
header("Content-Description: File Transfer");
header("Content-Type: application/octet-stream");
header("Content-Transfer-Encoding: binary");
header("Content-Disposition: attachment; filename=hex.pfx");
header('Content-Length: '.  strlen($hex));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');

echo $hex;
exit();

관련 정보