디지털 서명은 문서의 진위 여부를 확인하기 위한 신뢰할 수 있는 체계입니다. 디지털 서명은 종종 전자 서명을 구현하는 데 사용됩니다. 이 기사에서는 C#을 사용하여 디지털 인증서로 PDF 및 Word 문서에 전자 서명하는 방법을 배웁니다.

디지털 서명 및 인증서용 .NET API

디지털 인증서로 문서에 서명하기 위해 이 기사의 C# 예제에서 GroupDocs.Signature for .NET API를 사용할 것입니다. PDF 문서 서명 외에도 이 API는 워드 프로세서 문서 및 스프레드시트 형식에 대한 디지털 서명을 지원합니다.

다운로드 섹션에서 DLL 또는 MSI 설치 프로그램을 다운로드하거나 NuGet을 통해 .NET 애플리케이션에 API를 설치합니다.

PM> Install-Package GroupDocs.Signature

C#에서 디지털 인증서로 PDF 서명

환경을 설정하고 나면 문서에 서명할 수 있습니다. 다음 단계에 따라 C#을 사용하여 사용 가능한 디지털 인증서로 문서에 서명합니다.

  • 서명할 문서로 Signature 객체를 초기화합니다.
  • DigitalSignOptions 개체를 인증서 파일로 초기화합니다.
  • 비밀번호, 위치 등 필수 기호 옵션을 설정합니다.
  • Sign 메소드를 호출하여 디지털 인증서로 문서에 서명합니다.

다음 코드 예제에서는 C#의 인증서를 사용하여 PDF 문서에 서명합니다.

// C#에서 디지털 인증서로 PDF 서명
using (Signature signature = new Signature("document.pdf"))
{
    DigitalSignOptions options = new DigitalSignOptions("certificate.pfx");
    {
        ImageFilePath = "sampleImage.jpg", // Optional - Set image file path
        Left = 50,                    // Set signature position
        Top = 50,
        Password = "GroupDocs"       // Set Password
    };
    signature.Sign("signedDocument.pdf", options);
}

C#에서 사용자 지정 모양을 사용하여 디지털 서명으로 서명

디지털 서명은 다양한 프레젠테이션을 갖도록 사용자 정의할 수 있습니다. 개인화된 모양의 경우 PdfDigitalSignatureAppearance 클래스를 사용하여 다음 옵션을 사용자 지정할 수 있습니다.

  • 배경
  • 연락처 정보
  • 서명 날짜
  • 디지털 서명
  • 위치
  • 이유
  • 글꼴군
  • 글꼴 크기

또한 다음 속성을 변경할 수 있습니다.

  • 너비
  • 테두리 스타일
  • 모든 페이지 또는 아님에 표시
디지털 인증서로 PDF 서명

C#에서 GroupDocs.Signature for .NET을 사용하여 디지털 인증서로 서명된 PDF 문서

다음 예에서는 위에서 언급한 거의 모든 속성을 사용하고 있습니다. 이 예에서는 C#을 사용하여 PDF 문서의 디지털 서명 모양을 사용자 지정합니다.

// 사용자 지정 모양 및 설정을 사용하여 C#에서 디지털 인증서로 PDF 서명
using (Signature signature = new Signature("document.pdf"))
{
    DigitalSignOptions options = new DigitalSignOptions("certificate.pfx")
    {
        Password = "GroupDocs",
        // 디지털 인증서 세부 정보
        Reason = "Approved",
        Location = "New York",

        // 사용자 정의 PDF 서명 모양
        Appearance = new PdfDigitalSignatureAppearance()
        {
            // 연락처를 표시하지 않음
            ContactInfoLabel = string.Empty,
            // 이유 레이블 단순화
            ReasonLabel = "?",
            // 위치 레이블 변경
            LocationLabel = "From",
            DigitalSignedLabel = "By",
            DateSignedAtLabel = "On",
            Background = Color.Red
        },
        AllPages = true,
        Width = 160,
        Height = 80,
        // 서명 테두리 설정
        Border = new Border()
        {
            Visible = true,
            Color = Color.Red,
            DashStyle = DashStyle.DashDot,
            Weight = 2
        }
    };
    SignResult signResult = signature.Sign("signedDocument.pdf", options);
}

C#에서 디지털 인증서로 Word 문서에 서명

마찬가지로 인증서를 사용하여 Word 문서에 서명할 수 있습니다. 서명 개체 초기화를 시작할 때 올바른 문서를 제공하기만 하면 됩니다.

  • 서명할 Word 문서로 Signature 개체를 초기화합니다.
  • DigitalSignOptions 개체를 인증서 파일로 초기화합니다.
  • 비밀번호, 위치 등 기호 옵션을 설정합니다.
  • 서명 방식으로 디지털 인증서로 문서에 서명합니다.

이 예에서는 C#의 인증서를 사용하여 Word 문서에 서명합니다.

// C#에서 디지털 인증서로 Word 문서 서명
using (Signature signature = new Signature("document.docx"))
{
    DigitalSignOptions options = new DigitalSignOptions("certificate.pfx");
    {
        ImageFilePath = "sampleImage.jpg", // Optional - Set image file path
        Left = 50,                    // Set signature position
        Top = 50,
        Password = "GroupDocs"       // Set Password
    };
    signature.Sign("signedDocument.docx", options);
}

결론

이 기사에서는 C#을 사용하여 디지털 인증서로 PDF 및 Word 문서에 전자 서명하는 방법을 배웠습니다. 또한 서명 모양을 쉽게 사용자 지정할 수 있습니다. 이제 C#에서 사용자 지정 모양이 있는 디지털 인증서로 PDF 및 Word 문서에 서명하기 위한 고유한 .NET 응용 프로그램을 구축할 수 있습니다.

서명 API에 대한 추가 정보를 위한 빠른 링크

또한보십시오