diff options
author | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2018-12-21 03:39:51 +0000 |
---|---|---|
committer | Akira Kakuto <kakuto@fuk.kindai.ac.jp> | 2018-12-21 03:39:51 +0000 |
commit | 2daa55943e8c636fa3e239259539126821009288 (patch) | |
tree | 2441bf50f337f3bb1ed59ef0510c90759224fa5b /Build/source/texk/dvipdfm-x/pdfencrypt.c | |
parent | 1b616127961b67a309607c159c39f2a6ad61b341 (diff) |
Add a new special pdf:trailerid (S. Hirata)
git-svn-id: svn://tug.org/texlive/trunk@49467 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvipdfm-x/pdfencrypt.c')
-rw-r--r-- | Build/source/texk/dvipdfm-x/pdfencrypt.c | 39 |
1 files changed, 6 insertions, 33 deletions
diff --git a/Build/source/texk/dvipdfm-x/pdfencrypt.c b/Build/source/texk/dvipdfm-x/pdfencrypt.c index 229d7d554ac..a1c02561da4 100644 --- a/Build/source/texk/dvipdfm-x/pdfencrypt.c +++ b/Build/source/texk/dvipdfm-x/pdfencrypt.c @@ -87,33 +87,17 @@ static const unsigned char padding_bytes[32] = { 0x2f, 0x0c, 0xa9, 0xfe, 0x64, 0x53, 0x69, 0x7a }; -void -pdf_enc_compute_id_string (const char *producer, - const char *dviname, const char *pdfname) -{ - struct pdf_sec *p = &sec_data; - char datestr[32]; - MD5_CONTEXT md5; - - MD5_init(&md5); - /* Don't use timezone for compatibility */ - dpx_util_format_asn_date(datestr, 0); - MD5_write(&md5, (const unsigned char *)datestr, strlen(datestr)); - if (producer) - MD5_write(&md5, (const unsigned char *)producer, strlen(producer)); - if (dviname) - MD5_write(&md5, (const unsigned char *)dviname, strlen(dviname)); - if (pdfname) - MD5_write(&md5, (const unsigned char *)pdfname, strlen(pdfname)); - MD5_final(p->ID, &md5); -} - int -pdf_init_encryption (struct pdf_enc_setting settings) +pdf_init_encryption (struct pdf_enc_setting settings, const unsigned char *trailer_id) { time_t current_time; struct pdf_sec *p = &sec_data; + if (trailer_id) { + memcpy(p->ID, trailer_id, 16); + } else { + memset(p->ID, 0, 16); + } current_time = dpx_util_get_unique_time_if_given(); if (current_time == INVALID_EPOCH_VALUE) current_time = time(NULL); @@ -748,17 +732,6 @@ pdf_encrypt_obj (void) return doc_encrypt; } -pdf_obj *pdf_enc_id_array (void) -{ - struct pdf_sec *p = &sec_data; - pdf_obj *id = pdf_new_array(); - - pdf_add_array(id, pdf_new_string(p->ID, 16)); - pdf_add_array(id, pdf_new_string(p->ID, 16)); - - return id; -} - void pdf_enc_set_label (unsigned label) { struct pdf_sec *p = &sec_data; |