GroupDocs.Signature を使用して Java で QR コード暗号化による安全な PDF 署名を実装する方法
今日のデジタル時代において、文書内の機密情報の保護は極めて重要です。サイバー脅威の増加により、データ暗号化は文書管理において不可欠な要素となっています。このチュートリアルでは、GroupDocs.Signature for Javaを使用してQRコード暗号化による安全なPDF署名を実装する方法を説明します。この記事を読み終える頃には、アプリケーションに強力なセキュリティ機能を統合できるようになります。
学習内容:
- Javaにおける対称データ暗号化の理解
- カスタム署名クラスの作成
- カスタムデータと配置によるQRコード署名の設定
- GroupDocs.Signature を統合して安全な PDF 署名を実現
準備はできましたか? さあ、始めましょう!
前提条件
始める前に、以下のものを用意してください。
- Java 開発キット (JDK): バージョン8以上。
- Maven または Gradle: 依存関係管理用。プロジェクトの設定に応じて選択してください。
- Javaプログラミングの知識: Java におけるオブジェクト指向プログラミングの基本的な理解。
Java 用 GroupDocs.Signature の設定
GroupDocs.Signature を使い始めるには、プロジェクトに依存関係として追加する必要があります。このライブラリは、デジタル署名とドキュメントの暗号化を管理するための強力なツールを提供します。
Mavenのセットアップ
次の依存関係を pom.xml
ファイル:
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-signature</artifactId>
<version>23.12</version>
</dependency>
Gradleのセットアップ
Gradleユーザーの場合は、 build.gradle
ファイル:
implementation 'com.groupdocs:groupdocs-signature:23.12'
直接ダウンロード
または、最新バージョンを以下からダウンロードしてください。 GroupDocs.Signature for Java リリース.
ライセンス取得
GroupDocs.Signatureの無料トライアルで機能を評価することができます。長期間ご利用いただくには、ライセンスのご購入、またはウェブサイトから一時ライセンスの申請をご検討ください。
実装ガイド
このガイドは、データの暗号化、カスタム署名の作成、QR コード署名の構成をカバーする主要なセクションに分かれています。
対称アルゴリズムによるデータ暗号化
データを暗号化することで、転送中および保存中のデータの安全性を確保できます。GroupDocs.Signatureを使用して対称暗号化を設定する方法は次のとおりです。
対称暗号化の設定
- 必要なパッケージをインポートします。
import com.groupdocs.signature.domain.extensions.encryption.IDataEncryption; import com.groupdocs.signature.domain.extensions.encryption.SymmetricAlgorithmType; import com.groupdocs.signature.domain.extensions.encryption.SymmetricEncryption;
- 暗号化オブジェクトを初期化します。
暗号化には安全なキーとソルトを使用してください。
"YOUR_SECURE_KEY"
あなた自身の鍵を使って。String key = "YOUR_SECURE_KEY"; String salt = "YOUR_SECURE_SALT"; IDataEncryption encryption = new SymmetricEncryption( SymmetricAlgorithmType.Rijndael, key, salt );
- 対称アルゴリズムタイプ.Rijndael: 使用する対称アルゴリズムのタイプを指定します。
- キーとソルト: これらがアプリケーションに対して一意かつ安全であることを確認してください。
カスタムデータ署名クラス
カスタムクラスを作成すると、署名プロパティを効果的に管理できます。手順は以下のとおりです。
定義する DocumentSignatureData
クラス
class DocumentSignatureData {
private String ID;
private String Author;
private Date Signed = new Date();
private BigDecimal DataFactor = new BigDecimal(0.01);
public String getID() { return ID; }
public void setID(String value) { ID = value; }
public final String getAuthor() { return Author; }
public final void setAuthor(String value) { Author = value; }
public final Date getSigned() { return Signed; }
public final void setSigned(Date value) { Signed = value; }
public final BigDecimal getDataFactor() { return DataFactor; }
public final void setDataFactor(BigDecimal value) { DataFactor = value; }
}
- ID、著者、署名: これらのフィールドには署名のメタデータが保存されます。
- データファクター: アプリケーションのロジックに関連する数値を保持します。
QRコード署名オプション
QRコードは情報をコンパクトに埋め込む手段です。カスタムデータと暗号化を設定してご利用ください。
QRコード署名の設定
- 初期化
Signature
物体:import com.groupdocs.signature.Signature; Signature signature = new Signature("YOUR_DOCUMENT_DIRECTORY");
- QR コード オプションを構成します。
import com.groupdocs.signature.domain.qrcodes.QrCodeTypes; import com.groupdocs.signature.options.sign.QrCodeSignOptions; import java.util.UUID; DocumentSignatureData documentSignature = new DocumentSignatureData(); documentSignature.setID(UUID.randomUUID().toString()); documentSignature.setAuthor(System.getenv("USERNAME")); documentSignature.setDataFactor(new BigDecimal("11.22")); QrCodeSignOptions options = new QrCodeSignOptions(); options.setData(documentSignature); options.setEncodeType(QrCodeTypes.QR); options.setDataEncryption(encryption); // 暗号化オブジェクトを使用する options.setHeight(100); options.setWidth(100); options.setVerticalAlignment(com.groupdocs.signature.domain.enums.VerticalAlignment.Bottom); options.setHorizontalAlignment(com.groupdocs.signature.domain.enums.HorizontalAlignment.Right); import com.groupdocs.signature.domain.Padding; Padding padding = new Padding(); padding.setRight(10); padding.setBottom(10); options.setMargin(padding);
- エンコードタイプ: QR コードの形式を指定します。
- 配置と余白: ドキュメント上での QR コードの表示方法をカスタマイズします。
使用例
設定したオプションを使用してドキュメントに署名するには:
signature.sign("YOUR_OUTPUT_DIRECTORY/QRCodeEncryptedObject.pdf\