CubePDF で PDF ファイルのパスワードを解除する手法について

CubePDF は何らかのアプリケーションの印刷処理を通じて PDF ファイル等に変換する仮想プリンター形式のソフトウェアですが、この仕組みを利用して、パスワード保護されている PDF ファイルを何らかの PDF 閲覧ソフトで開き CubePDF を通じて PDF に再変換する事で管理用パスワードおよび閲覧用パスワードを除去している事例が存在するようです。

この方法が実際に成功するかどうかは、印刷を実行した PDF 閲覧ソフト側の挙動に強く依存します。例えば、開発環境において Adobe Acrobat Reader DC 2021.011.20039 (64bit) でパスワード保護された PDF ファイルを閲覧パスワードを入力して開き、印刷コマンドを通じて CubePDF の変換処理を実行すると下記のようなエラーメッセージが表示されました。

CubePDF のエラーメッセージ

これは Ghostscript API の予期せぬエラーを示すメッセージですが、C:\ProgramData\CubeSoft\CubePDF\Log\CubePdf.log を見ると下記のようなログが出力されており、元々の PDF ファイルがパスワードで保護されているため変換に失敗した事が分かります。

%%[ ProductName: GPL Ghostscript ]%%
This PostScript file was created from an encrypted PDF file.
Redistilling encrypted PDF is not permitted.
%%[ Error: undefined; OffendingCommand: eexec ]%%

パスワード保護された PDF ファイルを開いて印刷を実行した際、上記のエラーとなるかどうかは印刷を実行した PDF 閲覧ソフトが該当の情報も含めて PostScript プリンタードライバー側に伝えているかどうかに依存すると予想されます。また、元々の PDF ファイルがパスワード保護されていると言う事実も考慮すると、現在は PDF への再変換が可能なケースであっても、将来的に該当の PDF 閲覧ソフトの挙動が修正されて不可能になる可能性も十分に考えられます。

弊社としては、PDF ファイルのパスワード解除に関しては、正規のルートで管理用パスワードを取得した後に CubePDF Utility 等を用いて解除するか、当事者間で(必要以上にパスワード保護しない等の)運用の見直しをする事を、可能な限り、推奨しています。また、少なくとも CubePDF を用いて PDF の再変換を行う事でパスワードを除去する方法は、(CubePDF 側ではなく閲覧ソフト側の更新で)突然、不可能になる可能性が十分にある事は留意頂きますようお願いします。