1. atuyosi

    No comment

    atuyosi
Changes in body
Source | HTML | Preview
@@ -1,45 +1,45 @@
ちょっとしたメモ書き。
## 経緯
ちょっと`convert`コマンドでPNGファイルをPDFにしたかっただけ。
## 現象
PNG形式のファイルをPDF形式に変換しようとすると以下のようエラーとなる。
```
$ convert image-001.png -units PixelsPerInch -density 72x72 output_001.pdf
convert: not authorized `PDF' @ error/constitute.c/IsCoderAuthorized/408.
```
どうやら脆弱性対策の一環。不正な画像ファイルの変換時にGhostscriptのバグを突かれるとまずいという話。
セキュリティ対策でGhostscriptを呼び出すタイプの拡張子が処理対象から外されている。
-[Ghostscript の -dSAFER オプションの脆弱性に関する注意喚起](https://www.jpcert.or.jp/at/2018/at180035.html)
+- [Ghostscript の -dSAFER オプションの脆弱性に関する注意喚起](https://www.jpcert.or.jp/at/2018/at180035.html)
+- [Mogrify and Convert both throw "not authorized" error · Issue #1310 · ImageMagick/ImageMagick](https://github.com/ImageMagick/ImageMagick/issues/1310)
+
## 対処
ImageMagickの設定ファイルのありかを特定、一時的に設定を変える。
Homebrewでインストールしている関係で手元のマシンでは`policy.xml`は以下の場所。
```
/usr/local/Cellar/imagemagick/7.0.8-11_1/etc/ImageMagick-7/policy.xml
```
`7.0.8-11_1`の部分はバージョン依存。
このフィアルを**バックアップ**したうえで書き換える。
```
<policy domain="coder" rights="none" pattern="{EPS,PS2,PS3,PS,PDF,XPS}" />
```
この行から`,PDF`という箇所を削除。
## 注意
作業が完了したら設定をもとに戻しておく。
-