社内システムのPDF作成でApache PDFBoxをコマンドラインで使い始めています。PDFBoxのパスワード付加のオプション-keyLenghtは40、128、256を指定でき、それぞれRC4の40bitと128bit、AESの256bitとなります。
RC4 40bitはPDFの暗号化方法としては初期のもので一番互換性があるのですが、現行のAcrobat DCではRC4 40bitの作成はサポートされなくなりました。恐らく暗号の強度から使わないほうがましとされたのでしょう。
現在最も強度があるのがAES 256bitですが、新しめのPDFバージョン1.7 Extension Level 8からサポートされたものでAcobatのバージョンでいうとX (10)からとなります。現在のバージョンがDC (12 = 2015)で、すでにXのサポートもされておらず、今後使い続けていく上でAES 256bitで大丈夫だろうと判断しました。
しかしAdobe純正のAcrobat Readerで表示可能としても最近はWebブラウザー独自のPDF Viewerを用いて表示するようになっています。そこでWindows 10環境で使用できる以下のブラウザーで調べてみました。バージョンはここ最近のものです。
Microsoft Edge | NG |
Chrome PDF Viewer | OK |
Firefox PDF Viewer | OK |
ChromeとFirefoxでは見られましたがEdgeでは以下のメッセージが表示されました。
PDF を開けませんでした
何らかの問題により、この PDF を開くことができません。
ということでEdgeがダメな他はいけそうですね。でもEdgeはAES 256bitが全面的に見られないというわけではなく表示できるPDFファイルもあるので、PDFBox独自の問題かもしれません。Edgeで見られない要因としてはこちらのページで公開されているように、Micorsoftが対応しないのは、
- AdobeがExtension Level 8の仕様を公開していない
- 新しいISO標準PDF 2.0へのつなぎの規格で変更される可能性があるから
とのことです。
まあそういう考えなら仕方ないのですが、ユーザーからするとWin10でEdge以外のブラウザーを起動するとEdgeを使えとうざいメッセージを出すぐらいなら、この辺も対応してくれよと思います。PDFの仕様が変わってもパッチを当てるだけで問題ないのでは。Edgeに関しては普通に使うWebブラウザーとしても弱いと感じているのですが、こういうところからも標準的に使うブラウザーにはまだまだ及ばないと思いますね。