Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/05/2008, 14h22   #1
Invité de passage
 
Inscription : janvier 2007
Messages : 17
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 17
Points : 2
Points : 2
Par défaut [Système] Utiliser gpg en php

Bonjour,

Au bout de plus de 24h, j'crois que je peux dire que j'y arrives pas.
Je cherche à décrypter le fichier 'fichier_crypte.gpg' contenu dans le répertoire 'rep' et l'envoyer dans le fichier 'plop/test4'
J'ai essayé vraiment pas mal de méthodes, mais... visiblement, y'a un os

Un bout de code, à un moment donné (now), ca donne ca :

Citation:
$source = "/home/rep";

$gpg = '/usr/bin/gpg';
$passphrase = 'mapassphrase';
$encrypted_file = $source.'/fichier_crypte.gpg';
$unencrypted_file = $source.'/plop/test4';

$command = "echo $passphrase | $gpg --passphrase-fd 0 -o $unencrypted_file -d $encrypted_file";

echo $command;

$out3 = exec($command,$output,$out2);
Si quelqu'un a une idée, je suis preneur à 200%

Merci d'avance, nico.
KLKJHLKJH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2008, 14h48   #2
Modérateur
 
Avatar de Er3van
 
Homme Clément
Architecte Logiciel
Inscription : avril 2008
Messages : 1 370
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Architecte Logiciel
Secteur : Industrie

Informations forums :
Inscription : avril 2008
Messages : 1 370
Points : 2 093
Points : 2 093
Et t'as un message d'erreur t'indiquant que ta commande ne peut s'éxécuter, ou une erreur php ?

Si t'es sur un serveur GNU/Linux je crois que c'est tail -f /var/log/apache/error.log pour voir les erreurs.
__________________
One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

-- Chuck Palahniuk, Fight Club, Chapter 3 --
Er3van est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2008, 15h54   #3
Invité de passage
 
Inscription : janvier 2007
Messages : 17
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 17
Points : 2
Points : 2
( le rép. des logs, c'est "/var/log/httpd/....", mais c'est vrai que j'y penses jamais )

Il m'a mis un problème de permissions sur le répertoire.
J'ai mis le répertoire en 777, mais là, il me sort uniquement cette erreur :
gpg : cannot open '/dev/tty' : aucun périphérique ou adresse



Ce qui m'étonne, outre le fait que ca ne marche pas, c'est que php devrait ressortir ces erreurs, non ?

Merci de ton aide
KLKJHLKJH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2008, 16h21   #4
Modérateur
 
Avatar de Er3van
 
Homme Clément
Architecte Logiciel
Inscription : avril 2008
Messages : 1 370
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Architecte Logiciel
Secteur : Industrie

Informations forums :
Inscription : avril 2008
Messages : 1 370
Points : 2 093
Points : 2 093
Non, le PHP n'a pas a faire ressortir d'erreur, du moins pas directement.
Ta commande PHP s'execute normalement, PHP a fait son taf, si après la commande n'est pas réalisable, c'est le problème du développeur, PHP n'y peut rien.

Dans ton cas ( et j'ai quasiment le même problème en ce moment ), c'est un "simple" problème de droit, à toi d'y remédier même si ce n'est pas forcément évident.
__________________
One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

-- Chuck Palahniuk, Fight Club, Chapter 3 --
Er3van est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2008, 16h36   #5
Invité de passage
 
Inscription : janvier 2007
Messages : 17
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 17
Points : 2
Points : 2
J'ai lu quelque part (ici : http://devzone.zend.com/node/view/id/1265 dernier commentaire )
qu'il pouvait y avoir un problème de droits sur la signature :
En gros si j'ai bien compris : si on créé la clé avec marcel et qu'on veut s'en servir avec gerard, ca risque de coincer.
Comme tout le monde, j'ai créé la clé avec root, et je voudrais m'en servir avce apache.

Perso, je crains une explosion du serveur quand je fais 'ls', alors.. là, j'ose pas trop y toucher, et d'ailleurs je ne saurais pas quoi toucher.

Mais p'tete que toi, ca te parlera plus !?

Alors me sont venues 2 idées :
- créer un fichier batch qui transforme le fichier .gpg en .decrypt et lancer uniquemement ce fichier (si tu sais faire !? )
- recréer la clé, mais je doute qu'il veuille bien le faire, s'il en existe déjà une. Or pour moi personnellement, j'ai refilé la clé aux prestataires, au bout de 50 tests, je me vois mal leur refaire tout le cheminement parce que j'ai dû refaire une autre clé.

A te lire, merci encore
KLKJHLKJH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/05/2008, 16h42   #6
Modérateur
 
Avatar de Er3van
 
Homme Clément
Architecte Logiciel
Inscription : avril 2008
Messages : 1 370
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Architecte Logiciel
Secteur : Industrie

Informations forums :
Inscription : avril 2008
Messages : 1 370
Points : 2 093
Points : 2 093
Citation:
I noticed a couple of people commenting that they're having problems with the code, but GPG works fine from the command line. GPG uses a keyring to store your own public and private keys (and other user's public keys). By default the keyring is stored in ~/.gnupg, i.e. in the home directory of the user creating the key. This causes a problem for PHP because when you log in you'll likely be logged in as a different user to Apache. There's two possible solutions: 1) Manually specify a location for the keyring on the command line (check the gpg man page) which will allow you to put it in a location which is accessible to both Apache and your login user. 2) Use the su command to switch to the Apache user before generating your keys.

J'suis pas parfaitement bilingue, mais en gros ça veut dire que tu peux soit :
- Spécifier manuellement le chemin pour le cryptage/décryptage en ligne de commande, ce qui te permettra de choisir un emplacement à la fois accessible d'Apache et de ton utilisateur
- Changer de clef ^^'

Après, j'peux pas vraiment t'aider plus, GPG c'est pas dans mes compétences on va dire
__________________
One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

-- Chuck Palahniuk, Fight Club, Chapter 3 --
Er3van est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/02/2010, 10h38   #7
Membre confirmé
 
Avatar de Le Barde
 
Développeur informatique
Inscription : juillet 2007
Messages : 327
Détails du profil
Informations personnelles :
Âge : 27
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2007
Messages : 327
Points : 210
Points : 210
Envoyer un message via MSN à Le Barde
Bonjour,
j'arrive un peu tard pour répondre, mais j'ai vu que ça parlait de TTY. GnuPG s'exécute dans un terminal lorsqu'on l'utilise en ligne de commande, mais il y a une option --no-tty qui pourra remédier à ton problème.

Pour les prochains :-)
__________________
Un seul dicton : l'expérimentation.
----------------------------------------
----------------------------------------
Le Barde est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h53.


 
 
 
 
Partenaires

Hébergement Web