Je peux autoriser l'utilisateur par son certificat client avec apache mod_ssl. Maintenant, je dois demander à l'utilisateur de signer une chaîne avec son certificat client et lire ce signe dans mon script php. Je sais comment faire avec openssl_sign quand j'ai key.pem sur le serveur mais le certificat client est sur l'ordinateur client, installé dans le navigateurDemander à l'utilisateur de signer une chaîne par certificat client et d'obtenir ce signe PHP
Répondre
En effet, la clé privée du client (correspondant au certificat client) est ce qui est utilisé signer, et il ne va pas quitter le navigateur. Vous devez effectuer ces opérations dans le navigateur du client, pas du côté PHP (serveur).
Malheureusement, il n'y a pas de moyen universel de faire des opérations de chiffrement (et d'accéder à la clé privée) à travers les navigateurs.
Vous pouvez regarder cela commencer par: https://developer.mozilla.org/en/JavaScript_crypto#Signing_text
Alternativement, vous pouvez essayer de lancer une application à partir du navigateur (par exemple Java WebStart), bien que cela ne rend pas nécessairement facile d'accéder à la clé privée et certificat qui sont dans le navigateur.
Vous avez besoin d'une applet ou d'une application Flex ou d'un contrôle ActiveX s'exécutant du côté client. Cela vous permettra d'accéder aux certificats qui s'y trouvent. Ce n'est pas une tâche triviale (surtout si vous n'avez pas traité de cela auparavant).
Nous introduirons des composants de signature distribuée (y compris l'applet et le contrôle ActiveX) dans le cadre de notre produit SecureBlackbox dans quelques mois. Pour le moment, les composants sont en test interne.
- 1. Signe un midlet avec une réponse de certificat de GeoTrust
- 2. Code de certificat de signe de GoDaddy et MIDlet
- 3. WCF Authentification par certificat client
- 4. Demande à IIS de demander un certificat client SSL lors de la négociation initiale
- 5. Identité ActiveMQ et Client par authentification de certificat
- 6. Demander une ressource avec le signe de pourcentage chemin d'accès
- 7. iPhone: authentification par certificat client HTTPS
- 8. une demande d'authentification par certificat client WCF via HTTPS
- 9. Alternatives à signer() dans sqlite pour commande personnalisée par
- 10. CXF SSL Spring configuration - Chaîne de certificat client vide
- 11. obtenir un mot avant un: - signer une chaîne avec regex
- 12. Impossible de signer l'application iPhone avec le certificat de distribution
- 13. PHP échappement $ signe et echo une chaîne ma base de données de récupération
- 14. Comment puis-je utiliser une clé générée avec sn.exe pour signer une chaîne en PHP?
- 15. ASP.NET MVC 2 et demande de certificat client (authentification par carte à puce)
- 16. certificat client révoqué
- 17. Comment forcer le client WCF à envoyer un certificat client?
- 18. Comment signer une applet Java à l'aide d'un certificat dans mon trousseau Mac?
- 19. Validation via le certificat SVN et client
- 20. Signer un certificat avec une autorité de certification personnalisée à l'exécution
- 21. Pouvez-vous demander à un client de faire confiance à un certificat de serveur sans avoir besoin d'être un certificat de confiance enregistré?
- 22. Le certificat ClickOnce a expiré - ne pas signer le manifeste
- 23. Signer numériquement pdfs
- 24. Comment prendre en charge l'authentification par certificat client SSL?
- 25. Révoquer le certificat client X509
- 26. Chaîne fendue avec des espaces et un signe moins
- 27. chaîne à horodatage php
- 28. Je dois signer un flux binaire avec un certificat
- 29. Remplacer signe $ dans la chaîne
- 30. javascript - chaîne à ce jour - php format de chaîne iso