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.