OpenXPKI::DN - RFC 2253 compatible dn parsing with support for OpenSSL's
proprietary formatting rules.
This module was designed to implement a fast parser for RFC 2253 distinguished
names. It was designed to output RFC 2253 compliant and OpenSSL formatted DNs.
Additionally you can get the parsed RDNs and the attributes in a hash (e.g. if
you are looking for the organizational hierarchy via OUs).
Please note that OpenSSL formatted DNs can not be parsed
unambigously. This is because '/' is a perfectly valid character within an
RDN but is used to separate them as well. Avoid getting OpenSSL DNs from
OpenSSL or other applications whenever possible, as this parsing problem
might lead to security issues.
The 'new' constructor expects a RFC 2253 or OpenSSL DN as its only argument. The
type of the DN will be detected from the first character. OpenSSL's DNs always
begin with a leading slash "/".
The return value is an object reference to the used instance of
OpenXPKI::DN.
This is a static function which requires an OpenSSL DN as argument. It returns a
proper RFC 2253 DN. It is used by the 'new' constructor to convert OpenSSL DNs
but you can use it also if you don't need a full parser (which is slower).
returns a three-dimensional array. The first level is the number of the RDN, the
second level is the number of the attribute and third level contains at [0]
the name of the attribute and at [1] the value of the attribute.
returns a two-dimensional array. The first level is the number of the RDN, the
second level is the number of the attribute. The value is the attribute name
and value concatenated with an equal sign "=".
returns an array. The array values are completely prepared strings of the RDNs.
This works for multi-valued RDNs too.
returns the RFC 2253 DN in reversed order. Something like X.500 style.
returns the DN in OpenSSL's proprietary oneline format.
returns a hash which contains the attribute names as keys. The value of each
hashentry is an array with the values inside which were found in the DN.
is a static function which returns all supported attribute names as a normal
array. It is not relevant how you call this function.