OpenCA::CRL.3pm

Langue: en

Autres versions - même langue

Version: 2001-09-24 (mandriva - 01/05/08)

Section: 3 (Bibliothèques de fonctions)

NAME

OpenCA::CRL - CRL Management module.

SYNOPSIS

use OpenCA::CRL;

DESCRIPTION

This module contains functions to access CRLs infos. It, as the OpenCA::X509 module, requires some parameters such as a reference to an OpenCA::OpenSSL instance. This module provides a CRL->PERL Hashes parsing, no specific crypto functions are performed.

FUNCTIONS


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

         Creating a new instance of the module you can provide a
         valid crl. As a result the crl will be parsed and stored
         in local variable(s) for later usage. You can generate a
         new instance of the class either by giving an already
         issued CRL (see OpenCA::OpenSSL for documentation) or
         even generate a new CRL if you provide the CACERT and
         CAKEY. The function will return a self reference. Accepted
         parameters are:
 
                 SHELL   - An OpenCA::OpenSSL initialized
                           instance;
                 CRL     - A valid CRL(*);
                 INFILE  - A CRL file(*);
                 FORMAT  - Format of the provided CRL. Supported
                           are PEM|DER(*);
                 CAKEY   - CA private key file(*);
                 CACERT  - CA certificate file(*);
                 DAYS    - Days the CRL will be valid(*);
                 EXTS    - Extentions section (see openssl.cnf
                           documentation)(*);
 
         (*) - Optional Parameters;
 
         EXAMPLE:
 
            my $self->{crl} = new OpenCA::CRL( SHELL=>$openssl, CRL=>$pemCRL );
 
         NOTE: When you generate a new CRL, you have to provide
               BOTH CAKEY and CACERT parameters.
 
 

sub initCRL () - Initialize internal CRL parameters.

         Initialize the module with a provided CRL. You can not
         generate a new CRL with this function, if you wish to
         do so you'll have to get a new instance of the class
         (see the new() function). Accepted parameters are:
 
                 CRL     - Provided CRL(*);
                 INFILE  - A CRL file (one of CRL/INFILE params
                           is required)(*);
                 FORMAT  - Provided CRL format (PEM|DER)(*);
 
         (*) - Optional Parameters;
 
         EXAMPLE:
 
                 if( not $self->{crl}->initCRL(CRL=>$derCRL, FORMAT=>DER)) {
                      print "Error!";
                 }
 
 

sub getParsed () - Retrieve parsed CRL list

         This function returns an HASH structure with the main CRL
         data and a list of HASH with SERIAL and DATE of revoked
         certificates. Returned value is:
 
                 my $ret = { VERSION=>$version,
                             ALGORITHM=>$alg,
                             ISSUER=>$issuer,
                             LAST_UPDATE=>$last,
                             NEXT_UPDATE=>$next,
                             LIST=>[ @list ] };
 
         Each element of the LIST has the following format:
         
                 my $element = { SERIAL=>$certSerial,
                                 DATE=>$revDate };
 
 
         EXAMPLE:
 
                 print "VERSION: " . $self->{crl}->getParsed()->{VERSION};
 
                 foreach $rev ( @{ $self->{crl}->getParsed()->{LIST} } ) {
                     print "SERIAL: " . $rev->{SERIAL} . "\n";
                     print "DATE: " . $rev->{DATE} . "\n";
                 }
 
 

sub getPEM () - Get the CRL in a PEM format.

         This function accept no arguments and returns the CRL in
         PEM format.
 
         EXAMPLE:
 
                 $pem = $crl->getPEM();
 
 

sub getDER () - Get the CRL in a DER format.

         This function accept no arguments and returns the CRL in
         DER format.
 
         EXAMPLE:
 
                 $der = $crl->getDER();
 
 

sub getTXT () - Get the CRL in a TXT format.

         This function accept no arguments and returns the CRL in
         TXT format.
 
         EXAMPLE:
 
                 print $crl->getTXT();
 
 

AUTHOR

Massimiliano Pala <madwolf@openca.org>

SEE ALSO

OpenCA::X509, OpenCA::Tools, OpenCA::OpenSSL, OpenCA::REQ, OpenCA::TRIStateCGI, OpenCA::Configuration