eu.emi.security.authn.x509.helpers.ns
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
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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
GlobusNamespacesParser
public GlobusNamespacesParser(String filePath)
parse
public List<NamespacePolicy> parse()
throws IOException
- Specified by:
parse
in interface NamespacesParser
- Throws:
IOException
normalize
public static List<String> normalize(String dn)
throws IOException
- Converts input OpenSSL-style wildcard expression into a list of java regular
expressions over a RFC2253 DN.
Buggy, it is impossible to precisely recreate the wildcard
of the openssl DN in RFC form. But doing other way round (converting
RFC dns to openssl) won't be good too.
- Parameters:
dn
- input openssl style wildcard
- Returns:
- list of RFC2253 DN regular expressions
- Throws:
IOException
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
Copyright © 2012 European Middleware Initiative. All Rights Reserved.