From c121e23b3d91781894b9cbc2a97dd41c9eaf3cf0 Mon Sep 17 00:00:00 2001 From: Frank Cornelis Date: Wed, 20 May 2015 11:29:16 +0200 Subject: [PATCH] fix for verification of unsigned documents --- dssp/dssp.php | 9 ++++++++- verify.php | 25 +++++++++++++++++++++---- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/dssp/dssp.php b/dssp/dssp.php index e779f07..5d22770 100644 --- a/dssp/dssp.php +++ b/dssp/dssp.php @@ -412,7 +412,14 @@ public function verify($data, $mimetype = "application/pdf") { } $verificationResult = new VerificationResult(); - $verificationResult->renewTimeStampBefore = $verifyResponse->OptionalOutputs->any["TimeStampRenewal"]->Before; + if (array_key_exists("TimeStampRenewal", $verifyResponse->OptionalOutputs->any)) { + $verificationResult->renewTimeStampBefore = $verifyResponse->OptionalOutputs->any["TimeStampRenewal"]->Before; + } + + if (!property_exists($verifyResponse->OptionalOutputs->any["VerificationReport"], "IndividualReport")) { + $verificationResult->signatureInfos = array(); + return $verificationResult; + } if (is_array($verifyResponse->OptionalOutputs->any["VerificationReport"]->IndividualReport)) { $verificationResult->signatureInfos = array(); diff --git a/verify.php b/verify.php index 1eb94a3..843c9f2 100644 --- a/verify.php +++ b/verify.php @@ -8,7 +8,7 @@ include_once "dssp/dssp.php"; $dssClient = new DigitalSignatureServiceClient(); - + $pdf_handle = fopen("document-1.pdf", "r"); $pdfData = fread($pdf_handle, 65536); fclose($pdf_handle); @@ -23,9 +23,24 @@ echo ""; } echo ""; - + $pdf_handle = fopen("document-2.pdf", "r"); - $pdfData = fread($pdf_handle, 128*1024); + $pdfData = fread($pdf_handle, 128 * 1024); + fclose($pdf_handle); + + $verificationResult = $dssClient->verify($pdfData); + echo "

Renew timestamp before: " . $verificationResult->renewTimeStampBefore . "

"; + echo ""; + foreach ($verificationResult->signatureInfos as $signatureInfo) { + echo ""; + echo ""; + echo ""; + echo ""; + } + echo "
" . $signatureInfo->signingTime . "" . $signatureInfo->subject . "
"; + + $pdf_handle = fopen("document.pdf", "r"); + $pdfData = fread($pdf_handle, 128 * 1024); fclose($pdf_handle); $verificationResult = $dssClient->verify($pdfData); @@ -38,6 +53,8 @@ echo ""; } echo ""; + + echo "

done

"; ?> - \ No newline at end of file +