Package com.netscape.cmscore.ldap
Class PublisherProcessor
- java.lang.Object
-
- com.netscape.cmscore.ldap.PublisherProcessor
-
- All Implemented Interfaces:
IXcertPublisherProcessor
public class PublisherProcessor extends java.lang.Object implements IXcertPublisherProcessor
Controls the publishing process from the top level. Maintains a collection of Publishers , Mappers, and Publish Rules.
-
-
Field Summary
Fields Modifier and Type Field Description static org.slf4j.Loggerloggerprotected ICertAuthoritymAuthorityprotected LdapConnModulemLdapConnModuleprotected LdapRequestListenermLdapRequestListenerjava.util.Hashtable<java.lang.String,MapperProxy>mMapperInstsjava.util.Hashtable<java.lang.String,MapperPlugin>mMapperPluginsjava.util.Hashtable<java.lang.String,PublisherProxy>mPublisherInstsjava.util.Hashtable<java.lang.String,PublisherPlugin>mPublisherPluginsjava.util.Hashtable<java.lang.String,ILdapRule>mRuleInstsjava.util.Hashtable<java.lang.String,RulePlugin>mRulePluginsstatic java.lang.StringPROP_CERT_ENABLEstatic java.lang.StringPROP_CERTSstatic java.lang.StringPROP_CLASSstatic java.lang.StringPROP_CRL_ENABLEstatic java.lang.StringPROP_ENABLEstatic java.lang.StringPROP_IMPLstatic java.lang.StringPROP_INSTANCEstatic java.lang.StringPROP_LDAPstatic java.lang.StringPROP_LDAP_PUBLISH_SUBSTOREstatic java.lang.StringPROP_LOCAL_CAstatic java.lang.StringPROP_LOCAL_CRLstatic java.lang.StringPROP_MAPPERstatic java.lang.StringPROP_PLUGINstatic java.lang.StringPROP_PREDICATEstatic java.lang.StringPROP_PUBLISH_SUBSTOREstatic java.lang.StringPROP_PUBLISHERstatic java.lang.StringPROP_QUEUE_PUBLISH_SUBSTOREstatic java.lang.StringPROP_TYPEstatic java.lang.StringPROP_XCERT
-
Constructor Summary
Constructors Constructor Description PublisherProcessor(java.lang.String id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ILdapMappergetActiveMapperInstance(java.lang.String insName)Returns ILdapMapper instance that is currently active.ILdapPublishergetActivePublisherInstance(java.lang.String insName)Returns ILdapPublisher instance that is currently active.ISubsystemgetAuthority()Return Authority for which this Processor operates.IConfigStoregetConfigStore()java.lang.StringgetId()ILdapConnModulegetLdapConnModule()Returns LdapConnModule belonging to this Processor.java.util.Vector<java.lang.String>getMapperDefaultParams(java.lang.String implName)Returns mapper initial default parameters.ILdapMappergetMapperInstance(java.lang.String insName)Returns ILdapMapper instance based on name of MapperProxy.java.util.Vector<java.lang.String>getMapperInstanceParams(java.lang.String insName)Returns mapper current instance parameters.java.util.Hashtable<java.lang.String,MapperProxy>getMapperInsts()Returns Hashtable of rule mapper instances.java.util.Hashtable<java.lang.String,MapperPlugin>getMapperPlugins()Returns Hashtable of mapper plugins.java.util.Vector<java.lang.String>getPublisherDefaultParams(java.lang.String implName)Returns publisher initial default parameters.ILdapPublishergetPublisherInstance(java.lang.String insName)Returns ILdapPublisher instance.java.util.Vector<java.lang.String>getPublisherInstanceParams(java.lang.String insName)Returns Vector of PublisherIntance's current instance parameters.java.util.Hashtable<java.lang.String,PublisherProxy>getPublisherInsts()Returns Hashtable of rule publisher instances.java.util.Hashtable<java.lang.String,PublisherPlugin>getPublisherPlugins()Returns Hashtable of publisher plugins.java.util.Vector<java.lang.String>getRuleDefaultParams(java.lang.String implName)Returns Vector of RulePlugin's initial default parameters.java.util.Vector<java.lang.String>getRuleInstanceParams(java.lang.String implName)Returns Vector of RulePlugin's current instance parameters.java.util.Hashtable<java.lang.String,ILdapRule>getRuleInsts()Returns Hashtable of rule instances.java.util.Hashtable<java.lang.String,RulePlugin>getRulePlugins()Returns Hashtable of rule plugins.java.util.Enumeration<ILdapRule>getRules(java.lang.String publishingType)Returns list of rules based on publishing type.java.util.Enumeration<ILdapRule>getRules(java.lang.String publishingType, IRequest req)Returns list of rules based on publishing type and publishing request.voidinit(ISubsystem authority, IConfigStore config)booleanisCertPublishingEnabled()Return true if Certificate Publishing is enabled.booleanisClone()booleanisCRLPublishingEnabled()Return true if CRL publishing is enabled,booleanisMapperInstanceEnable(java.lang.String insName)Returns true if MapperInstance is enabled.booleanisPublisherInstanceEnable(java.lang.String insName)Returns true publisher instance is currently enabled.booleanldapEnabled()Return true if Ldap is enabled.voidpublishCACert(java.security.cert.X509Certificate cert)Publish ca cert, UpdateDir.java, jobs, request listenersvoidpublishCert(java.security.cert.X509Certificate cert, IRequest req)Publishs regular user certificate based on the criteria set in the request.voidpublishCRL(java.lang.String dn, java.security.cert.X509CRL crl)publishes a crl by mapping the issuer name in the crl to an entry and publishing it there.voidpublishCRL(org.mozilla.jss.netscape.security.x509.X509CRLImpl crl, java.lang.String crlIssuingPointId)publishes a crl by mapping the issuer name in the crl to an entry and publishing it there.voidpublishXCertPair(byte[] pair)Publish crossCertificatePairvoidsetId(java.lang.String id)voidsetLdapConnModule(ILdapConnModule m)Sets the LdapConnModule belonging to this Processor.voidsetPublishedFlag(java.math.BigInteger serialNo, boolean published)Set published flag - true when published, false when unpublished.voidshutdown()voidstartup()voidunpublishCACert(java.security.cert.X509Certificate cert)This function is never called.voidunpublishCert(java.security.cert.X509Certificate cert, IRequest req)Unpublish user certificate.
-
-
-
Field Detail
-
logger
public static org.slf4j.Logger logger
-
PROP_PUBLISH_SUBSTORE
public static final java.lang.String PROP_PUBLISH_SUBSTORE
- See Also:
- Constant Field Values
-
PROP_LDAP_PUBLISH_SUBSTORE
public static final java.lang.String PROP_LDAP_PUBLISH_SUBSTORE
- See Also:
- Constant Field Values
-
PROP_QUEUE_PUBLISH_SUBSTORE
public static final java.lang.String PROP_QUEUE_PUBLISH_SUBSTORE
- See Also:
- Constant Field Values
-
PROP_LOCAL_CA
public static final java.lang.String PROP_LOCAL_CA
- See Also:
- Constant Field Values
-
PROP_LOCAL_CRL
public static final java.lang.String PROP_LOCAL_CRL
- See Also:
- Constant Field Values
-
PROP_CERTS
public static final java.lang.String PROP_CERTS
- See Also:
- Constant Field Values
-
PROP_XCERT
public static final java.lang.String PROP_XCERT
- See Also:
- Constant Field Values
-
PROP_CLASS
public static final java.lang.String PROP_CLASS
- See Also:
- Constant Field Values
-
PROP_IMPL
public static final java.lang.String PROP_IMPL
- See Also:
- Constant Field Values
-
PROP_PLUGIN
public static final java.lang.String PROP_PLUGIN
- See Also:
- Constant Field Values
-
PROP_INSTANCE
public static final java.lang.String PROP_INSTANCE
- See Also:
- Constant Field Values
-
PROP_PREDICATE
public static final java.lang.String PROP_PREDICATE
- See Also:
- Constant Field Values
-
PROP_ENABLE
public static final java.lang.String PROP_ENABLE
- See Also:
- Constant Field Values
-
PROP_CERT_ENABLE
public static final java.lang.String PROP_CERT_ENABLE
- See Also:
- Constant Field Values
-
PROP_CRL_ENABLE
public static final java.lang.String PROP_CRL_ENABLE
- See Also:
- Constant Field Values
-
PROP_LDAP
public static final java.lang.String PROP_LDAP
- See Also:
- Constant Field Values
-
PROP_MAPPER
public static final java.lang.String PROP_MAPPER
- See Also:
- Constant Field Values
-
PROP_PUBLISHER
public static final java.lang.String PROP_PUBLISHER
- See Also:
- Constant Field Values
-
PROP_TYPE
public static final java.lang.String PROP_TYPE
- See Also:
- Constant Field Values
-
mPublisherPlugins
public java.util.Hashtable<java.lang.String,PublisherPlugin> mPublisherPlugins
-
mPublisherInsts
public java.util.Hashtable<java.lang.String,PublisherProxy> mPublisherInsts
-
mMapperPlugins
public java.util.Hashtable<java.lang.String,MapperPlugin> mMapperPlugins
-
mMapperInsts
public java.util.Hashtable<java.lang.String,MapperProxy> mMapperInsts
-
mRulePlugins
public java.util.Hashtable<java.lang.String,RulePlugin> mRulePlugins
-
mRuleInsts
public java.util.Hashtable<java.lang.String,ILdapRule> mRuleInsts
-
mLdapConnModule
protected LdapConnModule mLdapConnModule
-
mAuthority
protected ICertAuthority mAuthority
-
mLdapRequestListener
protected LdapRequestListener mLdapRequestListener
-
-
Method Detail
-
getId
public java.lang.String getId()
-
setId
public void setId(java.lang.String id)
-
getConfigStore
public IConfigStore getConfigStore()
-
init
public void init(ISubsystem authority, IConfigStore config) throws EBaseException
- Throws:
EBaseException
-
getLdapConnModule
public ILdapConnModule getLdapConnModule()
Returns LdapConnModule belonging to this Processor.- Returns:
- LdapConnModule.
-
setLdapConnModule
public void setLdapConnModule(ILdapConnModule m)
Sets the LdapConnModule belonging to this Processor.- Parameters:
m- ILdapConnModule.
-
startup
public void startup() throws EBaseException- Throws:
EBaseException
-
shutdown
public void shutdown()
-
getRulePlugins
public java.util.Hashtable<java.lang.String,RulePlugin> getRulePlugins()
Returns Hashtable of rule plugins.
-
getRuleInsts
public java.util.Hashtable<java.lang.String,ILdapRule> getRuleInsts()
Returns Hashtable of rule instances.
-
getMapperPlugins
public java.util.Hashtable<java.lang.String,MapperPlugin> getMapperPlugins()
Returns Hashtable of mapper plugins.
-
getPublisherPlugins
public java.util.Hashtable<java.lang.String,PublisherPlugin> getPublisherPlugins()
Returns Hashtable of publisher plugins.
-
getMapperInsts
public java.util.Hashtable<java.lang.String,MapperProxy> getMapperInsts()
Returns Hashtable of rule mapper instances.
-
getPublisherInsts
public java.util.Hashtable<java.lang.String,PublisherProxy> getPublisherInsts()
Returns Hashtable of rule publisher instances.
-
getRules
public java.util.Enumeration<ILdapRule> getRules(java.lang.String publishingType)
Returns list of rules based on publishing type. certType can be client,server,ca,crl,smime- Parameters:
publishingType- Type for which to retrieve rule list.
-
getRules
public java.util.Enumeration<ILdapRule> getRules(java.lang.String publishingType, IRequest req)
Returns list of rules based on publishing type and publishing request.- Parameters:
publishingType- Type for which to retrieve rule list.req- Corresponding publish request.
-
getMapperDefaultParams
public java.util.Vector<java.lang.String> getMapperDefaultParams(java.lang.String implName) throws ELdapExceptionReturns mapper initial default parameters.- Parameters:
implName- name of MapperPlugin.- Throws:
ELdapException
-
getMapperInstanceParams
public java.util.Vector<java.lang.String> getMapperInstanceParams(java.lang.String insName) throws ELdapExceptionReturns mapper current instance parameters.- Parameters:
insName- name of MapperProxy.- Throws:
ELdapException- failed due to Ldap error.
-
getPublisherDefaultParams
public java.util.Vector<java.lang.String> getPublisherDefaultParams(java.lang.String implName) throws ELdapExceptionReturns publisher initial default parameters.- Parameters:
implName- name of PublisherPlugin.- Throws:
ELdapException- failed due to Ldap error.
-
isMapperInstanceEnable
public boolean isMapperInstanceEnable(java.lang.String insName)
Returns true if MapperInstance is enabled.- Parameters:
insName- name of MapperProxy.- Returns:
- true if enabled. false if disabled.
-
getActiveMapperInstance
public ILdapMapper getActiveMapperInstance(java.lang.String insName)
Returns ILdapMapper instance that is currently active.- Parameters:
insName- name of MapperProxy.- Returns:
- instance of ILdapMapper.
-
getMapperInstance
public ILdapMapper getMapperInstance(java.lang.String insName)
Returns ILdapMapper instance based on name of MapperProxy.- Parameters:
insName- name of MapperProxy.- Returns:
- instance of ILdapMapper.
-
isPublisherInstanceEnable
public boolean isPublisherInstanceEnable(java.lang.String insName)
Returns true publisher instance is currently enabled.- Parameters:
insName- name of PublisherProxy.- Returns:
- true if enabled.
-
getActivePublisherInstance
public ILdapPublisher getActivePublisherInstance(java.lang.String insName)
Returns ILdapPublisher instance that is currently active.- Parameters:
insName- name of PublisherProxy.- Returns:
- instance of ILdapPublisher.
-
getPublisherInstance
public ILdapPublisher getPublisherInstance(java.lang.String insName)
Returns ILdapPublisher instance.- Parameters:
insName- name of PublisherProxy.- Returns:
- instance of ILdapPublisher.
-
getPublisherInstanceParams
public java.util.Vector<java.lang.String> getPublisherInstanceParams(java.lang.String insName) throws ELdapExceptionReturns Vector of PublisherIntance's current instance parameters.- Parameters:
insName- name of PublisherProxy.- Returns:
- Vector of current instance parameters.
- Throws:
ELdapException
-
getRuleDefaultParams
public java.util.Vector<java.lang.String> getRuleDefaultParams(java.lang.String implName) throws ELdapExceptionReturns Vector of RulePlugin's initial default parameters.- Parameters:
implName- name of RulePlugin.- Returns:
- Vector of initial default parameters.
- Throws:
ELdapException- failed due to Ldap error.
-
getRuleInstanceParams
public java.util.Vector<java.lang.String> getRuleInstanceParams(java.lang.String implName) throws ELdapExceptionReturns Vector of RulePlugin's current instance parameters.- Parameters:
implName- name of RulePlugin.- Returns:
- Vector of current instance parameters.
- Throws:
ELdapException- failed due to Ldap error.
-
setPublishedFlag
public void setPublishedFlag(java.math.BigInteger serialNo, boolean published)Set published flag - true when published, false when unpublished. Not exist means not published.- Parameters:
serialNo- serial number of publishable object.published- true for published, false for not.
-
publishCACert
public void publishCACert(java.security.cert.X509Certificate cert) throws ELdapExceptionPublish ca cert, UpdateDir.java, jobs, request listeners- Parameters:
cert- X509 certificate to be published.- Throws:
ELdapException- publish failed due to Ldap error.ELdapException
-
unpublishCACert
public void unpublishCACert(java.security.cert.X509Certificate cert) throws ELdapExceptionThis function is never called. CMS does not unpublish CA certificate.- Throws:
ELdapException
-
publishXCertPair
public void publishXCertPair(byte[] pair) throws ELdapExceptionPublish crossCertificatePair- Specified by:
publishXCertPairin interfaceIXcertPublisherProcessor- Parameters:
pair- Byte array representing cert pair.- Throws:
ELdapException
-
publishCert
public void publishCert(java.security.cert.X509Certificate cert, IRequest req) throws ELdapExceptionPublishs regular user certificate based on the criteria set in the request.- Parameters:
cert- X509 certificate to be published.req- request which provides the criteria- Throws:
ELdapException- publish failed due to Ldap error.ELdapException
-
unpublishCert
public void unpublishCert(java.security.cert.X509Certificate cert, IRequest req) throws ELdapExceptionUnpublish user certificate. This is used by UnpublishExpiredJob.- Parameters:
cert- X509 certificate to be unpublished.req- request which provides the criteria- Throws:
ELdapException- unpublish failed due to Ldap error.ELdapException
-
publishCRL
public void publishCRL(org.mozilla.jss.netscape.security.x509.X509CRLImpl crl, java.lang.String crlIssuingPointId) throws ELdapExceptionpublishes a crl by mapping the issuer name in the crl to an entry and publishing it there. entry must be a certificate authority. Note that this is used by cmsgateway/cert/UpdateDir.java- Parameters:
crl- Certificate Revocation ListcrlIssuingPointId- name of the issuing point.- Throws:
ELdapException- publish failed due to Ldap error.ELdapException
-
publishCRL
public void publishCRL(java.lang.String dn, java.security.cert.X509CRL crl) throws ELdapExceptionpublishes a crl by mapping the issuer name in the crl to an entry and publishing it there. entry must be a certificate authority.- Parameters:
dn- Distinguished name to publish.crl- Certificate Revocation List- Throws:
ELdapException- publish failed due to Ldap error.ELdapException
-
ldapEnabled
public boolean ldapEnabled()
Return true if Ldap is enabled.- Returns:
- true if Ldap is enabled,otherwise false.
-
isCertPublishingEnabled
public boolean isCertPublishingEnabled()
Return true if Certificate Publishing is enabled.- Returns:
- true if enabled, false otherwise
-
isCRLPublishingEnabled
public boolean isCRLPublishingEnabled()
Return true if CRL publishing is enabled,- Returns:
- true if enabled, false otherwise.
-
getAuthority
public ISubsystem getAuthority()
Return Authority for which this Processor operates.- Returns:
- Authority.
-
isClone
public boolean isClone()
-
-