diff --git a/src/app/document/controllers/DigitalSignatureController.php b/src/app/document/controllers/DigitalSignatureController.php index 8ff36abb3db3be4fd04094809b651032e6b5b706..ab2bfdf2c684cb2b77d0df2f6e6e5b91e10fe6bd 100755 --- a/src/app/document/controllers/DigitalSignatureController.php +++ b/src/app/document/controllers/DigitalSignatureController.php @@ -366,6 +366,7 @@ class DigitalSignatureController // Create a collection of trusted certificats: $trustedCertificates = new \SetaPDF_Signer_X509_Collection(\SetaPDF_Signer_Pem::extractFromFile($tmpTimestampPEM)); + $extraTrustedCertificate = false; if (!empty($args['extraCertificate'])) { $certificate = new \SetaPDF_Signer_X509_Certificate($args['extraCertificate']); @@ -381,22 +382,25 @@ class DigitalSignatureController foreach ($aia->fetchIssuers($informationResolverManager)->getAll() as $issuer) { $trustedCertificates->add($issuer); $certificates[] = $issuer; + $extraTrustedCertificate = true; } } } } - // Create a collector instance - $collector = new \SetaPDF_Signer_ValidationRelatedInfo_Collector($trustedCertificates); - $vriData = $collector->getByFieldName($document, $args['fieldName']); - - $dss = new \SetaPDF_Signer_DocumentSecurityStore($document); - $dss->addValidationRelatedInfoByFieldName( - $args['fieldName'], - $vriData->getCrls(), - $vriData->getOcspResponses(), - $vriData->getCertificates() - ); + if (empty($args['extraCertificate']) || (!empty($args['extraCertificate']) && $extraTrustedCertificate)) { + // Create a collector instance + $collector = new \SetaPDF_Signer_ValidationRelatedInfo_Collector($trustedCertificates); + $vriData = $collector->getByFieldName($document, $args['fieldName']); + + $dss = new \SetaPDF_Signer_DocumentSecurityStore($document); + $dss->addValidationRelatedInfoByFieldName( + $args['fieldName'], + $vriData->getCrls(), + $vriData->getOcspResponses(), + $vriData->getCertificates() + ); + } $document->save()->finish(); diff --git a/src/app/document/controllers/DocumentController.php b/src/app/document/controllers/DocumentController.php index 7d3d90ad6f53f4ddcb5024dec98648b0f48df879..8fde98e528bd6f26c4cd4dd47bc8e4ce5909d989 100755 --- a/src/app/document/controllers/DocumentController.php +++ b/src/app/document/controllers/DocumentController.php @@ -672,7 +672,7 @@ class DocumentController 'fingerprint' => $storeInfos['fingerprint'] ]); - if (DocumentController::ACTIONS[$args['actionId']] == 'VAL' && ($workflow['mode'] == 'visa' || $workflow['signature_mode'] == 'stamp')) { + if (DocumentController::ACTIONS[$args['actionId']] == 'VAL' && $workflow['signature_mode'] == 'stamp') { $storeInfos = DocserverController::storeResourceOnDocServer([ 'encodedFile' => base64_encode($fileContent), 'format' => 'pdf',