summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlgs/Resource/Init/pdf_sec.ps
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlgs/Resource/Init/pdf_sec.ps')
-rw-r--r--Master/tlpkg/tlgs/Resource/Init/pdf_sec.ps34
1 files changed, 26 insertions, 8 deletions
diff --git a/Master/tlpkg/tlgs/Resource/Init/pdf_sec.ps b/Master/tlpkg/tlgs/Resource/Init/pdf_sec.ps
index b6f2bfce556..9e6c1c0f074 100644
--- a/Master/tlpkg/tlgs/Resource/Init/pdf_sec.ps
+++ b/Master/tlpkg/tlgs/Resource/Init/pdf_sec.ps
@@ -1,4 +1,4 @@
-% Copyright (C) 2001-2020 Artifex Software, Inc.
+% Copyright (C) 2001-2021 Artifex Software, Inc.
% All Rights Reserved.
%
% This software is provided AS-IS with no warranty, either express or
@@ -481,15 +481,33 @@ systemdict /check_r6_password .forceundef
% Even if StmF and StrF are Identity, if the StdCF is missing AuthEvent
% or it is DocOpen, we require the password. Check for that.
1 index /CF .knownget {
- /StdCF .knownget {
- /AuthEvent .knownget {
- /DocOpen eq
- or
+ oforce dup type /dicttype eq {
+ /StdCF .knownget {
+ oforce dup type /dicttype eq {
+ /AuthEvent .knownget {
+ oforce dup type /nametype eq {
+ /DocOpen eq
+ or
+ }{
+ ( **** Error: AuthEvent has wrong type.\n) pdfformaterror
+ ( Cannot decrypt PDF file.\n) pdfformaterror
+ /pdf_process_Encrypt cvx /invalidfileaccess signalerror
+ } ifelse
+ } {
+ pop true % no AuthEvent, default is DocOpen, require password
+ } ifelse
+ }{
+ ( **** Error: StdCF has wrong type.\n) pdfformaterror
+ ( Cannot decrypt PDF file.\n) pdfformaterror
+ /pdf_process_Encrypt cvx /invalidfileaccess signalerror
+ } ifelse
} {
- pop true % no AuthEvent, default is DocOpen, require password
+ pop true % no StdCF, require password
} ifelse
- } {
- pop true % no StdCF, require password
+ }{
+ ( **** Error: CF has wrong type.\n) pdfformaterror
+ ( Cannot decrypt PDF file.\n) pdfformaterror
+ /pdf_process_Encrypt cvx /invalidfileaccess signalerror
} ifelse
} {
pop true % no CF, require password