Comment utiliser les clés d'un HSM compatible PKCS # 11 (par exemple un SafeNet iKey 2032 [USB] ou un Aladdin eToken PRO [USB]) dans une application PHP fonctionnant sur un serveur Linux?Comment s'interfacer avec un périphérique HSM compatible PKCS # 11 en PHP
Répondre
Je suppose que vous posez des questions sur les utilisateurs qui utilisent leurs jetons pour générer des signatures. les signatures sont générées du côté client, c'est-à-dire dans le navigateur. le fait que votre solution soit sur linux/php n'a pas d'importance.
Vous devez ajouter un composant logiciel appelé un signataire, qui va lire le certificat et générer la signature.
Les signataires Open Source existants sont écrits en Java, la raison pour laquelle un applet Java est toujours la technologie côté client la plus disponible.
Je n'ai pas vu, et une recherche rapide n'a pas trouvé, une bibliothèque de colle PCKS # 11 pour PHP. Probablement pas la réponse que vous cherchez. (: Si vous avez une meilleure recherche que moi, mettez à jour ce thread
Je pense que votre meilleur pari serait d'écrire un programme C qui appelle PKCS # 11 et accède au HSM, et appelle cela à partir de votre application PHP comme Un binaire externe Même si un wrapper PKCS # 11 émerge pour PHP, cette approche vous donnera l'API complète disponible pour le code C plutôt que d'avoir à faire avec ce que l'auteur de l'encapsuleur a besoin pour satisfaire ses propres exigences. 11 est une API de grande taille, et les implémentations de wrapper sont souvent incomplètes
Vous aurez besoin de regarder le projet OpenSC pkcs11-helper. Ce sera difficile si vous essayez d'accéder au module PKCS # 11 directement depuis PHP
le lien est mort :( – EaterOfCode
s'il vous plaît, vérifiez votre connexion.J'ai revérifié le lien.Il est ok – Sasha
Je pense que le serveur était en panne depuis un certain temps, j'ai ouvert la page plusieurs fois, mais cela n'a pas fonctionné, mais maintenant il fait :) merci – EaterOfCode
Non, c'est pour signer des documents PDF sur le serveur, l'application client ne fonctionne pas. – Paul