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 returnsNamespacePolicy
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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GlobusNamespacesParser.InvalidPolicyFilenameException
static class
GlobusNamespacesParser.PolicySyntaxException
-
Field Summary
Fields Modifier and Type Field Description static String
ACCESS_ID_CA
static String
CONDITION_SUBJECT
static String
DEF_AUTH_GLOBUS
static String
DEF_AUTH_X509
static String
NS_REGEXP
static String
POS_RIGHTS
static String
VALUE_CA_SIGN
-
Constructor Summary
Constructors Constructor Description GlobusNamespacesParser(String filePath)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static String
makeRegexpClassicWildcard(String pattern)
Converts wildcard string to Java regexp, ensuring that literal sequences are correctly escaped.static String
normalize(String dn)
List<NamespacePolicy>
parse()
-
-
-
Field Detail
-
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:
- Constant Field Values
-
-
Constructor Detail
-
GlobusNamespacesParser
public GlobusNamespacesParser(String filePath)
-
-
Method Detail
-
parse
public List<NamespacePolicy> parse() throws IOException
- Specified by:
parse
in interfaceNamespacesParser
- Throws:
IOException
-
-