私はPDFファイルを持っており、デジタル署名で署名されているかどうかをチェックしたいと思います。 iTextsharpを使って、C#のコード。C#でiTextSharpを使用してPDFファイルが署名されているかどうかを確認する方法は?
答えて
公式の例を見ることをお勧めします。
PDFに埋め込まれたすべての署名に関する複数の情報項目を出力する "SignatureInfo"の例。したがって、特に、ファイルがまったく署名されているかどうかを判断します。
それあなたがiTextSharpの5.5.xを使用している、あなたの極めて重要なコードは、この
public void InspectSignatures(String path) {
Console.WriteLine(path);
PdfReader reader = new PdfReader(path);
AcroFields fields = reader.AcroFields;
List<String> names = fields.GetSignatureNames();
SignaturePermissions perms = null;
foreach (String name in names) {
Console.WriteLine("===== " + name + " =====");
perms = InspectSignature(fields, name, perms);
}
Console.WriteLine();
}
です(iTextSharp例C5_02_SignatureInfo.csから)
ご覧のとおり、あなたを取得AcroFields.GetSignatureNames()
方法署名されたすべての署名フィールドの名前そのリストが空でない場合、PDFに署名が付けられます。
は、.NET用のiTextの7を使用している場合は、あなたの極めて重要なコードはこれです:
public virtual void InspectSignatures(String path)
{
// System.out.println(path);
PdfDocument pdfDoc = new PdfDocument(new PdfReader(path));
PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfDoc, false);
SignaturePermissions perms = null;
SignatureUtil signUtil = new SignatureUtil(pdfDoc);
IList<String> names = signUtil.GetSignatureNames();
foreach (String name in names)
{
System.Console.Out.WriteLine("===== " + name + " =====");
perms = InspectSignature(pdfDoc, signUtil, form, name, perms);
}
System.Console.Out.WriteLine();
}
ご覧のとおり(iTextの7から.NETの例C5_02_SignatureInfo.cs用)メソッドSignatureUtil.GetSignatureNames()
は署名されたすべての署名フィールドの名前を取得します。そのリストが空でない場合、PDFに署名が付けられます。ところで
あなたはさらに、任意に指定していないとして、私はあなたが分離署名もXFA署名でもない、特に、通常の統合されたPDFの署名を意味すると仮定します。
これは解決策としてマークする必要があります!これは私にとって素晴らしい作品です。 –
あなたは(尋ねた人として)それを行うことができる人です:答えの左上にあるチェックマークをクリックしてください。 – mkl
- 1. itextsharpを使用して署名フィールドに署名しているかどうかを確認します
- 2. 署名を確認せずにPDFファイルにc#で電子署名があるかどうかを確認
- 3. PDF CでiTextSharpを使用してUSBトークンを使用して署名する
- 4. PDFがiTextSharpで保護/保護されているかどうか確認
- 5. DLLが署名されているかどうか確認するC++
- 6. C#PDF署名を確認する
- 7. 実行ファイルが署名されているかどうかを確認する(signtoolがそのexeに署名するために使用される)
- 8. python PDFファイルが開いているかどうかを確認する方法
- 9. iTextSharpはiTextSharpを使用してPDFファイル
- 10. Android N - apkがスキーマv2で署名されているかどうかを確認する方法
- 11. OpenSSLを使用してC++で署名を確認する
- 12. glibcが使用されているかどうかを確認する方法
- 13. PDFデジタル署名:iTextSharpを使用して外観をカスタマイズ
- 14. powershellを使用してポートが使用されているかどうかを確認する方法
- 15. ファイルに署名して確認する方法は?
- 16. 署名されたXMLファイルの署名を確認する方法
- 17. プリプロセッサを使用しているObjective C++プロジェクトでcppファイルがコンパイルされているかどうかを確認する方法はありますか?
- 18. iTextSharpを使用してC#でフォームに署名フィールドを追加
- 19. pdfboxを使用してJavaでpdfに署名する方法
- 20. PDFに何らかのデジタル署名があるかどうかを確認する方法
- 21. ファイルがasp.netで使用されているかどうかを確認する方法
- 22. dllがシステムに存在するかどうか、またはC++を使用してSQLSERVER2008がインストールされているかどうかを確認する方法
- 23. PHPでプロファイラを使用してどのファイルがロードされているかを確認する方法
- 24. HealthKitが承認されているかどうかを確認する方法
- 25. Cの整数変数が署名されているかどうかを確認するにはどうすればよいですか?
- 26. アップロードされたPDFが暗号化されているかどうかを確認する方法Laravel検証
- 27. selenium2libraryを使用してブラウザからファイルがダウンロードされたかどうかを確認する方法
- 28. ファイルがCで修正されているかどうかを確認する方法#
- 29. mysqli dbdriverを使用して行が削除されているかどうかを確認する方法
- 30. Microsoft Active Accessibilityを使用してコントロールが表示されているかどうかを確認する方法
どのようなコードを使用していますか、それにどのような問題がありますか? – BACON