Premiers pas :) et premiers problemes... (appel de sous programmes)

Premiers pas :) et premiers problemes... (appel de sous programmes) - Shell/Batch - Programmation

Marsh Posté le 04-05-2007 à 11:35:15    

Bonjour :)
 
Voila, j'essaye de faire mes premiers pas dans le monde merveilleux du bash :D
Mon premier objectif est simplement d'encapsuler un script de demande de certificat SSL automatique dans un script PHP avec la commande exec..
 
J'ai donc fait ca :)
 

Code :
  1. #!/bin/sh
  2. # Parametrage
  3. OPENSSL=/usr/bin/openssl
  4. # nom FQDN dans $1
  5. # nom du répertoire home dans $2
  6. HOMEREP = "/home/$2/certifs/"
  7. # sous domaine dans $3
  8. # email technique dans $4
  9. # Clé privée RSA
  10. $OPENSSL genrsa -des3 -out $HOMEREP.$1.".key" 1024
  11. ## Génération du certificat et de la clé
  12. $OPENSSL req -new -key $HOMEREP.$1.".key" -out $HOMEREP.$1.".csr"
  13. ## effacement de la phrase servant de mot de passe
  14. #$OPENSSL rsa -in privkey.pem -out privkey.pem
  15. ## Assemblage
  16. #cat privkey.pem >> key.pem
  17. ## Effacement
  18. #rm privkey.pem


 
Mon probleme c'est qu'openssl va demander de saisir des données et je vois pas comment faire :/
Si quelqu'un pouvait m'aider ca serait fort gentil :D

Reply

Marsh Posté le 04-05-2007 à 11:35:15   

Reply

Marsh Posté le 04-05-2007 à 13:05:47    

Si quelque chose est prévu dans openssl pour passer les données sur la ligne de commande ou dans un fichier, fait comme ça.
 
Sinon, si openssl ne fait que te demander un ou deux trucs (pas des passwords), ça peut peut-être marcher en faisant un truc du genre :

openssl ... <<EOf
toto
titi
tata
EOF


 
Sinon, il va falloir se mettre à expect.

Reply

Marsh Posté le 04-05-2007 à 15:44:26    

Chaque saut de ligne correspondant a une instruction ?

Reply

Marsh Posté le 04-05-2007 à 15:59:26    

Chaque saut de ligne correspond à un retour chariot.

Reply

Marsh Posté le 05-05-2007 à 16:39:50    

Ce que je veux dire, c'est que l'appel d'openSSL pour générer la demande de certificat signé pour apache va demander tout un tas d'infos, le mail admin, le Common Name, Etc... Je dans le programme j'appele bien le script OpenSsl , mais je vois pas comment depuis mon programme je vais povoir donner une réponse a tous ces prompts.

Reply

Marsh Posté le 05-05-2007 à 21:21:50    

J'ai bien compris, et j'ai répondu en donnant 3 méthodes dont la 3ème (expect) marchera à coup sûr. Pour la 2ème méthode, toto est ce que tu veux entrer pour le 1er truc qu'il demance, titi pour le 2ème truc, et tata pour le 3ème. Si y'a un 4ème truc, tu peux ajouter un tutu.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed