NAME
VOMS::Lite::VOMS - Perl extension for gLite VOMS server interaction
SYNOPSIS
use VOMS::Lite::VOMS;
$ref = VOMS::Lite::VOMS::Get( { Server => "voms.ngs.ac.uk", 
                                  Port => 15010, 
                                 FQANs => [ "ngs.ac.uk", "ngs.ac.uk/Role=Operations" ],
                              Lifetime => 86400,
                                CAdirs => "/path/to/CA/certificates",
                                  Cert => [ $DERCert, 
                                            $DERCertSigner, 
                                            $DERCertSignerSigner, ... ], 
                                   Key => $DERKey } );
$AC       = ${ $ref }{'ac'};             # Contains PEM Encoded Attribute Certificate
@Errors   = @{ ${ $ref }{'Errors'} };    # An error if encountered will stop the processing
@Warnings = @{ ${ $ref }{'Warnings'} };  # A warning is not fatal and if no error occurs ${ $ref }{'ac'} will be set
VOMS::Lite::VOMS::Server - Now Implemented but experimental and undocumented
DESCRIPTION
Lightweight library to obtain a VOMS attribute certificate from a VOMS server (NOT the VOMS-Admin-Server).
Input parameters:
  Server      Scalar: Fully Quallified Server Name (It's certificate commonName will be checked aganist this)
  Port        Scalar: The port where the vomsd for this VO is running 
              usually something like 15 thousand and something
  FQANs       Reference to an array: Fully Qualified Attribute Names
  Lifetime    Scalar: Number of seconds to ask the VOMS server to issue the AC for
  CAdirs      Scalar: ':' delimited paths to CA certificates/signers
         -or- Reference to array of paths to CA certificates/signers
  Cert        Scalar: DER formatted certificate/proxy certificate
         -or- Reference to array: DER formatted certificates/proxy certificates
  Key         Scalar: DER formatted Private Key
  CertFile and KeyFile may be specified instead of Cert and Key 
  in which case these must be PEM formatted.
Returns a reference to a hash containing
  ac          Scalar: PEM encoded Attribute certificate
  Warnings    Reference to an array: warnings encountered
  Errors      Reference to an array: Errors encountered
For deep Debugging set
  $VOMS::Lite::VOMS::DEBUG='yes';
EXPORT
None.
Also See
https://twiki.cnaf.infn.it/cgi-bin/twiki/view/VOMS/VOMSProtocol (NB Command "M" should read "N") http://glite.cvs.cern.ch/cgi-bin/glite.cgi/org.glite.security.voms
RFC3281 and the VOMS Attribute Specification document from the OGSA Athuz Workin g Group of the Open Grid Forum http://www.ogf.org. Also see gLite from the EGEE.
RFC3548 for Base64 encoding
This module was originally designed for the JISC funded SARoNGS project at developed at The University of Manchester. http://www.rcs.manchester.ac.uk/projects/shebangs/
AUTHOR
Mike Jones <mike.jones@manchester.ac.uk>
COPYRIGHT AND LICENSE
Copyright (C) 2009 by Mike Jones
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.3 or, at your option, any later version of Perl 5 you may have available.