--- loncom/CrGenerate.pl 2004/06/29 11:13:08 1.2 +++ loncom/CrGenerate.pl 2004/06/29 11:32:06 1.3 @@ -2,7 +2,7 @@ # The LearningOnline Network # CrGenerate - Generate a loncapa certificate request. # -# $Id: CrGenerate.pl,v 1.2 2004/06/29 11:13:08 foxr Exp $ +# $Id: CrGenerate.pl,v 1.3 2004/06/29 11:32:06 foxr Exp $ # # Copyright Michigan State University Board of Trustees # @@ -60,6 +60,8 @@ my $KeyFilename; # Key filenam my $Passphrase="loncapawhatever"; # Initial passphrase for keyfile my $RequestEmail; # Email address of loncapa cert admin. + + # Debug/log support: # my $DEBUG = 1; # 1 for on, 0 for off. @@ -77,8 +79,62 @@ sub Debug { } } +# +# Read the LonCAPA web config files to get the values of the +# configuration global variables we need: +# Implicit inputs: +# loncapa.conf - configuration file to read (user specific). +# Implicit outputs (see global variables section): +# SSLCommand, +# CertificateDirectory +# KeyfileName +# RequestEmail +# Side-Effects: +# Exit with error if cannot complete. +# +sub ReadConfig { + + Debug("Reading configuration"); + my $perlvarref = LONCAPA::Configuration::read_conf('loncapa.conf'); + + # Name of the SSL Program + + if($perlvarref->{SSLProgram}) { + $SSLCommand = $perlvarref->{SSLProgram}; + Debug("SSL Command: $SSLCommand"); + } + else { + die "Unable to read the SSLCommand configuration option\n"; + } + + # Where the certificates, and host key are installed: -sub ReadConfig {} + if($perlvarref->{lonCertificateDirectory}) { + $CertificateDirectory = $perlvarref->{lonCertificateDirectory}; + Debug("Local certificate Directory: $CertificateDirectory"); + } + else { + die "Unable to read SSLDirectory configuration option\n"; + } + # The name of the host key file (to be installed in SSLDirectory). + # + if($perlvarref->{lonnetPrivateKey}) { + $KeyFilename = $perlvarref->{lonnetPrivateKey}; + Debug("Private key will be installed as $KeyFilename"); + } + else { + die "Unable to read lonnetPrivateKey conrig paraemter\n"; + } + # The email address to which the certificate request is sent: + + if($perlvarref->{SSLEmail}) { + $RequestEmail = $perlvarref->{SSLEmail}; + Debug("Certificate request will be sent to $RequestEmail"); + } + else { + die "Could not read SSLEmail coniguration key"; + } +} sub GenerateRequest {} sub InstallKey {} sub MailRequest {}