Chapter 14. LDAP

Table of Contents

1. supported options
2. LDAP schema specification
2.1. Used objectclasses
2.2. Supported attributes
2.3. Common definitions for distinguished names
2.4. Special definitions for user certificates
3. Sourcecodeorganization
3.1. Structure of the code
3.2. The relevant commands
3.3. export-import.lib
3.4. ldap-utils.lib

Be warned - this is a developer documentation which only documents the possibilities and technical background of OpenCA ldap caode but this is not a howto or a user documentation.

1. supported options

LDAP

If you set this option to "yes" then the LDAP code will be activated.

ldapserver

This is the hostname of your LDAP server.

ldapport

This is the port where your LDAP server listens.

basedn

This is the suffix (OpenLDAP terminology) of your LDAP server. You can add here several suffixes if your LDAP server supports this feature (e.g. OpenLDAP v2). The suffixes must be seperated by whitespaces (e.g. "o=Humboldt-University of Berlin, c=DE" "o=Charite, c=DE").

ldaproot

The bind DN of the user which OpenCA uses to add data to the server.

ldappwd

The passphrase for OpenCA's ldap account.

ldapversion

OpenCA supports LDAP v2 and v3. The default is v2 because all servers can support v2. Several new distributions especially of Linux deactivates the LDAP v2 support. So if your OpenCA LDAP code completely fails check first the protocol versions of OpenCA and your LDAP server.

Some other options like ldaptls and ldapsasl require LDAP v3. So be really careful which protocol you use. If your LDAP server supports protocol version 3 then please use it. It avoids a lot of trouble.

ldaptls

Use no or yes to deactivate or activate TLS. Please remember that this option only works with LDAP v3.

ldapsasl

Use no or yes to deactivate or activate SASL. Please remember that this option only works with LDAP v3. We use CRAM-MD5 for passphrase hashing.

updateLDAPautomatic

This option will be used by the node interface. If the value is yes then the LDAP server will be updated automatically during imports of certificates, CRRs or CRLs.

LDAP_CRL_Issuer

Some users want to store the CRL in a special node of the LDAP server which is not identical with the issuer of the CRL. This can be happen if the user specifies a special CRL Distribution Point (CDP) which differs from the subject of the CA certificate. Here you can specify this special distinguished name. Please remember that OpenCA is today not able to add this node automatically if it is not present.

LDAP_CA_DN

Some users want to store the CA certificate in a not standard conform node which means that there is perhaps an already existent directory which conflicts with the PKI structure. Here they can add the distinguished name of this special node. This node can be automatically added by OpenCA.

LDAPexcludedRoles

OpenCA supports the possibility to exclude roles from certificate publishing. This can be useful for security reason and be required by privacy laws. If you have such a special role simply add it to to this options (e.g. "Corporate Security" "Security Officer" "IDS").