Lancer un programme depuis un CGI
Bonjour,
Je cherche a lancer un programme (openssl.exe) depuis un script CGI.
Le but est de generer une clée privée avec Openssl.
Le script fonctionne si je le lance sur le serveur (IIS 6.0), mais pas depuis un browser.
Tous les droits sont en W+R+Exec
Formulaire:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Generer une clée privée</title>
</head>
<body>
<h1>Formulaire de création d'un CSR </h1>
<p> Ceci est un formulaire qui permet degénérer un certificat de type CSR.</p>
<hr>
<form method="post" action="csr.pl">
<h2>Informations concernant le certificat:</h2>
Format de cryptage en bits ? <input name="choix" value="512" checked="checked" type="radio"> 512 ou <input name="choix" value="1024" type="radio"> 1024 <br>
<br>
Common Name <input name="common">
<p>
Organisation: <input name="organisation"> </p>
Locality : <input name="locality" size="20">
<p>State/ Province: <input name="state" size="20"> </p>
<p>Country :
<input name="country" size="2"> </p>
Passphrase : <input name="passphrase" size="10" type="password">
<br><br>
Cliquez sur <input value="Valider" type="submit">pour genere le CSR, sinon <input value="Annuler" type="reset"> </form>
</body>
</html> |
Script CGI:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
#!C:\Perl\bin\perl.exe
#
require "cgi-lib.pl";
use CGI::Carp qw(fatalsToBrowser);
# Lecture de toutes les variables initialisees par le formulaire
&ReadParse(*in);
# Imprimer l'entete html (obligatoire)
print &PrintHeader;
print "<html><head>\n";
print "<title>demo de traitement d'un formulaire</title>\n";
print "</head>\n<body>\n";
($text = $in{'message'}) =~ s/\n/\n<BR>/g;
# add <BR>'s after carriage returns o multline in,
# since HTML does not preserve line breaks
print <<ENDOFTEXT;
<H1>Ceci est la CSR générée:</H1>
Longueur de la clé: $in{'choix'}
<br>
$in{'common'}
$in{'organisation'}
$in{'locality'}
$in{'state'}
$in{'country'}
$in{'passphrase'}
<P>$text<P>
ENDOFTEXT
# Si vous souhaitez imprimer la list de toutes les variables
print "<HR>Voici la liste des variables que vous avez saisi...<P>";
print &PrintVariables(%in);
# Fermeture du document html
print "</body></html>\n";
my $path = 'd:\\OpenSSL\\bin\\openssl.exe';
my $csr = exec "(\"$path\" genrsa -out stef.key)"; |