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 : Sélectionner tout - Visualiser dans une fenêtre à part
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&eacute;ation d'un CSR&nbsp;</h1>
 
<p> Ceci est un formulaire&nbsp;qui permet deg&eacute;n&eacute;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: &nbsp; &nbsp; <input name="organisation"> </p>
Locality : &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <input name="locality" size="20">
  <p>State/ Province:&nbsp; <input name="state" size="20"> </p>
 
  <p>Country : &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; <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 : Sélectionner tout - Visualiser dans une fenêtre à part
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)";