The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

OpenCA::PKCS7 - Perl extension for basic handling PKCS#7 Signatures.

SYNOPSIS

use OpenCA::PKCS7;

DESCRIPTION

This module contains all functions needed for handling PKCS#7 signatures. It requires some parameters to be passed such as a reference to a OpenCA::OpenSSL instance.

This module provides an interface to PKCS#7 structures, no specific crypto functions are performed (see the OpenCA::OpenSSL module for this).

FUNCTIONS

sub new () - Create a new instance of the Class.

        This function creates an instance of the module. If you
        provide a certificate it will be parsed and stored in
        local variable(s) for later usage. The function will return
        a blessed reference.

        Accepted parameters are:

                SHELL       - Reference to an initialized
                              OpenCA::OpenSSL instance;
                INFILE      - Signature File;
                SIGNATURE   - Signature Data;
                DATAFILE    - Data File(*);
                CA_CERT     - CA Certificate File to check chain
                              Depth ( >0 )(*);
                CA_DIR      - CA Certificates directory to check
                              chain Depth ( >0 );

        (*) - Optional parameter.

        EXAMPLE:

              $sig = new OpenCA::PKCS#7(  SHELL=>$crypto,
                                          INFILE=>"TEXT.sig",
                                          DATA=>"TEXT",
                                          CACERT=>"/OpenCA/cacert.pem");

sub errno () - Get last command errno value.

        This functions returns last operation's errno value. Non
        zero value means there has been an error.

        EXAMPLE:

                print $sig->errno;

sub errval () - Get last command errval value.

        This functions returns last operation's errval value. This
        value usually has a brief error description.

        EXAMPLE:

                print $sig->errval;

sub status () - Get signature status.

        This functions returns signature validity status. Non
        zero values usually means an error occurred.

        EXAMPLE:

                print "ERROR" if ( $sig->status );

sub getSigner () - Get basic Signer Infos.

sub verifyChain () - Get and Verify basic signer Infos (CAcert needed).

AUTHOR

Massimiliano Pala <madwolf@openca.org>

SEE ALSO

OpenCA::OpenSSL, OpenCA::CRL, OpenCA::REQ, OpenCA::X509