Maison >interface Web >js tutoriel >Comment puis-je signer numériquement des PDF à l'aide de JavaScript et de l'API WebCrypto en toute sécurité ?
La signature numérique d'un document PDF à l'aide de l'API WebCrypto et de JavaScript pur présente certains défis. Bien que l'API WebCrypto ait évolué et soit désormais prise en charge dans des navigateurs tels que Chrome et Firefox, elle ne dispose pas d'un accès direct aux magasins de clés ou aux appareils de chiffrement locaux.
Pour une signature PDF sécurisée, il n'est pas conseillé d'envoyer l'intégralité du fichier PDF à le navigateur ou le serveur API. Créer un hachage du PDF pour signer et envoyer uniquement le hachage au navigateur est une approche recommandée.
Pour répondre aux limitations de l'API WebCrypto lors de l'accès aux magasins de clés locaux, les extensions de navigateur comme Signer.Digital fournissent une solution. L'extension comble le fossé entre le navigateur et une application hôte locale exécutée sur le système de l'utilisateur. Cela permet d'accéder aux magasins de clés locaux, aux clés USB cryptographiques ou aux cartes à puce.
À l'aide de l'extension Signer.Digital, le code JavaScript peut appeler des méthodes pour signer le hachage d'un document. L'application hôte utilise ensuite le certificat de l'utilisateur via le magasin de certificats Microsoft (sous Windows) ou la bibliothèque PKCS#11 (sous Linux) pour obtenir la signature. L'extension renvoie une signature pkcs7 codée en Base64, qui peut être injectée dans le PDF.
Le code JavaScript du navigateur peut appeler les méthodes suivantes à partir du navigateur Signer.Digital Hôte d'extension :
Ces méthodes permettent à JavaScript d'obtenir des signatures à partir de magasins de clés locaux et de dispositifs de chiffrement sans compromettre la sécurité des clés privées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!