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> </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