@@ -277,9 +277,13 @@ private function getFileContent(): string {
277277 try {
278278 return $ this ->fileContent = $ this ->getFile ()->getContent ();
279279 } catch (LibresignException $ e ) {
280- throw new LibresignException ($ e ->getMessage (), 404 );
281- } catch (\Throwable ) {
282- throw new LibresignException ($ this ->l10n ->t ('Invalid data to validate file ' ), 404 );
280+ throw $ e ;
281+ } catch (\Throwable $ e ) {
282+ $ this ->logger ->error ('Failed to get file content: ' . $ e ->getMessage (), [
283+ 'fileId ' => $ this ->file ->getId (),
284+ 'exception ' => $ e ,
285+ ]);
286+ throw new LibresignException ($ this ->l10n ->t ('Invalid data to validate file ' ), 404 , $ e );
283287 }
284288 }
285289 return '' ;
@@ -477,19 +481,30 @@ private function loadSignersFromCertData(): void {
477481 $ this ->fileData ->signers [$ index ]['signingTime ' ] = $ signer ['signingTime ' ];
478482 $ this ->fileData ->signers [$ index ]['signed ' ] = $ signer ['signingTime ' ]->format (DateTimeInterface::ATOM );
479483 }
480- foreach ($ signer ['chain ' ] as $ chainIndex => $ chainItem ) {
481- $ chainArr = $ chainItem ;
482- if (isset ($ chainItem ['validFrom_time_t ' ]) && is_numeric ($ chainItem ['validFrom_time_t ' ])) {
483- $ chainArr ['valid_from ' ] = (new DateTime ('@ ' . $ chainItem ['validFrom_time_t ' ], new \DateTimeZone ('UTC ' )))->format (DateTimeInterface::ATOM );
484- }
485- if (isset ($ chainItem ['validTo_time_t ' ]) && is_numeric ($ chainItem ['validTo_time_t ' ])) {
486- $ chainArr ['valid_to ' ] = (new DateTime ('@ ' . $ chainItem ['validTo_time_t ' ], new \DateTimeZone ('UTC ' )))->format (DateTimeInterface::ATOM );
487- }
488- $ chainArr ['displayName ' ] = $ chainArr ['name ' ] ?? ($ chainArr ['subject ' ]['CN ' ] ?? '' );
489- $ this ->fileData ->signers [$ index ]['chain ' ][$ chainIndex ] = $ chainArr ;
490- if ($ chainIndex === 0 ) {
491- $ this ->fileData ->signers [$ index ] = array_merge ($ chainArr , $ this ->fileData ->signers [$ index ] ?? []);
492- $ this ->fileData ->signers [$ index ]['uid ' ] = $ this ->resolveUid ($ chainArr );
484+ if (isset ($ signer ['docmdp ' ])) {
485+ $ this ->fileData ->signers [$ index ]['docmdp ' ] = $ signer ['docmdp ' ];
486+ }
487+ if (isset ($ signer ['modifications ' ])) {
488+ $ this ->fileData ->signers [$ index ]['modifications ' ] = $ signer ['modifications ' ];
489+ }
490+ if (isset ($ signer ['modification_validation ' ])) {
491+ $ this ->fileData ->signers [$ index ]['modification_validation ' ] = $ signer ['modification_validation ' ];
492+ }
493+ if (isset ($ signer ['chain ' ])) {
494+ foreach ($ signer ['chain ' ] as $ chainIndex => $ chainItem ) {
495+ $ chainArr = $ chainItem ;
496+ if (isset ($ chainItem ['validFrom_time_t ' ]) && is_numeric ($ chainItem ['validFrom_time_t ' ])) {
497+ $ chainArr ['valid_from ' ] = (new DateTime ('@ ' . $ chainItem ['validFrom_time_t ' ], new \DateTimeZone ('UTC ' )))->format (DateTimeInterface::ATOM );
498+ }
499+ if (isset ($ chainItem ['validTo_time_t ' ]) && is_numeric ($ chainItem ['validTo_time_t ' ])) {
500+ $ chainArr ['valid_to ' ] = (new DateTime ('@ ' . $ chainItem ['validTo_time_t ' ], new \DateTimeZone ('UTC ' )))->format (DateTimeInterface::ATOM );
501+ }
502+ $ chainArr ['displayName ' ] = $ chainArr ['name ' ] ?? ($ chainArr ['subject ' ]['CN ' ] ?? '' );
503+ $ this ->fileData ->signers [$ index ]['chain ' ][$ chainIndex ] = $ chainArr ;
504+ if ($ chainIndex === 0 ) {
505+ $ this ->fileData ->signers [$ index ] = array_merge ($ chainArr , $ this ->fileData ->signers [$ index ] ?? []);
506+ $ this ->fileData ->signers [$ index ]['uid ' ] = $ this ->resolveUid ($ chainArr );
507+ }
493508 }
494509 }
495510 }
0 commit comments