Provided by: lcmaps-plugins-verify-proxy_1.5.10-2build1_amd64 bug

NAME

       lcmaps_verify_proxy.mod - LCMAPS plugin to verify a certificate chain including proxies

SYNOPSIS

       lcmaps_verify_proxy.mod

       [--allow-limited-proxy] [-certdir|-cadir|-capath|--capath <certificate_directory>]
       [--disallow-limited-proxy] [--discard_private_key_absence] [--max-proxy-level-
       ttl=<level>|--max-proxy-level-ttl@<level> <timeperiod>] [--max-voms-ttl <timeperiod>]
       [--never_discard_private_key_absence] [--only-enforce-lifetime-checks] [--require-limited-
       proxy]

DESCRIPTION

       This  plugin will test if the presented proxy certificate is authentic. This is done using
       OpenSSL methods to verify the certificate chain, check if the  End-Entity  Certificate  is
       not  revoked  by  checking  CRLs or OCSP(*). In an lcmaps.db (5) file it is advised to run
       this plug-in as the first plug-in and fail  the  policy  if  there  is  no  other  way  of
       verifying the input credentials.

       Additional  this  plug-in  can  impose  other  policies,  like  proxy  and  VOMS life-time
       restrictions or require that the certificate chain is offered in a certain  way,  e.g.  by
       offering a Limited proxy or (optionally) without a private key.

       The  plug-in  takes  its  input from the LCMAPS framework. The certificate chain is coming
       from the registered (derived) STACK_OF(X509) * and the private  key  (when  available)  is
       taken from the registered PEM string credentials.

       A  certificate  chain  will  be checked and verified by OpenSSL, but additionally to these
       checks this plug-in also performs semantic checks on the certificate chain  based  on  how
       GT2, GT3 and RFC 3820 proxy certificates are to be constructed and used.

OPTIONS

       --allow-limited-proxy
              When  enabled  allow  the certificate chain to contain a limited proxy certificate.
              GT2, GT3 and RFC Limited proxies are treated as equal.

       -certdir | -cadir | -capath | --capath <certificate_directory>
              This option sets the directory used to find the CA  certificates,  CRLs  and  other
              files used in the verification process of the presented certificate chain.  Setting
              this option is muted by the option --only-enforce-lifetime-checks.  When unset, the
              value  of  $X509_CERT_DIR  will  be  used,  when  that  is  also  unset, /etc/grid-
              security/certificates will be used.

       --disallow-limited-proxy
              When enabled all uses of limited proxies  will  be  prohibited  and  treated  as  a
              failure condition. GT2, GT3 and RFC Limited proxies are treated as equal.

       --discard_private_key_absence
              When  enabled  the plug-in verification process will not fail on the absence of the
              private key. Having a private key to present is part of the proof of possession  of
              the  certificate  chain  its  delegations, therefore a fundamental part of the user
              credentials. Discarding the private key check is  useful  in  cases  where  another
              process  has  already  establish  trust  in  the user credentials by performing the
              private key proof of possession steps.  Example: This feature  can  be  enabled  in
              deployments  where  gLExec is part of the CREAM CE. The CREAM CE's SSL handshake is
              taking ensuring that fully verified credentials get passed down.  Counter  example:
              This  feature  is not-enabled on a gLExec-on-the-WN deployment, as gLExec will need
              to ensure that the pilot-job payload credentials are fully verified before  account
              mapping should occur.

       --max-proxy-level-ttl=<level> | --max-proxy-level-ttl@<level> <timeperiod>
              Set  a  maximum  to  the  allowed  validity  period  of the proxy certificate for a
              specific delegation <level>. The first  delegation  after  an  EEC  certificate  is
              <level>  0.  This  delegation  level  could be used in a MyProxy. A typical setting
              would be 14d-00:00 to allow for a MyProxy certificate with a validity period of two
              weeks.

              A  special  <level> is indicated by an l or L. This is the leaf proxy or also known
              as the final delegation. A safe setting for this would be 1d-00:00 to allow a proxy
              certificate validity period of 1 day/24 hours.

              Set  the  <timeperiod>  in the following format: [0-99]d-[0-23][00-59]. For example
              2d-13:37.

       --max-voms-ttl <timeperiod>
              Set a maximum to  the  allowed  validity  period  of  the  VOMS  credentials  (when
              present).  Using  VOMS  credentials  with  a  validity  period  longer then the set
              timeperiod> will result in a failure.

       --never_discard_private_key_absence
              This setting will override the option --discard_private_key_absence and  option  to
              set   the   environment  variable  $VERIFY_PROXY_DISCARD_PRIVATE_KEY_ABSENCE  which
              performs the same behavior.

       --only-enforce-lifetime-checks
              When enable this option will bypass all verification steps and  will  only  perform
              the lifetime checks configured by --max-proxy-level-ttl and/or --max-voms-ttl. This
              option is ideal to be used in a Globus  Gatekeeper,  GridFTPd  and/or  GSI-OpenSSHd
              deployment.

       --require-limited-proxy
              Explicitly  require  the  certificate  chain  to  have  a  limited proxy as a final
              delegation. The plug-in will fail if the certificate chain does not have a  limited
              proxy.

RETURN VALUES

       LCMAPS_MOD_SUCCESS
              Success.

       LCMAPS_MOD_FAIL
              Failure.

BUGS

       OCSP is not functional and will be added when either CAB/Forum or the IGTF publish a clear
       profile.

       Please report any errors to the Nikhef Grid Middleware  Security  Team  <grid-mw-security-
       support@nikhef.nl>.

SEE ALSO

       lcmaps.db(5), lcmaps(3).

AUTHORS

       LCMAPS and the LCMAPS plug-ins were written by the Grid Middleware Security Team <grid-mw-
       security@nikhef.nl>.