GroupDocs.Signature を使用して .NET でカスタム シリアル化による QR コード署名を実装する

導入

今日のデジタル時代において、文書の真正性管理は、法律、ビジネス、ソフトウェア開発など、様々な分野で極めて重要です。GroupDocs.Signature for .NETは、QRコード署名とカスタムデータシリアル化をアプリケーションにシームレスに統合する強力な機能を提供します。

このチュートリアルでは、GroupDocs.Signature for .NET のカスタム シリアル化を使用して QR コード署名を実装し、ドキュメントのセキュリティを強化し、署名データを処理するためのカスタマイズ可能なアプローチを提供する方法について説明します。

学習内容:

  • QRコードにおけるカスタムデータのシリアル化の基礎
  • GroupDocs.Signature for .NET の環境設定
  • カスタムオプションを使用したQRコード署名の実装と検索
  • 現実世界のシナリオにおける実践的な応用

実装に進む前に、いくつかの前提条件を確認しましょう。

前提条件

このチュートリアルを効果的に実行するには:

必要なライブラリ、バージョン、依存関係

  • GroupDocs.Signature for .NET: .NET Framework または .NET Core のバージョンとの互換性を確保します。
  • Visual Studio 2019/2022 または .NET プロジェクトをサポートする別の IDE を使用します。

環境設定要件

  • ドキュメントが保存されているファイル システムへのアクセス。
  • C# プログラミングの基本的な理解とオブジェクト指向の概念に関する知識。

知識の前提条件

  • 文書セキュリティにおける QR コードの理解。
  • データのシリアル化の概念に関する知識。

GroupDocs.Signature を .NET 用にセットアップする

GroupDocs.Signature の使用を開始するには、開発環境を設定します。

GroupDocs.Signatureをインストールします。

希望するインストール方法を選択してください:

.NET CLI

dotnet add package GroupDocs.Signature

パッケージマネージャー

Install-Package GroupDocs.Signature

NuGet パッケージ マネージャー UI 「GroupDocs.Signature」を検索し、最新バージョンをインストールしてください。

ライセンス取得手順

  1. 無料トライアル: 無料トライアルをダウンロードするには ここ.
  2. 一時ライセンス: 制限なく評価するには一時ライセンスを申請してください。
  3. 購入: 長期使用の場合は、フルバージョンをご購入ください。 GroupDocsの購入ページ.

基本的な初期化とセットアップ

インストール後、C# プロジェクトで GroupDocs.Signature を初期化します。

using GroupDocs.Signature;

// ドキュメントパスを使用して新しい Signature インスタンスを初期化します。
Signature signature = new Signature("YOUR_DOCUMENT_PATH");

これにより、QR コード署名の実装を開始するための環境が設定されます。

実装ガイド

このセクションでは、GroupDocs.Signature for .NET を使用して、QR コード署名と検索のカスタム データ シリアル化を実装する方法について説明します。

QRコード署名のカスタムデータシリアル化

概要: カスタム データのシリアル化を使用すると、アプリケーションの要件に応じて情報を構造化するために不可欠な、署名データの特定の形式を定義できます。

ステップ1: 署名データクラスを定義する

署名データを保持するクラスを作成します。

using System;
using GroupDocs.Signature.Domain;

[CustomSerialization]
private class DocumentSignatureData
{
    [Format("SignID")]
    public string ID { get; set; }

    [Format("SAuth")]
    public string Author { get; set; }

    [Format("SDate", "yyyy-MM-dd")]
    public DateTime Signed { get; set; }

    [Format("SDFact", "N2")]
    public decimal DataFactor { get; set; }

    // コメントフィールドをシリアル化から除外する
    [SkipSerialization]
    public string Comments { get; set; }
}

説明:

  • カスタムシリアル化: このクラスをカスタム データ処理用にマークします。
  • フォーマット属性: フォーマットの種類を含め、各プロパティをシリアル化する方法を定義します。
  • シリアル化をスキップ: 特定のプロパティをシリアル化から除外します。

ステップ2: カスタムオプションでQRコード署名を検索する

概要: カスタム オプションを使用してドキュメント内の QR コード署名を検索し、効率的なドキュメント検証を実現できます。

検索の設定
using System;
using System.Collections.Generic;
using GroupDocs.Signature;
using GroupDocs.Signature.Options;
using GroupDocs.Signature.Domain.Extensions;

public class SearchForQRCodeWithCustomOptions
{
    public static void Run()
    {
        string filePath = "YOUR_DOCUMENT_DIRECTORY";

        using (Signature signature = new Signature(filePath))
        {
            IDataEncryption encryption = new CustomXOREncryption();

            QrCodeSearchOptions options = new QrCodeSearchOptions()
            {
                AllPages = true,
                DataEncryption = encryption
            };

            try
            {
                List<QrCodeSignature> signatures = signature.Search<QrCodeSignature>(options);

                foreach (var qrCodeSignature in signatures)
                {
                    DocumentSignatureData documentSignatureData = qrCodeSignature.GetData<DocumentSignatureData>();
                    if (documentSignatureData != null)
                    {
                        Console.WriteLine("QRCode signature found with details:");
                        Console.WriteLine("ID: {0}, Author: {1}, Signed: {2}, DataFactor: {3}", 
                            documentSignatureData.ID, documentSignatureData.Author,
                            documentSignatureData.Signed.ToShortDateString(), documentSignatureData.DataFactor);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error during search process: " + ex.Message);
            }
        }
    }
}

説明:

  • カスタムXORE暗号化: セキュリティを強化するためにカスタム データ暗号化を実装します。
  • Qrコード検索オプション: カスタム データ暗号化の適用を含む、QR コード検索設定を構成します。
  • GetData メソッド: 見つかった署名からシリアル化されたデータを抽出します。

トラブルシューティングのヒント

  • ファイルが見つからない例外を回避するために、ドキュメント パスが正しく指定されていることを確認してください。
  • 実行時エラーを防ぐために、すべての依存関係がインストールされ、最新であることを確認します。

実用的な応用

シリアル化されたカスタム QR コード署名は、さまざまなシナリオに適用できます。

  1. 法的契約: 法的文書内に固有の暗号化された署名を埋め込むことで、契約のセキュリティを強化します。
  2. 財務書類: 安全な署名検証を通じて財務諸表の信頼性を確保します。
  3. 本人確認: シリアル化された QR コード データを使用して ID を確認するための堅牢なシステムを実装します。
  4. サプライチェーンマネジメント: カスタムシリアル化された QR コードを使用して出荷書類を追跡および認証します。
  5. ヘルスケア記録: 暗号化された QR 署名を統合して患者の記録を保護します。

パフォーマンスに関する考慮事項

実装のパフォーマンスを最適化するには:

  • 処理時間を最小限に抑えるために、暗号化に効率的なアルゴリズムを使用します。
  • .NET アプリケーションで未使用のオブジェクトとストリームを適切に破棄することで、メモリ使用量を最適化します。
  • 新しいバージョンの改善点やバグ修正を活用するために、GroupDocs.Signature を定期的に更新してください。

結論

このチュートリアルでは、GroupDocs.Signature for .NETを使用して、カスタムシリアル化によるQRコード署名の実装について解説しました。これらの手順に従うことで、ドキュメントのセキュリティを強化し、署名データの処理を効果的にカスタマイズできます。