Class FileBasedPublisher

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

public class FileBasedPublisher extends Object implements ILdapPublisher, IExtendedPluginInfo
This publisher writes certificate and CRL into a directory.
Version:
$Revision$, $Date$
  • Field Details

    • logger

      public static org.slf4j.Logger logger
    • mDerAttr

      protected boolean mDerAttr
    • mB64Attr

      protected boolean mB64Attr
    • mLatestCRL

      protected boolean mLatestCRL
    • mZipCRL

      protected boolean mZipCRL
    • mTimeStamp

      protected String mTimeStamp
    • mLinkExt

      protected String mLinkExt
    • mZipLevel

      protected int mZipLevel
    • maxAge

      protected int maxAge
    • maxFullCRLs

      protected int maxFullCRLs
  • Constructor Details

    • FileBasedPublisher

      public FileBasedPublisher()
  • Method Details

    • setIssuingPointId

      public void setIssuingPointId(String crlIssuingPointId)
    • getImplName

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

      public String getDescription()
      Returns the description of the ldap publisher.
      Specified by:
      getDescription in interface ILdapPublisher
    • getExtendedPluginInfo

      public String[] getExtendedPluginInfo()
      Description copied from interface: IExtendedPluginInfo
      This method returns an array of strings. Each element of the array represents a configurable parameter, or some other meta-info (such as help-token) there is an entry indexed on that parameter name Where: type_info is either 'string', 'number', 'boolean', 'password' or 'choice(ch1,ch2,ch3,...)' If the marker 'required' is included after the type_info, the parameter will has some visually distinctive marking in the UI. 'description' is a short sentence describing the parameter 'choice' is rendered as a drop-down list. The first parameter in the list will be activated by default 'boolean' is rendered as a checkbox. The resulting parameter will be either 'true' or 'false' 'string' allows any characters 'number' allows only numbers 'password' is rendered as a password field (the characters are replaced with *'s when being types. This parameter is not passed through to the plugin. It is instead inserted directly into the password cache keyed on the instance name. The value of the parameter 'bindPWPrompt' (see example below) is set to the key. In addition to the configurable parameters, the following magic parameters may be defined: HELP_TOKEN;helptoken - a pointer to the online manual section for this plugin HELP_TEXT;helptext - a general help string describing the plugin For example: "username;string;The username you wish to login as" "bindPWPrompt;password;Enter password to bind as above user with" "algorithm;choice(RSA,DSA);Which algorithm do you want to use" "enable;boolean;Do you want to run this plugin" "port;number;Which port number do you want to use"
      Specified by:
      getExtendedPluginInfo in interface IExtendedPluginInfo
    • getInstanceParams

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

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

      public void init(ConfigStore config)
      Initializes this plugin.
      Specified by:
      init in interface ILdapPlugin
      Parameters:
      config - the configuration store to initialize from.
    • getConfigStore

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

      public void publish(netscape.ldap.LDAPConnection conn, String dn, Object object) throws ELdapException
      Publishes a object to the ldap directory.
      Specified by:
      publish in interface ILdapPublisher
      Parameters:
      conn - a Ldap connection (null if LDAP publishing is not enabled)
      dn - dn of the ldap entry to publish cert (null if LDAP publishing is not enabled)
      object - object to publish (java.security.cert.X509Certificate or, java.security.cert.X509CRL)
      Throws:
      ELdapException - publish failed.
    • getCRLFiles

      public File[] getCRLFiles(File dir)
      Gets all the CRLS (full and delta) in the directory These match --.* and ---delta.*
      Parameters:
      dir -
      Returns:
      array of files
    • getFullCRLFiles

      public File[] getFullCRLFiles(File dir)
      Gets the full CRLs in the directory * These match --.*
      Parameters:
      dir -
      Returns:
      array of files
    • purgeExpiredFiles

      public void purgeExpiredFiles()
    • purgeExcessFiles

      public void purgeExcessFiles()
    • unpublish

      public void unpublish(netscape.ldap.LDAPConnection conn, String dn, Object object) throws ELdapException
      Unpublishes a object to the ldap directory.
      Specified by:
      unpublish in interface ILdapPublisher
      Parameters:
      conn - the Ldap connection (null if LDAP publishing is not enabled)
      dn - dn of the ldap entry to unpublish cert (null if LDAP publishing is not enabled)
      object - object to unpublish (java.security.cert.X509Certificate)
      Throws:
      ELdapException - unpublish failed.
    • getDerAttr

      public boolean getDerAttr()
      returns the Der attribute where it'll be published.
    • getB64Attr

      public boolean getB64Attr()
      returns the B64 attribute where it'll be published.