Class LdapCertSubjPublisher

java.lang.Object
com.netscape.cms.publish.publishers.LdapCertSubjPublisher
All Implemented Interfaces:
ILdapPlugin, ILdapPublisher

public class LdapCertSubjPublisher extends Object implements ILdapPublisher
Interface for mapping a X509 certificate to a LDAP entry Publishes a certificate as binary and its subject name. there is one subject name value for each certificate.
Version:
$Revision$, $Date$
  • Field Details

    • logger

      public static org.slf4j.Logger logger
    • LDAP_CERTSUBJNAME_ATTR

      public static final String LDAP_CERTSUBJNAME_ATTR
      See Also:
    • mCertAttr

      protected String mCertAttr
    • mSubjNameAttr

      protected String mSubjNameAttr
    • mConfig

      protected ConfigStore mConfig
  • Constructor Details

    • LdapCertSubjPublisher

      public LdapCertSubjPublisher()
      constructor using default certificate subject name and attribute for publishing subject name.
    • LdapCertSubjPublisher

      public LdapCertSubjPublisher(String certAttr, String subjNameAttr)
      constrcutor using specified certificate attribute and certificate subject name attribute.
  • Method Details

    • getImplName

      public String getImplName()
      Description copied from interface: ILdapPublisher
      Returns the implementation name.
      Specified by:
      getImplName in interface ILdapPublisher
    • getDescription

      public String getDescription()
      Description copied from interface: ILdapPublisher
      Returns the description of the publisher.
      Specified by:
      getDescription in interface ILdapPublisher
    • getInstanceParams

      public Vector<String> getInstanceParams()
      Description copied from interface: ILdapPublisher
      Returns the current instance parameters.
      Specified by:
      getInstanceParams in interface ILdapPublisher
    • getDefaultParams

      public Vector<String> getDefaultParams()
      Description copied from interface: ILdapPublisher
      Returns the initial default parameters.
      Specified by:
      getDefaultParams in interface ILdapPublisher
    • getConfigStore

      public ConfigStore getConfigStore()
      Description copied from interface: ILdapPlugin
      Return config store.
      Specified by:
      getConfigStore in interface ILdapPlugin
    • init

      public void init(ConfigStore config) throws EBaseException
      Description copied from interface: ILdapPlugin
      Initialize from config store.
      Specified by:
      init in interface ILdapPlugin
      Parameters:
      config - the configuration store to initialize from.
      Throws:
      ELdapException - initialization failed due to Ldap error.
      EBaseException - initialization failed.
    • getCertAttr

      public String getCertAttr()
    • getSubjNameAttr

      public String getSubjNameAttr()
    • setSubjNameAttr

      public void setSubjNameAttr(String subjNameAttr)
    • setCertAttr

      public void setCertAttr(String certAttr)
    • publish

      public void publish(netscape.ldap.LDAPConnection conn, String dn, Object certObj) throws ELdapException
      publish a user certificate Adds the cert to the multi-valued certificate attribute as a DER encoded binary blob. Does not check if cert already exists. Then adds the subject name of the cert to the subject name attribute.
      Specified by:
      publish in interface ILdapPublisher
      Parameters:
      conn - the LDAP connection
      dn - dn of the entry to publish the certificate
      certObj - the certificate object.
      Throws:
      ELdapException - if cert or subject name already exists, if cert encoding fails, if getting cert subject name fails. Use ELdapException.getException() to find underlying exception.
    • unpublish

      public void unpublish(netscape.ldap.LDAPConnection conn, String dn, Object certObj) throws ELdapException
      deletes the certificate from the list of certificates. does not check if certificate is already there. also takes out the subject name if no other certificate remain with the same subject name.
      Specified by:
      unpublish in interface ILdapPublisher
      Parameters:
      conn - the Ldap connection (null for non-LDAP publishing)
      dn - dn of the ldap entry to unpublish cert (null for non-LDAP publishing)
      certObj - object to unpublish (java.security.cert.X509Certificate)
      Throws:
      ELdapException - unpublish failed.