Aspose PDFからIronPDFへの移行
"署名"はIronPDFで3つの異なる意味を持ち、置き換え可能ではありません: 証明書に支えられた改ざん防止のデジタル署名、手書きイメージの視覚スタンプ、後でユーザーが署名するためのインタラクティブフィールド。 セキュリティ特性は異なり、そのためユースケースはそれに沿って分割されます。暗号コアはpdf.Sign(...)で適用されます。 これにより、アイデンティティがコンテンツに結びつけられ、後の編集が署名を破壊します。
改ざんが明らかである契約および合意
まず、ほとんどのチームが求めるもの。証明書署名はドキュメントが真正で変更されていないことを証明し、監査トレイル(理由、場所、連絡先、日付)、信頼できるタイムスタンプを埋め込むことができます:
using IronPdf;
using IronPdf.Signing;
using System;
var pdf = PdfDocument.FromFile("contract.pdf");
var signature = new PdfSignature("certificate.pfx", "password")
{
SigningReason = "Contractual Agreement",
SigningLocation = "Chicago, USA",
SignatureDate = DateTime.Now,
TimeStampUrl = new Uri("http://timestamp.digicert.com"),
TimestampHashAlgorithm = TimestampHashAlgorithms.SHA256
};
pdf.Sign(signature);
pdf.SaveAs("contract-signed.pdf");Imports IronPdf
Imports IronPdf.Signing
Imports System
Dim pdf = PdfDocument.FromFile("contract.pdf")
Dim signature = New PdfSignature("certificate.pfx", "password") With {
.SigningReason = "Contractual Agreement",
.SigningLocation = "Chicago, USA",
.SignatureDate = DateTime.Now,
.TimeStampUrl = New Uri("http://timestamp.digicert.com"),
.TimestampHashAlgorithm = TimestampHashAlgorithms.SHA256
}
pdf.Sign(signature)
pdf.SaveAs("contract-signed.pdf")信頼できる権威からのタイムスタンプは、ローカルクロックとは無関係にドキュメントがいつ署名されたかの暗号証拠を提供します—提出や規制された提出にとって重要です。
署名後のドキュメントロック
AnnotationsAndFormFillingAllowedはノートも許可します。 許可されていないアクションは署名を無効にし、発行された証明書、承認されたポリシー、完了した文書に適しています。
複数の承認者ワークフロー
PDFは増分保存をサポートしているため、署名は特定のリビジョンに適用されます。 各承認者は独自の署名をし、履歴が誰が何にいつ署名したか、何が変更されたかを記録します。 これにより、共同署名や連続的な署名承認が網羅されます。
検証と監査ゲート
パイプラインは検証に失敗するドキュメントを拒否し、署名を戻すか削除します:
var pdf = PdfDocument.FromFile("signed-report.pdf");
bool valid = pdf.VerifySignatures();
if (!valid)
{
pdf.RemoveSignatures();
pdf.SaveAs("report-unsigned.pdf");
}Dim pdf = PdfDocument.FromFile("signed-report.pdf")
Dim valid As Boolean = pdf.VerifySignatures()
If Not valid Then
pdf.RemoveSignatures()
pdf.SaveAs("report-unsigned.pdf")
End If暗号化なしでの可視的な承認
法律的な否認不可能性ではなく署名の見栄えだけが必要な場合、手書きイメージをスキャンしたスタンプまたはウォーターマーク機能でスタンプします。 内部の承認には良いですが、それが何であるかを明確にしておく限り。
スタンプまたは証明書、そして二つの注意事項
スタンプ画像を証明書署名の代わりに立てないでください。 スタンプはページ上のピクセル:コピー可能で、検証不可能で、ドキュメントが変更されていない保証はありません。 証明書署名は改ざんが明白で、イデンティティをコンテンツに暗号的に結びつけます。 見た目にはスタンプを、証明には証明書を使います。
二つの事柄が人々を混乱させます。 証明書はX509KeyStorageFlags.Exportableでロードします。さもないとプライベートキーが使用できず、署名が失敗します。 また、ビューワーが警告を表示し緑のチェックではなく、それがビューワーの信頼ストアにないと、 署名はまだ有効ですが、別途信頼が確立される必要があります。

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。