Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Menandatangani PDF Secara Digital Menggunakan JavaScript dan API WebCrypto Dengan Selamat?

Bagaimanakah Saya Boleh Menandatangani PDF Secara Digital Menggunakan JavaScript dan API WebCrypto Dengan Selamat?

Barbara Streisand
Lepaskan: 2024-11-26 12:22:15
asal
430 orang telah melayarinya

How Can I Digitally Sign PDFs Using JavaScript and WebCrypto API Securely?

Menandatangani PDF dengan JavaScript Biasa dan API WebCrypto

Menandatangani dokumen PDF secara digital menggunakan API WebCrypto dan JavaScript tulen memberikan cabaran tertentu. Walaupun API WebCrypto telah berkembang dan mendapat sokongan dalam penyemak imbas seperti Chrome dan Firefox, ia tidak mempunyai akses terus ke kedai utama atau peranti crypto tempatan.

Untuk menandatangani PDF yang selamat, tidak digalakkan untuk menghantar keseluruhan fail PDF ke penyemak imbas atau pelayan API. Mencipta cincang PDF untuk menandatangani dan menghantar hanya cincang ke penyemak imbas ialah pendekatan yang disyorkan.

Pertimbangan Menandatangani Berasaskan Penyemak Imbas

Untuk menangani batasan API WebCrypto dalam mengakses stor kunci tempatan, sambungan penyemak imbas seperti Signer.Digital menyediakan penyelesaian. Sambungan itu merapatkan jurang antara penyemak imbas dan aplikasi hos tempatan yang berjalan pada sistem pengguna. Ini membolehkan untuk mengakses stor kunci tempatan, USB kripto atau kad pintar.

Menggunakan sambungan Signer.Digital, kod JavaScript boleh memanggil kaedah untuk menandatangani cincang dokumen. Aplikasi hos kemudiannya menggunakan sijil pengguna melalui kedai Sijil Microsoft (pada Windows) atau perpustakaan PKCS#11 (di Linux) untuk mendapatkan tandatangan. Sambungan itu mengembalikan tandatangan pkcs7 yang dikodkan Base64, yang boleh disuntik ke dalam PDF.

Fungsi Hos Sambungan Penyemak Imbas

Kod JavaScript dalam penyemak imbas boleh menggunakan kaedah berikut daripada Pelayar Signer.Digital Hos Sambungan:

  • signPdfHash(hash, certThumbPrint, hashAlgorithm)
  • signHashCAdESBr(hash, certThumbPrint, hashAlgorithm) (untuk tandatangan ICP-Brazil)
  • signCAdESEg(hash, certThumbPrint, hashAlgorithm) (untuk tandatangan ICP-Brazil)
signCAdESEg(hash, certThumbPrint-CAD) tandatangan)

Kaedah ini membolehkan JavaScript mendapatkan tandatangan daripada kedai kunci tempatan dan peranti crypto tanpa menjejaskan keselamatan kunci persendirian.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menandatangani PDF Secara Digital Menggunakan JavaScript dan API WebCrypto Dengan Selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan