Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
다음 코드 스니펫은 Aspose.PDF.Drawing 라이브러리와 함께 작동합니다.
Aspose.PDF for .NET은 SignatureField 클래스를 사용하여 PDF 파일에 디지털 서명하는 기능을 지원하며, 문서에 서명하는 동안 SignatureAppearance
에 대한 이미지를 설정할 수도 있습니다. 이제 이 API는 서명 필드와 관련된 이미지뿐만 아니라 서명 정보를 추출하는 기능도 제공합니다.
서명 정보를 추출하기 위해, 우리는 SignatureField 클래스에 ExtractImage 메서드를 도입했습니다. 다음 코드 스니펫을 참조하여 SignatureField
객체에서 이미지를 추출하는 단계를 보여줍니다:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExtractImagesFromSignatureField()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "ExtractingImage.pdf"))
{
// Searching for signature fields
foreach (var field in document.Form)
{
var sf = field as Aspose.Pdf.Forms.SignatureField;
if (sf == null)
{
continue;
}
using (Stream imageStream = sf.ExtractImage())
{
if (imageStream != null)
{
continue;
}
using (System.Drawing.Image image = System.Drawing.Bitmap.FromStream(imageStream))
{
// Save the image
image.Save(dataDir + "output_out.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
}
}
}
}
}
때때로 PDF 파일 내에 이미 존재하는 서명 필드의 이미지만 교체해야 할 필요가 있을 수 있습니다. 이 요구 사항을 달성하기 위해, 먼저 PDF 파일 내의 양식 필드를 검색하고, 서명 필드를 식별한 다음, 서명 필드의 치수(직사각형 치수)를 가져오고 동일한 치수에 이미지를 스탬프해야 합니다.
Aspose.PDF for .NET은 SignatureField 클래스를 사용하여 PDF 파일에 디지털 서명하는 기능을 지원합니다. 현재 우리는 인증서의 유효성을 판단할 수 있지만 전체 인증서를 추출할 수는 없습니다. 추출할 수 있는 정보는 공개 키, 지문, 발급자 등입니다.
서명 정보를 추출하기 위해, 우리는 ExtractCertificate 메서드를 SignatureField 클래스에 도입했습니다. 다음 코드 스니펫을 참조하여 SignatureField 객체에서 인증서를 추출하는 단계를 보여줍니다:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ExtractCertificate()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "ExtractSignatureInfo.pdf"))
{
// Searching for signature fields
foreach (var field in document.Form)
{
var sf = field as Aspose.Pdf.Forms.SignatureField;
if (sf == null)
{
continue;
}
// Extract certificate
Stream cerStream = sf.ExtractCertificate();
if (cerStream == null)
{
continue;
}
// Save certificate
using (cerStream)
{
byte[] bytes = new byte[cerStream.Length];
using (FileStream fs = new FileStream(dataDir + "input.cer", FileMode.CreateNew))
{
cerStream.Read(bytes, 0, bytes.Length);
fs.Write(bytes, 0, bytes.Length);
}
}
}
}
}
문서 서명 알고리즘에 대한 정보를 얻을 수 있습니다.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private void GetSignaturesInfo()
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_SecuritySignatures();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "signed_rsa.pdf"))
{
using (var signature = new Aspose.Pdf.Facades.PdfFileSignature(document))
{
var sigNames = signature.GetSignatureNames();
var signaturesInfoList = signature.GetSignaturesInfo();
foreach (var sigInfo in signaturesInfoList)
{
Console.WriteLine(sigInfo.DigestHashAlgorithm);
Console.WriteLine(sigInfo.AlgorithmType);
Console.WriteLine(sigInfo.CryptographicStandard);
Console.WriteLine(sigInfo.SignatureName);
}
}
}
}
위 예제에 대한 샘플 출력:
Sha256
Rsa
Pkcs7
Signature1
SignaturesCompromiseDetector 클래스를 사용하여 디지털 서명의 손상 여부를 확인할 수 있습니다. Check() 메서드를 호출하여 문서의 서명을 확인합니다. 서명 손상이 감지되지 않으면 메서드는 true를 반환합니다. 메서드가 false를 반환하면 HasCompromisedSignatures 속성을 사용하여 손상된 서명이 있는지 확인하고 CompromisedSignatures 속성을 통해 손상된 서명 목록을 검색할 수 있습니다.
기존 서명이 전체 문서를 커버하는지 확인하려면 SignaturesCoverage 속성을 사용하십시오. 이 속성은 다음 값을 가질 수 있습니다:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.