Max,

skip my e-mail. I wasn't doing all steps. work now, but in my RA in
Download CA certificate don't work.

Not Found

The requested URL /pki/pub/cacert/cacert.crt was not found on this server.

I will go create the link in the hand.



Samuel Rios Carvalho



On Fri, Oct 24, 2008 at 11:02 AM, Samuel Rios Carvalho
<[EMAIL PROTECTED]> wrote:
> Max,
>
> before your fix I had two CA cerficates, then I recreated DB and
> create a new CA cerficate. Now isn't possible create another
> certificate, it's correct, isn't?
>
> With another CA Certificate, in my RA (online) I imported the
> configurations, and show this error.
>
>
> ==========================
> Importing archive ...
>
> Load required variables ...
>
> Changing to directory /opt/openca/var/openca/tmp/tmp_16040 ...
>
> Running the import command(s) ...
>
> /usr/bin/scp [EMAIL PROTECTED]:/tmp/exportando /tmp/exportando
>
>
>
> Import failed!
>
> 256
>
> ===========================
>
>
> I have that remove some file in RA to reimport?
>
>
>
> Samuel Rios Carvalho
>
>
>
> On Thu, Oct 23, 2008 at 9:27 PM, Massimiliano Pala
> <[EMAIL PROTECTED]> wrote:
>> Hi Guys,
>>
>> quick fix for the problem - there was an error in passing the dataType
>> variable from the viewCert to the send certificate command. I attach the
>> fix to this email.
>>
>> Basically, you shall just copy the new files to:
>>
>>        PREFIX/lib/openca/cmds
>>
>> where PREFIX, in the binaries distros, is '/opt/openca'.
>>
>> Let me know if this fixes the CA Certificate retrieval problem...
>>
>> Later,
>> Max
>>
>> P.S.: This does not fix the missing-symlinks problem.. :(
>>
>> Massimiliano Pala wrote:
>>>
>>> Hi Samuel,
>>>
>>> it is probably a bug - I can not find a reason why it should not work.
>>> I'll check on it and send you the results - maybe tomorrow!
>>>
>>> Later,
>>> Max
>>>
>>>
>>> Samuel Rios Carvalho wrote:
>>>>
>>>> I installed Openca 1.0.2 and created user´s certificates perfectly.
>>>>
>>>> But when I downloaded CA certificate in https://ca/pub didn´t found.
>>>> So I go to CA, in INFORMATION , CA CERTIFICATES and VALID. Showed me
>>>> the certificate. I clicked in certificate, more info and show this
>>>> error:
>>>>
>>>> Error Code: 6295020
>>>> [initServer:314] Cannot load certificate 2147483647 from the database.
>>>>
>>>> So I created other CA Certificate and same error.
>>>>
>>>> Any idea?
>>>>
>>>>
>>>> Samuel Rios Carvalho
>>
>> --
>>
>> Best Regards,
>>
>>        Massimiliano Pala
>>
>> --o------------------------------------------------------------------------
>> Massimiliano Pala [OpenCA Project Manager]  [EMAIL PROTECTED]
>>                                                 [EMAIL PROTECTED]
>>
>> Dartmouth Computer Science Dept               Home Phone: +1 (603) 369-9332
>> PKI/Trust Laboratory                          Work Phone: +1 (603) 646-9179
>> --o------------------------------------------------------------------------
>>
>> People who think they know everything are a great annoyance to those of us
>> who do.
>>                                                           -- Isaac Asimov
>>
>> ## OpenCA - Command
>> ## (c) 1998-2001 by Massimiliano Pala and OpenCA Group
>> ## (c) Copyright 2002-2004 The OpenCA Project
>> ##
>> ##   File Name: viewCert
>> ##       Brief: Display a certificate
>> ##     Version: $Revision: 1.6 $
>> ## Description: Display certificate data
>> ##  Parameters: dataType, key
>>
>> ## this script supports the following configurable references
>> ##
>> ## INSTALL_CERT
>> ## LDAP
>> ## REVOCATION
>> ## SENDCERT
>> ## SEND_CERT_KEY
>> ## VIEW_CSR
>> ## TOKENHANDLING
>> ## MAIL
>> ## SET_PUBLIC_PASSWD
>> ## DELETE_PUBLIC_PASSWD
>>
>> use strict;
>>
>> sub cmdViewCert {
>>
>>    our ( $query, $self );
>>
>>    my ($info_list, $cmd_list, $hidden_list, $cmd_panel) = (undef, undef,
>> undef, undef);
>>    my ($hidden_pos, $info_pos, $cmd_pos) = (0, 0, 0);
>>
>>    ## Get the Serial Number
>>    my $key      = $query->param( 'key' );
>>    my $dataType = $query->param( 'dataType' );
>>    my $status;
>>
>>    my @certDataTypes = ( "VALID_CERTIFICATE", "EXPIRED_CERTIFICATE",
>>                          "SUSPENDED_CERTIFICATE", "REVOKED_CERTIFICATE" );
>>
>>    if( not $key and ($key != 0)) {
>>        configError( gettext ("Error, missing key!") );
>>    }
>>
>>    if ( not $dataType ) {
>>        $dataType = "CERTIFICATE";
>>    }
>>
>>    if ( $dataType =~ /^VALID_CERTIFICATE/ ) {
>>        $status = gettext ("Valid");
>>    } elsif ( $dataType =~ /^EXPIRED_CERTIFICATE/ ) {
>>        $status = gettext("Expired");
>>    } elsif ( $dataType =~ /^SUSPENDED_CERTIFICATE/ ) {
>>        $status = gettext("Suspended");
>>    } elsif ( $dataType =~ /^REVOKED_CERTIFICATE/ ) {
>>        $status = gettext("Revoked");
>>    } elsif ( $dataType =~ /^VALID_CA_CERTIFICATE/ ) {
>>        $status = gettext("Valid");
>>    } elsif ( $dataType =~ /^EXPIRED_CA_CERTIFICATE/ ) {
>>        $status = gettext("Expired");
>>    } elsif ( $dataType =~ /^CA_CERTIFICATE/ ) {
>>        ## try to determine the datatype
>>        if ($db->getItem ( DATATYPE => "VALID_CA_CERTIFICATE", KEY => $key ))
>> {
>>                $dataType = "VALID_CA_CERTIFICATE";
>>                $status   = gettext("Valid");
>>        } elsif ($db->getItem ( DATATYPE => "EXPIRED_CA_CERTIFICATE", KEY =>
>> $key )) {
>>                $dataType = "EXPIRED_CA_CERTIFICATE";
>>                $status   = gettext("Expired");
>>        } else {
>>                configError ( gettext ("Cannot determine status of this
>> CA-Certificate!"));
>>        }
>>    } elsif ( $dataType =~ /^CERTIFICATE/ ) {
>>        ## try to determine the datatype
>>        if ($db->getItem ( DATATYPE => "VALID_CERTIFICATE", KEY => $key )) {
>>                $dataType = "VALID_CERTIFICATE";
>>                $status   = gettext("Valid");
>>        } elsif ($db->getItem ( DATATYPE => "EXPIRED_CERTIFICATE", KEY =>
>> $key )) {
>>                $dataType = "EXPIRED_CERTIFICATE";
>>                $status   = gettext("Expired");
>>        } elsif ($db->getItem ( DATATYPE => "SUSPENDED_CERTIFICATE", KEY =>
>> $key )) {
>>                $dataType = "SUSPENDED_CERTIFICATE";
>>                $status   = gettext("Suspended");
>>        } elsif ($db->getItem ( DATATYPE => "REVOKED_CERTIFICATE", KEY =>
>> $key )) {
>>                $dataType = "REVOKED_CERTIFICATE";
>>                $status   = gettext("Revoked");
>>        } else {
>>                configError ( gettext ("Cannot determine status of this
>> Certificate!"));
>>        }
>>    } else {
>>        configError (i18nGettext ("DataType not supported (__DATATYPE__)!",
>> "__DATATYPE__", $dataType));
>>    }
>>
>>    my $cert  = $db->getItem( DATATYPE=>$dataType, KEY=>$key );
>>
>>    configError( i18nGettext ("Error __ERRNO__, unable to get cert from dB!
>> (__ERRVAL__)",
>>                              "__ERRNO__", $db->errno(),
>>                              "__ERRVAL__", $db->errval())) if( not $cert );
>>
>>    my $parsedCert = $cert->getParsed();
>>
>>    ## build emailaddress string
>>    my $emails = "";
>>    foreach my $email (@{$parsedCert->{EMAILADDRESSES}})
>>    {
>>        $emails .= ", " if ($emails);
>>        $emails .= $email;
>>    }
>>
>>    $hidden_list->{"cmd"}            = "";
>>    $hidden_list->{"GET_PARAMS_CMD"} = "";
>>    $hidden_list->{"passwd"}         = "";
>>    $hidden_list->{"key"}            = $key;
>>    $hidden_list->{"HIDDEN_key"}     = $key;
>>    $hidden_list->{"dataType"}       = $dataType;
>>    $hidden_list->{"dn"}             = $parsedCert->{DN};
>>    $hidden_list->{"new_dn"}         = "";
>>    $hidden_list->{"name"}           = "PUBLIC";
>>    $hidden_list->{"format"}         = "";
>>    $hidden_list->{"text"}           = "";
>>    $hidden_list->{"signature"}      = "";
>>
>>    my $tmpIssuer = $parsedCert->{ISSUER};
>>    my $tmpDN     = $parsedCert->{DN};
>>    my $tmpStatus = $status;
>>
>>    ## old version - if it can be removed then simply remove it
>>    $tmpIssuer =~ s/[\/,]\s*(?=[A-Za-z0-9\-]+=)/<BR>\n/g;
>>    $tmpDN     =~ s/[\/,]\s*(?=[A-Za-z0-9\-]+=)/<BR>\n/g;
>>
>>    my $now = timestamp();
>>
>>    if ( $tmpStatus =~ /^Valid/i ) {
>>        if ($now >
>>            $cryptoShell->getNumericDate ($parsedCert->{NOTAFTER})) {
>>                $tmpStatus = gettext("Expired");
>>        }
>>    } elsif ( $tmpStatus =~ /revoked/gi ) {
>>        $tmpStatus = i18nGettext ("Revoked on __DATE__", "__DATE__",
>> $parsedCert->{HEADER}->{REVOKED});
>>    } elsif ( $tmpStatus =~ /^Expired/i ) {
>>        if ($now <=
>>            $cryptoShell->getNumericDate ($parsedCert->{NOTAFTER})) {
>>                $tmpStatus = gettext("Not Expired");
>>        }
>>    }
>>
>>    my $download = "";
>>    my $revoke = "";
>>
>>    my $ctype = "";
>>
>>    if ( $dataType =~ /CA_CERTIFICATE/gi ) {
>>        $download = '?cmd=send_email_cert;type=ca;dataType=$dataType;key='.
>>                $key; # $cert->getSerial();
>>        $ctype = "ca";
>>    } else {
>>        $download =
>> '?cmd=send_email_cert;type=email;dataType=$dataType;key='.
>>                $key; # $cert->getSerial();
>>        $ctype = "email";
>>        $revoke   = '?cmd=revoke_req;key='.$cert->getSerial();
>>    }
>>
>>    # $info_list->{HEAD}->[0] = gettext("Variable");
>>    # $info_list->{HEAD}->[1] = gettext("Value");
>>
>>    my $html_download = "<input ".
>>                        "TYPE=\"Submit\" ".
>>                        "Name=\"Submit\" ".
>>                        "Value=\"".gettext("Download")."\" ".
>>                        "Class=\"medium\" " .
>>                        "onClick=\"cmd.value='sendcert';
>> format_sendcert.value='CER';\">";
>>    my $text = undef;
>>
>>    $text = "<table style='width: 500px;'>";
>>    $text .= "<tr><td style='padding: 10px;'>" .
>>             "<a href=\"$self?cmd=send_email_cert;type=$ctype;" .
>>                        "dataType=$dataType;key=" .
>>                        # $cert->getSerial() . "\" alt=\"" .
>>                        $key . "\" alt=\"" .
>>                        gettext ("Install this Certificate" ) . "\">" .
>>             "  <img src=\"" . getRequired('HtdocsUrlPrefix') .
>>                    "/images/cert-icon.png\" alt='" .
>>                        gettext("Install this Certificate") . "'/></a>" .
>>             "</td>";
>>    $text .= "<td>" ;
>>
>>    $text .= "  <table style='width: 400px;'>" .
>>                " <tr><td colspan='2' " .
>>                        "style='font-size: 150%; font-style: bold;'>" .
>>                  $parsedCert->{DN_HASH}->{CN}[0] .  " [" .
>>                  $cert->getSerial() . "]</td></tr>";
>>    $text .= "    <tr><td style='color: #777;'>" .
>>                        "Issued By:</td>" .
>>             "      <td style='color: #777'>" .
>>                        $parsedCert->{ISSUER_HASH}->{O}[0] . "</td>";
>>    $text .= "    </tr>";
>>    $text .= "    <tr><td style='color: #777;'>" .
>>                        "Expiration on:</td>" .
>>             "      <td style='color: #777;'>" .
>>                        $parsedCert->{NOTAFTER} . "</td></tr>";
>>    $text .= "    <tr><td style='color: #777;'> " .
>>                        "Profile:</td>" .
>>             "      <td style='color: #777;'>" .
>>                        $parsedCert->{HEADER}->{ROLE} . "</td></tr>";
>>
>>    $text .= "    <tr><td>&nbsp;</td>" .
>>             "      <td  style='font-size: 80%; color: #777;'>" .
>>                        "<a
>> href=\"$self?cmd=viewCertFull;dataType=$dataType;" .
>>                                # "key=" .  $cert->getSerial() . "\" >" .
>>                                "key=$key\" >" .
>>                        gettext ( "More Info" ) . "... </a></td></tr>";
>>    $text .= "  </table>";
>>
>>    $text .= "</td>";
>>    $text .= "</tr>";
>>
>>    $text .= "<tr><td colspan='2'><hr size='1' style='color: #fff;'/>" .
>>                "</tr></td>";
>>
>>    # $text .= "    <tr><td colspan='2'>" .
>> #            "      <td style='text-align: right;'>" .
>> #                                       $html_download . "</td></tr>";
>>
>>    # $text .= "<tr><td colspan='2'>" . gettext ("Certificate Profile" ) .
>>    #   ":<br/>" . $parsedCert->{HEADER}->{ROLE} . "</td></tr>";
>>
>>    $text .= "<tr><td colspan='2'>" . gettext ("Fingerprint" ) .
>>                ":<br/>" . $parsedCert->{FINGERPRINT} . "</td></tr>";
>>
>>    $text .= "</table>";
>>
>>    $info_list->{BODY}->[$info_pos++]->[1] = $text;
>>
>>
>>    #######################################
>>    ## here starts the filtered commands ##
>>    ## here starts the filtered commands ##
>>    ## cmd_list                          ##
>>    #######################################
>>
>>    $cmd_list->{HEAD}->[0] = gettext ("Operations");
>>
>>    my $allow = libGetPermissionHash (getRequiredList ('CmdRefs_viewCert'));
>>
>>    ## perhaps an operator want to have a look at the request
>>    if ($allow->{VIEW_CSR} and
>>        $parsedCert->{HEADER}->{CSR_SERIAL}
>>       ) {
>>        $cmd_list->{BODY}->[$cmd_pos]->[0] = gettext("CSR's Serial Number");
>>        $cmd_list->{BODY}->[$cmd_pos]->[1] = "<a href=\"".
>>
>> "?cmd=viewCSR&dataType=ARCHIVED_REQUEST&key=".
>>
>> $parsedCert->{HEADER}->{CSR_SERIAL}."\">".
>>
>> "$parsedCert->{HEADER}->{CSR_SERIAL}</a>";
>>        $cmd_pos++;
>>    }
>>
>>    ## download certs in different formats
>>    if ( $allow->{SENDCERT} and
>>         ($dataType =~ /(VALID|EXPIRED|SUSPENDED)/i)
>>       ) {
>>        my $select = "<select " .
>>                     " class=\"Medium\" name=\"format_sendcert\">\n".
>>                        "<option value=\"pem\">PEM</option>\n".
>>                        "<option value=\"der\">CER</option>\n".
>>                        "<option value=\"pem\">CRT</option>\n".
>>                        "<option value=\"der\">DER</option>\n".
>>                        "<option value=\"txt\">TXT</option>\n".
>>                        "</select>\n";
>>        my $button = "<input ".
>>                        "TYPE=\"Submit\" ".
>>                        "Name=\"Submit\" ".
>>                        "Value=\"".gettext("Download")."\" ".
>>                        "Class=\"medium\" " .
>>                        "onClick=\"cmd.value='sendcert';\">";
>>        $cmd_list->{BODY}->[$cmd_pos]->[0] = gettext("Certificate");
>>        $cmd_list->{BODY}->[$cmd_pos]->[1] = $select.$button;
>>        $cmd_pos++;
>>    }
>>
>>    ## prepare download of private keys
>>    if ( $allow->{SEND_CERT_KEY} and
>>        $parsedCert->{KEY}
>>       ) {
>>        my $select = "<select name=\"format_send_cert_key\">\n".
>>                        "<option value=\"openssl\">SSLeay
>> (mod_ssl)</option>\n".
>>                        "<option value=\"pkcs8\">PKCS#8</option>\n".
>>                        "<option value=\"pkcs12\">PKCS#12</option>\n".
>>                        "</select>\n";
>>        my $button = "<input ".
>>                        "TYPE=\"Submit\" ".
>>                        "Name=\"Submit\" ".
>>                        "Value=\"".gettext("Download")."\" ".
>>                        "Class=\"medium\" " .
>>
>>  "onClick=\"cmd.value='getParams';GET_PARAMS_CMD.value='send_cert_key';\">";
>>        $cmd_list->{BODY}->[$cmd_pos]->[0] = gettext("Certificate and
>> Keypair");
>>        $cmd_list->{BODY}->[$cmd_pos]->[1] = $select.$button;
>>        $cmd_pos++;
>>        ## Change passphrase
>>        my $change_button = "<input ".
>>                        "TYPE=\"Submit\" ".
>>                        "Name=\"Submit\" ".
>>                        "Value=\"".gettext("Change")."\" ".
>>                        "Class=\"medium\" " .
>>                        "onClick=\"cmd.value='changePasswd'\">";
>>        $cmd_list->{BODY}->[$cmd_pos]->[0] = gettext("Change Passphrase");
>>        $cmd_list->{BODY}->[$cmd_pos]->[1] = $change_button;
>>        $cmd_pos++;
>>        ## Remove private key from DB
>>        my $remove_button = "<input ".
>>                        "TYPE=\"Submit\" ".
>>                        "Name=\"Submit\" ".
>>                        "Value=\"".gettext("Remove")."\" ".
>>                        "Class=\"medium\" " .
>>                        "onClick=\"cmd.value='removeKey'\">";
>>        $cmd_list->{BODY}->[$cmd_pos]->[0] = gettext("Remove Key from
>> database");
>>        $cmd_list->{BODY}->[$cmd_pos]->[1] = $remove_button;
>>        $cmd_pos++;
>>    }
>>
>>    ## prepare the actualization of the LDAP
>>    if ( $allow->{LDAP} and
>>         (getRequired ('LDAP') =~ /y/i)
>>       ) {
>>        ## update cert on LDAP
>>        my $ldap_button = "<input ".
>>                        "TYPE=\"Submit\" ".
>>                        "Name=\"Submit\" ".
>>                        "Value=\"".gettext("Add to LDAP")."\" ".
>>                        "Class=\"medium\" " .
>>                        "onClick=\"cmd.value='ldapAddCert'\">";
>>        $cmd_list->{BODY}->[$cmd_pos]->[0] = gettext("Add the certificate to
>> LDAP");
>>        $cmd_list->{BODY}->[$cmd_pos]->[1] = $ldap_button;
>>        $cmd_pos++;
>>        ## update cert on LDAP with modified DN
>>        $ldap_button = "<input ".
>>                        "TYPE=\"Submit\" ".
>>                        "Name=\"Submit\" ".
>>                        "Value=\"".gettext("Add to LDAP with modified
>> DN")."\" ".
>>
>>  
>> "onClick=\"cmd.value='getParams';GET_PARAMS_CMD.value='ldapAddCertByName';\">";
>>        $cmd_list->{BODY}->[$cmd_pos]->[0] = gettext("Add the certificate to
>> LDAP but with changed DN");
>>        $cmd_list->{BODY}->[$cmd_pos]->[1] = $ldap_button;
>>        $cmd_pos++;
>>        ## delete cert from LDAP
>>        $ldap_button = "<input ".
>>                        "TYPE=\"Submit\" ".
>>                        "Name=\"Submit\" ".
>>                        "Value=\"".gettext("Delete from LDAP")."\" ".
>>                        "Class=\"medium\" " .
>>                        "onClick=\"cmd.value='ldapDeleteCert'\">";
>>        $cmd_list->{BODY}->[$cmd_pos]->[0] = gettext("Delete the certificate
>> from LDAP");
>>        $cmd_list->{BODY}->[$cmd_pos]->[1] = $ldap_button;
>>        $cmd_pos++;
>>        ## delete cert from LDAP with modified DN
>>        $ldap_button = "<input ".
>>                        "TYPE=\"Submit\" ".
>>                        "Name=\"Submit\" ".
>>                        "Value=\"".gettext("Delete from LDAP with modified
>> DN")."\" ".
>>                        "Class=\"medium\" " .
>>
>>  
>> "onClick=\"cmd.value='getParams';GET_PARAMS_CMD.value='ldapDeleteCertByName';\">";
>>        $cmd_list->{BODY}->[$cmd_pos]->[0] = gettext("Delete the certificate
>> from LDAP but with changed DN");
>>        $cmd_list->{BODY}->[$cmd_pos]->[1] = $ldap_button;
>>        $cmd_pos++;
>>    }
>>    if ($allow->{TOKENHANDLING} and
>>        not $parsedCert->{IS_CA} and
>>        $status ne gettext("Revoked") and
>>        $status ne gettext("Suspended")
>>       )
>>    {
>>        my $ra_button = "<input ".
>>                        "TYPE=\"Submit\" ".
>>                        "Name=\"Submit\" ".
>>                        "Class=\"Medium\" " .
>>                        "Value=\"".gettext("Install Certificate")."\" ".
>>                        "onClick=\"cmd.value='getcert'\">";
>>        $cmd_list->{BODY}->[$cmd_pos]->[0] = gettext("Tokenhandling");
>>        $cmd_list->{BODY}->[$cmd_pos]->[1] = $ra_button;
>>        $cmd_pos++;
>>    }
>>    if ($allow->{MAIL}) {
>>        my $ra_button = "<input ".
>>                        "TYPE=\"Submit\" ".
>>                        "Name=\"Submit\" ".
>>                        "Value=\"".gettext("Write a mail")."\" ".
>>                        "Class=\"medium\" " .
>>                        "onClick=\"cmd.value='writeCertMail'\">";
>>        $cmd_list->{BODY}->[$cmd_pos]->[0] = gettext("Send mail to the
>> User");
>>        $cmd_list->{BODY}->[$cmd_pos]->[1] = $ra_button;
>>        $cmd_pos++;
>>    }
>>
>>    ## set enrollment passphrase for certificate and private key on public
>> gateway
>>    if ( $allow->{SET_PUBLIC_PASSWD} and
>>         $parsedCert->{KEY} and
>>         ($dataType =~ /(VALID|EXPIRED|SUSPENDED)/i)
>>       ) {
>>        my $button = "<input ".
>>                        "TYPE=\"Submit\" ".
>>                        "Name=\"Submit\" ".
>>                        "Value=\"".gettext("Set passphrase")."\" ".
>>                        "Class=\"medium\" " .
>>                        "onClick=\"cmd.value='setPasswd';\">";
>>        $cmd_list->{BODY}->[$cmd_pos]->[0] = gettext("Set passphrase for key
>> enrollment");
>>        $cmd_list->{BODY}->[$cmd_pos]->[1] = $button;
>>        $cmd_pos++;
>>    }
>>    if ( $allow->{DELETE_PUBLIC_PASSWD} and
>>         $parsedCert->{KEY} and
>>         ($dataType =~ /(VALID|EXPIRED|SUSPENDED)/i)
>>       ) {
>>        my $button = "<input ".
>>                        "TYPE=\"Submit\" ".
>>                        "Name=\"Submit\" ".
>>                        "Value=\"".gettext("Delete passphrase")."\" ".
>>                        "Class=\"medium\" " .
>>                        "onClick=\"cmd.value='deletePasswd';\">";
>>        $cmd_list->{BODY}->[$cmd_pos]->[0] = gettext("Delete passphrase for
>> key enrollment");
>>        $cmd_list->{BODY}->[$cmd_pos]->[1] = $button;
>>        $cmd_pos++;
>>    }
>>
>>    ## revoke cert
>>    if ( $allow->{REVOCATION} and
>>         $status ne gettext("Revoked")
>>       )
>>    {
>>        my $ra_button = "<input ".
>>                        "TYPE=\"Submit\" ".
>>                        "Name=\"Submit\" ".
>>                        "Value=\"".gettext("Revoke")."\" ".
>>                        "Class=\"medium\" " .
>>                        "onClick=\"cmd.value='revoke_req'\">";
>>        $cmd_list->{BODY}->[$cmd_pos]->[0] = gettext("Start Revocation");
>>        $cmd_list->{BODY}->[$cmd_pos]->[1] = $ra_button;
>>        $cmd_pos++;
>>    }
>>
>>    if ($allow->{INSTALL_CERT}) {
>>        if ($dataType =~ /(VALID|EXPIRED|SUSPENDED)_CERTIFICATE/) {
>>            $cmd_panel->[0] =
>>                        "<a href=\"".$download."\" onClick=\"alert('The
>> Certificate will be installed under Other People Certificates
>> Tab');\">".gettext("Install the certificate")."</a>";
>>            $cmd_panel->[1] =
>>                        "<a href=\"".$revoke."\">".gettext("Revoke the
>> certificate")."</a>";
>>        }
>>    }
>>
>>    return libSendReply (
>>                         "NAME"        => i18nGettext ("__STATUS__
>> Certificate", "__STATUS__", $status),
>>                         # "EXPLANATION" => gettext ("Following you can find
>> the certificate details."),
>>                         # "TIMESTAMP"   => 1,
>>                         "INFO_LIST"   => $info_list,
>>                         # "CMD_LIST"    => $cmd_list,
>>                         # "CMD_PANEL"   => $cmd_panel,
>>                         "HIDDEN_LIST" => $hidden_list
>>                        );
>> }
>> 1;
>>
>> ## OpenCA - Command
>> ## (c) 1998-2001 by Massimiliano Pala and OpenCA Group
>> ## (c) Copyright 2002-2004 The OpenCA Project
>> ##
>> ##   File Name: send_email_cert
>> ##       Brief: send cert in PEM-format
>> ##     Version: $Revision: 1.2 $
>> ## Description: this script is used to give the user a cert
>> ##  Parameters: key, dataType
>>
>> use strict;
>>
>> sub cmdSend_email_cert {
>>
>>        ## Version Information
>>        $VER = '2.1.01';
>>        $PRG = 'Certificates Send over HTTP';
>>
>>        ##// Let's get parameters
>>        my $type      = $query->param('type');
>>        my $key       = ( $query->param('key') || $query->param('serial') );
>>        my $dataType  = ( $query->param('dataType') || "VALID_CERTIFICATE" );
>>
>>        my $mimetype = "Content-type: application/x-X509-XXX-cert\n\n";
>>        my $bgcert = '-----BEGIN CERTIFICATE-----';
>>        my $endcert = '-----END CERTIFICATE-----';
>>
>>        my $cert;
>>
>>        ## Now we must take different path for we can give certs for user/ca
>>        ## or whatever we want.
>>        if ( "$type" =~ /(email|user|ca)/i ) {
>>                $mimetype =~ s/XXX/$type/g;
>>        }
>>
>>        ## If we want the Text Version of the Certificate
>>        if ( $type =~ /txt/i ) {
>>                $mimetype = "Content-type: text/html\n\n";
>>                $mimetype .= "<PRE>\n";
>>        }
>>
>>        ## fix the format
>>        if ( $query->param ("HTTP_USER_AGENT") =~ /IE/i ) {
>>                $type = "DER";
>>        }
>>
>>        ## Get the certificate from the DB
>>        if ( $cert = $db->getItem(DATATYPE=>$dataType, KEY=>$key ) ) {
>>                print "$mimetype";
>>
>>                if( $type =~ /txt/i ) {
>>                        print $cert->getTXT();
>>                } elsif ( $type =~ /der/i ) {
>>                        print $cert->getDER();
>>                } else {
>>                        print $cert->getPEM();
>>                }
>>        } else {
>>                generalError (gettext ("Cannot load certificate from the
>> database!"));
>>        }
>> }
>>
>> 1;
>>
>> -------------------------------------------------------------------------
>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
>> Build the coolest Linux based applications with Moblin SDK & win great
>> prizes
>> Grand prize is a trip for two to an Open Source event anywhere in the world
>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
>> _______________________________________________
>> Openca-Users mailing list
>> Openca-Users@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/openca-users
>>
>>
>

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Openca-Users mailing list
Openca-Users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openca-users

Reply via email to