Rumah  >  Artikel  >  Sambungan berganda kepada kontrak

Sambungan berganda kepada kontrak

WBOY
WBOYke hadapan
2024-02-12 17:15:05769semak imbas

Kandungan soalan

Saya mahu dapat menandatangani fail pdf beberapa kali menggunakan itext. Tetapi saya tidak mempunyai kunci peribadi. Saya sedang menjana cincang untuk ditandatangani oleh pelanggan, dan selepas menandatangani semula, saya memanggil signDeferred(). Adakah mungkin untuk membuat berbilang bekas kosong, menjana cincang dengan semua bekas kosong, dan kemudian menambah tandatangan apabila ia muncul?

Saya cuba menambah lebih daripada 1 bekas kosong, menghasilkan cincangan, pelanggan menandatangani dan mengembalikan cincangan, saya cuba menambah tetapi mendapat ralat bahawa ia bukan medan terakhir. Anda hanya boleh memanggil signDeferred 。但我不知道如何修复它,因为 signDetached pada medan terakhir yang bukan pilihan kerana saya tidak mempunyai kunci peribadi.

Penyelesaian

Tidak, ini tidak mungkin, sekurang-kurangnya bukan untuk tandatangan PDF yang boleh dikendalikan.

Sebabnya ialah tiada konsep sebenar tandatangan selari (atau tandatangan balas) yang dinyatakan untuk PDF, hanya konsep tandatangan bersiri, satu demi satu tandatangan, setiap tandatangan baru juga menimpa semua tandatangan sebelumnya:

(Lihat jawapan ini untuk butiran lanjut.)

Tegasnya, spesifikasi PDF tidak memerlukan tandatangan untuk merangkumi semua keseluruhan semakan kecuali untuk ruang letak yang dibenamkan dalam bekas tandatangan itu sendiri, ia hanya mengesyorkan nya. Oleh itu, secara teorinya adalah mungkin untuk mencipta PDF dengan berbilang tandatangan, setiap satu meliputi keseluruhan PDF kecuali semua nilai tandatangan terbenam.

Tetapi dalam praktiknya, pengesah tandatangan PDF menolak pembinaan sedemikian. Selain itu, profil tandatangan yang lebih moden (terutamanya profil garis dasar PAdES) memerlukan tandatangan untuk merangkumi semua semakan kecuali untuk pemegang tempat kontena yang ditandatangani.

Atas ialah kandungan terperinci Sambungan berganda kepada kontrak. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:stackoverflow.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam