디지털 서명 확인 소개

문서의 서명이 진짜인지 확인해야 하나요? 디지털 서명은 문서가 누구에 의해 서명되었는지 증명하고 서명 후 문서가 변경되었는지 여부를 보여주는 전자 지문과 같습니다. 종이 서명과는 달리 디지털 서명은 특별한 암호화를 사용하여 훨씬 더 안전합니다.

이 가이드는 Python과 GroupDocs.Signature 라이브러리를 사용하여 문서의 다양한 유형의 서명을 확인하는 방법을 보여줍니다. PDF, Word 또는 Excel 파일에서 디지털 서명, 바코드 또는 QR 코드를 확인해야 하는 경우, 간단한 사용 가능한 코드 예제를 통해 해결할 수 있습니다.

디지털 서명이란 무엇인가요?

디지털 서명은 고급 버전의 서명과 같은 방식으로 작동하지만 추가 보안 기능이 있습니다. 다음이 그 특성입니다:

  1. 신원 증명 - 문서가 실제로 서명된 사람임을 보여줍니다.
  2. 콘텐츠 보호 - 서명 후 문서가 변경되었는지 여부를 보여줍니다.
  3. 부정할 수 없음 - 서명자는 서명하지 않았다고 주장할 수 없습니다.

누군가가 문서를 디지털로 서명하면 개인 키를 사용합니다. 이 개인 키는 오직 그 사람만 가지고 있습니다. 누구나 공개 키를 사용하여 서명이 진짜인지 확인할 수 있습니다. 이 확인 과정은 이 가이드에서 배울 것입니다.

디지털 서명을 특별한 잠금으로 생각하세요. 이 잠금은 오직 한 사람이 잠글 수 있지만 누구나 제대로 잠겼는지 확인할 수 있습니다.

디지털 서명 확인 방법

디지털 서명 확인은 오늘날의 디지털 환경에서 문서의 진위성과 무결성을 보장하는 중요한 과정입니다. 문서의 디지털 서명을 확인하면 두 가지 주요 사항을 확인하는 것입니다: 서명이 진위인지, 서명 후 문서가 변경되었는지 여부입니다.

디지털 서명 확인 과정 이해

서명 확인 과정은 전자 서명을 검증하기 위해 함께 작동하는 여러 주요 단계를 포함합니다:

인증서 체인 검증: 모든 디지털 서명에는 서명자를 식별하는 인증서가 포함되어 있습니다. 검증 중에 시스템은 이 인증서가 유효하고 만료되지 않았으며 신뢰할 수 있는 인증 기관(CA)에 의해 발급되었는지 확인합니다. 이 단계는 문서에 서명할 권한이 있는 사람이 실제로 서명했는지 확인합니다.

암호화 해시 검증: 디지털 서명은 문서가 서명될 때 고유한 지문을 생성하기 위해 암호화 해시 함수를 사용합니다. 서명을 확인할 때 시스템은 이 해시를 다시 계산하고 원래 해시와 비교합니다. 일치하면 문서가 조작되지 않았습니다.

시간 스탬프 검증: 많은 전자 서명에는 문서가 서명된 시점을 증명하는 시간 스탬프가 포함되어 있습니다. 이 시간 스탬프 검증은 서명 순서를 확립하고 서명이 인증서가 여전히 유효할 때 생성되었는지 확인하는 데 도움이 됩니다.

디지털 서명 확인의 중요성

문서 서명 확인은 현대 비즈니스 워크플로우에서 여러 가지 중요한 목적을 수행합니다:

법적 준수: 많은 산업은 규제 기준을 충족하기 위해 확인된 전자 서명이 필요합니다. 적절한 서명 확인은 문서가 법적 절차에서 유효하고 eIDAS(유럽) 또는 ESIGN Act(미국) 같은 법을 준수하는지 확인합니다.

보안 보장: 디지털 서명 확인은 문서 위조 및 권한 없는 수정으로부터 보호합니다. 이는 계약서, 금융 문서 및 민감한 비즈니스 합의서에 특히 중요합니다.

워크플로우 무결성: 자동화된 문서 처리 시스템에서는 서명 확인을 통해 올바르게 서명된 문서만 비즈니스 프로세스를 통해 이동하여 오류를 방지하고 품질 관리를 유지합니다.

확인할 수 있는 서명 유형

현대 문서 서명 솔루션은 다양한 서명 유형을 지원하며 각 유형은 다른 사용 사례를 충족합니다:

PKI 기반 디지털 서명: 이러한 서명은 공개 키 인프라를 사용하며 가장 안전한 옵션입니다. 고가 거래, 법적 문서 및 비부인거부 요구 사항이 있는 시나리오에 적합합니다.

생체 인식 서명: 이러한 서명은 손글씨 패턴 또는 지문과 같은 고유한 생물학적 특성을 캡처합니다. 서명자가 실제로 존재했음을 증명해야 하는 시나리오에 적합합니다.

간단한 전자 서명: 이러한 서명에는 기본 이메일 확인, 체크박스 수락 또는 입력된 이름 등이 포함됩니다. 덜 안전하지만 낮은 위험 합의 및 내부 워크플로우에 적합합니다.

✅ 바코드 서명 확인

바코드는 문서에 서명 정보를 저장할 수 있습니다. 바코드 서명이 유효한지 확인하는 방법은 다음과 같습니다:

  1. 올바른 도구 가져오기: GroupDocs.Signature 모듈을 가져옵니다.
  2. 문서 설정: 프로그램에 확인할 파일을 지정합니다.
  3. 바코드 확인: 특수 옵션을 사용하여 바코드를 확인합니다.
  4. 결과 확인: 서명이 유효한지 확인합니다.

다음은 모든 작업을 수행하는 코드입니다:

import groupdocs.signature as gs
import groupdocs.signature.options as gso
import groupdocs.signature.domain as gsd
import os

def run():
    # 서명된 문서의 경로
    file_path = "sample.pdf"

    # 확인할 문서 열기
    with gs.Signature(file_path) as signature:
        options = gso.BarcodeVerifyOptions()
        options.all_pages = True  # 모든 페이지 확인
        options.text = "12345"
        options.match_type = gsd.TextMatchType.CONTAINS

        # 서명 확인
        result = signature.verify(options)

        if result.is_valid:
            print(f"\n문서 {file_path} 서명이 유효합니다!")
        else:
            print(f"\n문서 {file_path} 서명 확인 실패.")

if __name__ == "__main__":
    run()

✅ 디지털 서명 확인

디지털 서명은 특별한 인증서를 사용하여 가장 안전한 유형입니다. 확인하는 방법은 다음과 같습니다:

  1. 올바른 도구 가져오기: 필요한 모듈을 가져옵니다.
  2. 문서 설정: 서명된 파일을 지정합니다.
  3. 확인 옵션 설정: 프로그램에 확인할 내용을 지정합니다.
  4. 확인 실행: 서명을 확인합니다.
  5. 결과 확인: 테스트를 통과했는지 확인합니다.

다음은 이를 수행하는 코드입니다:

import groupdocs.signature as gs
import groupdocs.signature.options as gso
import os

def run():
    # 서명된 문서의 경로
    file_path = "sample.pdf"
    certificate_pfx = "인증서 경로"

    # 확인할 문서 열기
    with gs.Signature(file_path) as signature:
        options = gso.DigitalVerifyOptions(certificate_pfx)
        options.contact = "Mr.Smith"
        options.password = "1234567890"

        # 서명 확인
        result = signature.verify(options)

        if result.is_valid:
            print(f"\n문서 {file_path} 서명이 유효합니다!")
            for item in result.succeeded:
                print(f"\n유효한 서명이 발견되었습니다.")
        else:
            print(f"\n문서 {file_path} 서명 확인 실패.")

if __name__ == "__main__":
    run()

✅ QR 코드 서명 확인

QR 코드는 스마트폰으로 스캔할 수 있는 사각형 패턴입니다. 또한 서명 정보를 저장할 수 있습니다. 확인하는 방법은 다음과 같습니다:

  1. 도구 준비: 필요한 모듈을 가져옵니다.
  2. 문서 선택: 파일 경로를 설정합니다.
  3. QR 확인 설정: 올바른 옵션을 만듭니다.
  4. QR 코드 확인: 확인을 실행합니다.
  5. 통과 여부 확인: 결과를 확인합니다.

다음은 작업을 수행하는 코드입니다:

import groupdocs.signature as gs
import groupdocs.signature.options as gso
import groupdocs.signature.domain as gsd
import os

def run():
    # 서명된 문서의 경로
    file_path = "sample.pdf"

    # 확인할 문서 열기
    with gs.Signature(file_path) as signature:
        options = gso.QrCodeVerifyOptions()
        options.all_pages = True  # 모든 페이지 확인
        options.text = "John"
        options.match_type = gsd.TextMatchType.CONTAINS

        # 서명 확인
        result = signature.verify(options)

        if result.is_valid:
            print(f"\n문서 {file_path} 서명이 유효합니다!")
        else:
            print(f"\n문서 {file_path} 서명 확인 실패.")

if __name__ == "__main__":
    run()

📝 결론

디지털 서명 확인은 오늘날의 디지털 세계에서 문서 보안을 보장하는 데 필수적입니다. GroupDocs.Signature for Python via .NET을 사용하면 문서에서 다양한 유형의 서명을 쉽게 확인할 수 있습니다:

  • ✔️ 추적 및 자동화 시스템용 바코드 서명
  • ✔️ 인증서 기반 보안 디지털 서명
  • ✔️ 모바일 친화적 확인 QR 코드 서명

이 가이드의 코드 예제는 Python 애플리케이션에 서명 확인을 추가하는 것이 얼마나 간단한지 보여줍니다. 이러한 확인 방법을 구현하면 다음과 같은 작업을 수행할 수 있습니다:

  • 문서가 조작되지 않았는지 확인합니다.
  • 문서 서명자의 신원을 확인합니다.
  • 더 안전한 문서 워크플로우를 만듭니다.
  • 디지털 문서 프로세스에 신뢰를 구축합니다.

오늘 디지털 서명 확인을 구현하여 문서 보안을 다음 단계로 끌어올리세요!

무료 체험

이 서명 확인 기능을 직접 사용해보고 싶으신가요? releases.groupdocs.com에서 GroupDocs.Signature for Python via .NET의 무료 체험판을 다운로드할 수 있습니다. 또한 https://purchase.groupdocs.com/temporary-license/에서 제한 없이 모든 기능을 테스트할 수 있는 임시 라이선스를 얻을 수 있습니다.

참고