PHP에서 프레젠테이션에 디지털 서명 추가
소개
디지털 인증서는 비밀번호로 보호된 PowerPoint 프레젠테이션을 만들 때 사용되며, 특정 조직이나 개인이 만든 것으로 표시됩니다. 디지털 인증서는 인증된 기관(인증서 발급 기관)에 문의하여 얻을 수 있습니다. 시스템에 디지털 인증서를 설치한 후에는 파일 -> 정보 -> 프레젠테이션 보호를 통해 프레젠테이션에 디지털 서명을 추가할 수 있습니다:
프레젠테이션은 하나 이상의 디지털 서명을 포함할 수 있습니다. 디지털 서명이 프레젠테이션에 추가되면 PowerPoint에 특수 메시지가 표시됩니다:
프레젠테이션에 서명하거나 서명의 진위 여부를 확인하려면 Aspose.Slides API가 DigitalSignature 클래스, DigitalSignatureCollection 클래스 및 Presentation::getDigitalSignatures 메서드를 제공합니다. 현재 디지털 서명은 PPTX 형식에서만 지원됩니다.
PFX 인증서에서 디지털 서명 추가
아래 코드 샘플은 PFX 인증서에서 디지털 서명을 추가하는 방법을 보여줍니다:
- PFX 파일을 열고 PFX 비밀번호를 DigitalSignature 객체에 전달합니다.
- 생성된 서명을 프레젠테이션 객체에 추가합니다.
# 프레젠테이션 파일 열기
$pres = new Presentation();
try {
# PFX 파일과 PFX 비밀번호로 DigitalSignature 객체 생성
$signature = new DigitalSignature("testsignature1.pfx", "testpass1");
# 새로운 디지털 서명에 대한 코멘트
$signature->setComments("Aspose.Slides digital signing test.");
# 프레젠테이션에 디지털 서명 추가
$pres->getDigitalSignatures()->add($signature);
# 프레젠테이션 저장
$pres->save("SomePresentationSigned.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
이제 프레젠테이션이 디지털 서명되었고 변경되지 않았는지 확인할 수 있습니다:
# 프레젠테이션 열기
$pres = new Presentation("SomePresentationSigned.pptx");
try {
if (java_values($pres->getDigitalSignatures()->size()) > 0) {
$allSignaturesAreValid = true;
echo("Signatures used to sign the presentation: ");
# 모든 디지털 서명이 유효한지 확인
foreach($pres->getDigitalSignatures() as $signature) {
echo($signature->getComments() . ", " . $signature->getSignTime()->toString() . " -- " . $signature->isValid() ? "VALID" : "INVALID");
$allSignaturesAreValid &= $signature->isValid();
}
if ($allSignaturesAreValid) {
echo("Presentation is genuine, all signatures are valid.");
} else {
echo("Presentation has been modified since signing.");
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
파일에서 기존 서명을 제거할 수 있나요?
네. 디지털 서명 컬렉션은 개별 항목 제거와 전체 삭제를 지원합니다. 파일을 저장하면 프레젠테이션에 서명이 남지 않습니다.
서명 후 파일이 “읽기 전용”이 되나요?
아니요. 서명은 무결성과 저자를 보존하지만 편집을 차단하지는 않습니다. 편집을 제한하려면 “읽기 전용” 또는 비밀번호와 함께 사용하십시오.
다른 버전의 PowerPoint에서 서명이 올바르게 표시되나요?
서명은 OOXML(PPTX) 컨테이너용으로 생성됩니다. OOXML 서명을 지원하는 최신 PowerPoint 버전은 해당 서명의 상태를 올바르게 표시합니다.