디지털 서명은 잘 알려져 있고 일반적으로 사용되는 디지털 문서 보호 방법입니다. 문서 내용의 진위 여부를 쉽게 확인할 수 있습니다. 따라서 누군가 문서를 변경하려고 시도했는지 식별할 수 있습니다. MS PowerPoint에서는 디지털 서명으로 PPT 또는 PPTX 프레젠테이션에 서명할 수도 있습니다. 이 기능을 프로그래밍 방식으로 자동화하기 위해 이 문서에서는 Python에서 PowerPoint PPT 파일에 디지털 서명을 추가하는 방법을 다룹니다.

PowerPoint PPT에 디지털 서명하는 Python 라이브러리

PowerPoint 프레젠테이션에 디지털 서명을 추가하기 위해 Aspose.Slides for Python via .NET을 사용합니다. 복잡한 코드를 작성하지 않고도 PowerPoint 프레젠테이션을 만들고 조작할 수 있는 강력한 Python 라이브러리입니다. 다음 pip 명령을 사용하여 PyPI에서 라이브러리를 설치할 수 있습니다.

> pip install aspose.slides 

Python에서 PPT에 디지털 서명 추가

디지털 서명으로 문서에 서명하려면 먼저 인증 기관으로 알려진 승인된 조직/사람으로부터 인증서를 받아야 합니다. 이 인증서는 소유자를 고유하게 식별하는 데 사용됩니다.

디지털 인증서가 있으면 아래 단계에 따라 Python에서 PowerPoint PPT에 디지털 서명을 추가할 수 있습니다.

  • 먼저 프레젠테이션 클래스를 사용하여 PPT/PPTX를 엽니다.
  • 그런 다음 파일의 경로와 암호를 제공하여 DigitalSignature 클래스를 사용하여 디지털 서명을 로드합니다.
  • DigitalSignature.comments 속성을 사용하여 주석을 추가합니다.
  • Presentation.digital\signatures.add(DigitalSignature) 방법을 사용하여 프레젠테이션에 디지털 서명을 추가합니다.
  • 마지막으로 Presentation.save(string, SaveFormat) 메서드를 사용하여 프레젠테이션을 저장합니다.

다음 코드 샘플은 Python에서 PowerPoint PPT에 디지털 서명을 추가하는 방법을 보여줍니다.

import aspose.slides as slides

# Load presentation
with slides.Presentation("presentation.pptx") as pres:
    # Create DigitalSignature object with PFX file and PFX password 
    signature = slides.DigitalSignature("certificate.pfx", "password")

    # Comment new digital signature
    signature.comments = "Signing with Aspose.Slides"

    # Add digital signature to presentation
    pres.digital_signatures.add(signature)

    # Save presentation
    pres.save("SignedPPT.pptx", slides.export.SaveFormat.PPTX)

Python에서 디지털 서명된 PPT 확인

Aspose.Slides를 사용하면 디지털 서명된 PPT가 수정되었는지 여부도 확인할 수 있습니다. 다음은 Python의 PowerPoint 프레젠테이션에서 디지털 서명의 유효성을 검사하는 단계입니다.

  • 먼저 프레젠테이션 클래스를 사용하여 PPT/PPTX를 엽니다.
  • 그런 다음 PPT가 디지털 서명되었는지 확인합니다.
  • Presentation.digital\signatures 컬렉션의 각 디지털 서명에 대해 다음 단계를 수행합니다.
    • 서명을 확인하려면 DigitalSignature.is\valid를 사용하십시오.
    • false를 반환하면 프레젠테이션이 수정되고 그렇지 않으면 수정되지 않습니다.

다음 코드 샘플은 Python의 PowerPoint PPT에서 디지털 서명의 유효성을 검사하는 방법을 보여줍니다.

import aspose.slides as slides

# Load presentation
with slides.Presentation("presentation.pptx") as pres:
    if len(pres.digital_signatures) > 0:
        allSignaturesAreValid = True
        print("Signatures used to sign the presentation: ")

        # Check if all digital signatures are valid
        for signature in pres.digital_signatures :
            print(signature.certificate.subject_name.name + ", "
                    + signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "VALID" if signature.is_valid else "INVALID")
            allSignaturesAreValid = allSignaturesAreValid and signature.is_valid

        if allSignaturesAreValid:
            print("Presentation is original, all signatures are valid.")
        else:
            print("Presentation has been modified.")

무료 라이선스 받기

평가 제한 없이 .NET을 통해 Python용 Aspose.Slides를 사용할 수 있는 무료 임시 라이선스를 얻을 수 있습니다.

결론

이 기사에서는 Python에서 PowerPoint PPT 또는 PPTX 파일에 디지털 서명을 추가하는 방법을 배웠습니다. 또한 프레젠테이션이 수정되었는지 여부를 확인하기 위해 디지털 서명을 확인하는 방법을 보았습니다. 문서를 사용하여 Python용 Aspose.Slides의 다른 기능을 탐색할 수 있습니다. 또한 포럼에서 질문할 수 있습니다.

또한보십시오