関連質問:
PHPとWebサービスを使用してブラウザからバイナリストリームデータをダウンロードします。 「ダウンロードしたファイルが破損しています。」
- PHPのhex2bin関数への入力でbashのhexdump出力に適しています
(すべて)p12 / pfx証明書をWebサービスから受信し、ブラウザにダウンロードする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();