Class LdapCertSubjPublisher

  • All Implemented Interfaces:
    ILdapPlugin, ILdapPublisher

    public class LdapCertSubjPublisher
    extends java.lang.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$
    • Constructor Summary

      Constructors 
      Constructor Description
      LdapCertSubjPublisher()
      constructor using default certificate subject name and attribute for publishing subject name.
      LdapCertSubjPublisher​(java.lang.String certAttr, java.lang.String subjNameAttr)
      constrcutor using specified certificate attribute and certificate subject name attribute.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getCertAttr()  
      IConfigStore getConfigStore()
      Return config store.
      java.util.Vector<java.lang.String> getDefaultParams()
      Returns the initial default parameters.
      java.lang.String getDescription()
      Returns the description of the publisher.
      java.lang.String getImplName()
      Returns the implementation name.
      java.util.Vector<java.lang.String> getInstanceParams()
      Returns the current instance parameters.
      java.lang.String getSubjNameAttr()  
      void init​(IConfigStore config)
      Initialize from config store.
      void publish​(netscape.ldap.LDAPConnection conn, java.lang.String dn, java.lang.Object certObj)
      publish a user certificate Adds the cert to the multi-valued certificate attribute as a DER encoded binary blob.
      void setCertAttr​(java.lang.String certAttr)  
      void setSubjNameAttr​(java.lang.String subjNameAttr)  
      void unpublish​(netscape.ldap.LDAPConnection conn, java.lang.String dn, java.lang.Object certObj)
      deletes the certificate from the list of certificates.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • logger

        public static org.slf4j.Logger logger
      • LDAP_CERTSUBJNAME_ATTR

        public static final java.lang.String LDAP_CERTSUBJNAME_ATTR
        See Also:
        Constant Field Values
      • mCertAttr

        protected java.lang.String mCertAttr
      • mSubjNameAttr

        protected java.lang.String mSubjNameAttr
    • Constructor Detail

      • LdapCertSubjPublisher

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

        public LdapCertSubjPublisher​(java.lang.String certAttr,
                                     java.lang.String subjNameAttr)
        constrcutor using specified certificate attribute and certificate subject name attribute.
    • Method Detail

      • getDescription

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

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

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

        public void init​(IConfigStore 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:
        com.netscape.certsrv.ldap.ELdapException - initialization failed due to Ldap error.
        EBaseException - initialization failed.
      • getCertAttr

        public java.lang.String getCertAttr()
      • getSubjNameAttr

        public java.lang.String getSubjNameAttr()
      • setSubjNameAttr

        public void setSubjNameAttr​(java.lang.String subjNameAttr)
      • setCertAttr

        public void setCertAttr​(java.lang.String certAttr)
      • publish

        public void publish​(netscape.ldap.LDAPConnection conn,
                            java.lang.String dn,
                            java.lang.Object certObj)
                     throws com.netscape.certsrv.ldap.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:
        com.netscape.certsrv.ldap.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,
                              java.lang.String dn,
                              java.lang.Object certObj)
                       throws com.netscape.certsrv.ldap.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:
        com.netscape.certsrv.ldap.ELdapException - unpublish failed.