iText Suite バージョン 8.0.3 のリリースでは、PAdES 署名用の新しいハイレベル API のほか、簡素化された非同期署名や証明書チェーンロジックの改善など、PDF デジタル署名に関する多くの改善が行われています。さらに、PDF/A や PDF/UA の作成、OCR による表認識なども改良されています。
デジタル署名
高度なPAdES署名API
この新しい API は、PdfPadesSignerというクラスを導入し、PAdES 関連プロファイル (B、T、LT、LTA)を使用して署名を実行し、署名失効データ (別名:延長) とタイムスタンプを更新する機能を提供しています。
二段階/非同期署名
PAdES署名APIには、二段階 (非同期) 署名の包括的な実装も含まれ、ユーザーは署名操作を容易にステップに分割できるようになりました。
PdfPadesSigner クラス(Java/.NET)に2つのメソッドを追加しました。1つ目は prepareDocumentForSignature で、ドキュメントに必要なフィールドを追加し、ドキュメントを閉じて準備されたドキュメントのメッセージダイジェストを返します。2つ目のメソッドは addSignatureToPreparedDocumentで、名前の通り、署名を準備されたドキュメントに追加して署名手続きを完了します。
証明書が見つからない場合のチェーンロジックの改善
iTextの署名ロジックにおいて、証明書チェーンとCRL応答証明書の失効データの収集についても改善を行い、中間証明書が欠落している場合でも、Authority Information Access (AIA) 拡張を使用して外部から受信できるようになりました。これにより、クライアントは必要な証明書を取得できる場所を示すことが可能です。
署名の向きのカスタマイズ
iTextには署名フィールドを文書の向きに合わせて自動的に調整するロジックを導入されていますが、この動作を避けたい状況もあるかもしれません。このような場合にデフォルトの動作を上書きする、署名の外観の向きを設定するパラメータを導入しました。
SM2/SM3署名のサポート
中国で一般的になっているSM2/SM3アルゴリズムでの署名をサポートしました。
デジタル署名ナレッジベースの更新
iText Coreバージョン8のAPI改善を考慮して、iText ナレッジベースの「iTextによるデジタル署名」シリーズを全面的に見直しし、PDFにデジタル署名を行うプロセスと詳細なユースケースを掲載してます。また、「デジタル署名ハブ」には、iText CoreでのPDFデジタル署名拡張機能の完全なサポートリストも追加されています。これには、現在のISO/TS 32001、ISO/TS 32002、およびISO/TS 32003のすべての拡張が含まれており、必要に応じて継続的に更新されます。
PDF/UA-2のサポート
iTextの開発者は、PDF/UA-2規格に準拠したドキュメント作成のためのサポートを実装するために懸命に取り組んでいます。PDF/UA-2は、PDF 2.0仕様に基づいており、既存のPDF/UA-1に比べて多くの改善点を持っています。PDF/UA-2には、注釈と構造要素属性の広範なサポートや、PDF 1.7とPDF 2.0の構造要素を同じドキュメント内で統合する革新的なNamespaces機能、MathMLの導入、新しいArtifact構造要素タイプなどが含まれています。PDF AssociationとISO技術委員会との協力により、PDF/UA-2の開発に取り組んでおり、iTextで早期のサポートを実装することが重要だと考えています。
PDF/AおよびPDF/UA生成のための追加チェック
準拠したPDF/AおよびPDF/UAドキュメントの作成をサポートするために、Kernelモジュールに追加のチェックとヘルパーロジックを実装しました。これにより、ユーザーをガイドし、プロセスの早い段階で準拠問題を検出できるようにしています。