OpenCA-OpenSSL
view release on metacpan or search on metacpan
OpenSSL/SMIME.pm view on Meta::CPAN
# Clear last signer
$self->{last_signer} = undef;
$self->{last_signer_x509} = undef;
# Check parameters
unless(! $params{CERTIFICATE} || ref($params{CERTIFICATE})) {
return($self->_setError(8011001,
$self->{gettext} ("OpenCA::OpenSSL::SMIME->verify: Invalid argument for CERTIFICATE")));
}
unless($params{CERTIFICATE} || $params{USES_EMBEDDED_CERT}) {
return($self->_setError(8011002,
$self->{gettext} ("OpenCA::OpenSSL::SMIME->verify: No certificate specified and not using embedded certificate")));
}
# Set up files
if($params{CERTIFICATE}) {
$certfile = $self->_save_tmp($params{CERTIFICATE}->getPEM())
or return(undef);
}
$outfile = $self->_save_tmp("") or return(undef);
OpenSSL/SMIME.pm view on Meta::CPAN
# Save headers if necessary.
unless($params{NO_COPY_HEADERS}) {
$self->_save_headers() or return(undef);
}
push(@command, "smime", "-verify");
push(@command, "-engine", $self->get_param ("ENGINE", %params),
"-keyform", $self->get_param ("KEYFORM", %params))
if($self->get_param ("ENGINE", %params));
push(@command, "-nointern") unless($params{USES_EMBEDDED_CERT});
push(@command, "-CAfile", $self->{ca_certs_file}) if($self->{ca_certs_file});
push(@command, "-certfile", $certfile) if($certfile);
push(@command, "-in", $self->{file},
"-out", $outfile,
"-signer", $signerfile);
my($ec, $res) = $self->_exec(@command);
unless(defined($ec) && $ec == 0) {
# Restore headers
unless($params{NO_COPY_HEADERS}) {
( run in 3.855 seconds using v1.01-cache-2.11-cpan-71847e10f99 )