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.