com.netscape.cms.publish.publishers
Class LdapCertSubjPublisher

java.lang.Object
  extended by com.netscape.cms.publish.publishers.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: 1211 $, $Date: 2010-08-18 10:15:37 -0700 (Wed, 18 Aug 2010) $

Field Summary
static java.lang.String LDAP_CERTSUBJNAME_ATTR
           
protected  java.lang.String mCertAttr
           
protected  IConfigStore mConfig
           
protected  java.lang.String mSubjNameAttr
           
 
Fields inherited from interface com.netscape.certsrv.publish.ILdapPublisher
PROP_ENABLE, PROP_IMPLNAME, PROP_PREDICATE
 
Constructor Summary
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
 java.lang.String getCertAttr()
           
 IConfigStore getConfigStore()
          Return config store.
 java.util.Vector 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 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

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

mConfig

protected IConfigStore mConfig
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

getImplName

public java.lang.String getImplName()
Description copied from interface: ILdapPublisher
Returns the implementation name.

Specified by:
getImplName in interface ILdapPublisher

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 getInstanceParams()
Description copied from interface: ILdapPublisher
Returns the current instance parameters.

Specified by:
getInstanceParams in interface ILdapPublisher

getDefaultParams

public java.util.Vector getDefaultParams()
Description copied from interface: ILdapPublisher
Returns the initial default parameters.

Specified by:
getDefaultParams in interface ILdapPublisher

getConfigStore

public IConfigStore getConfigStore()
Description copied from interface: ILdapPlugin
Return config store.

Specified by:
getConfigStore in interface ILdapPlugin

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:
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 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,
                      java.lang.String dn,
                      java.lang.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.