Class GlobusNamespacesParser

java.lang.Object
eu.emi.security.authn.x509.helpers.ns.GlobusNamespacesParser
All Implemented Interfaces:
NamespacesParser

public class GlobusNamespacesParser extends Object implements NamespacesParser
Parses a single .signing_policy file and returns NamespacePolicy object. Only the simplified parsing of the EACL format is implemented, in a similar way is in case of a native Globus implementation. However there are differences. First of all the format of this file is defined in a very imprecise way.

The parsing is done in the following way:

  • as a whitespace the space and tab characters are used; a separator may contain an arbitrary number of those, below only one space was used for clarity.
  • all empty lines, whitespace only lines and lines beginning with '#' are ignored
  • the first line like this is searched: access_id_CA X509 'ANY_STRING' other are ignored. Line with the access_id_CA prefix and other ending causes an error.
  • after this line it is expected that the next significant line is : pos_rights globus CA:sign
  • next the line in the format: cond_subjects globus '"ANY_STRING" ["ANY_STRING"]' is expected. The trailing string need not to be enclosed in '' and in "", but if it is then the order of quotation must be preserved.
  • go to step 3.
Author:
K. Benedyczak
  • Field Details

    • ACCESS_ID_CA

      public static String ACCESS_ID_CA
    • DEF_AUTH_X509

      public static String DEF_AUTH_X509
    • DEF_AUTH_GLOBUS

      public static String DEF_AUTH_GLOBUS
    • POS_RIGHTS

      public static String POS_RIGHTS
    • CONDITION_SUBJECT

      public static String CONDITION_SUBJECT
    • VALUE_CA_SIGN

      public static String VALUE_CA_SIGN
    • NS_REGEXP

      public static final String NS_REGEXP
      See Also:
  • Constructor Details

    • GlobusNamespacesParser

      public GlobusNamespacesParser(String filePath)
  • Method Details

    • parse

      public List<NamespacePolicy> parse() throws IOException
      Specified by:
      parse in interface NamespacesParser
      Throws:
      IOException
    • normalize

      public static String normalize(String dn)
    • makeRegexpClassicWildcard

      public static String makeRegexpClassicWildcard(String pattern)
      Converts wildcard string to Java regexp, ensuring that literal sequences are correctly escaped.
      Parameters:
      pattern - input wildcard
      Returns:
      Java regular expression