Skip to content

Commit

Permalink
Fix #794
Browse files Browse the repository at this point in the history
  • Loading branch information
hhrutter committed Feb 28, 2024
1 parent b4af9ea commit fc87a22
Showing 1 changed file with 18 additions and 2 deletions.
20 changes: 18 additions & 2 deletions pkg/pdfcpu/crypto.go
Expand Up @@ -1122,8 +1122,20 @@ func encrypt(m map[string]types.Object, k string, v types.Object, objNr, genNr i
}

func encryptDict(d types.Dict, objNr, genNr int, key []byte, needAES bool, r int) error {

isSig := false
ft := d["FT"]
if ft == nil {
ft = d["Type"]
}
if ft != nil {
if ftv, ok := ft.(types.Name); ok && ftv == "Sig" {
isSig = true
}
}
for k, v := range d {
if isSig && k == "Contents" {
continue
}
err := encrypt(d, k, v, objNr, genNr, key, needAES, r)
if err != nil {
return err
Expand Down Expand Up @@ -1191,16 +1203,20 @@ func encryptDeepObject(objIn types.Object, objNr, genNr int, key []byte, needAES
}

func decryptDict(d types.Dict, objNr, genNr int, key []byte, needAES bool, r int) error {
isSig := false
ft := d["FT"]
if ft == nil {
ft = d["Type"]
}
if ft != nil {
if ftv, ok := ft.(types.Name); ok && ftv == "Sig" {
return nil
isSig = true
}
}
for k, v := range d {
if isSig && k == "Contents" {
continue
}
s, err := decryptDeepObject(v, objNr, genNr, key, needAES, r)
if err != nil {
return err
Expand Down

0 comments on commit fc87a22

Please sign in to comment.