Class APolicyRule
- java.lang.Object
-
- org.dogtagpki.legacy.server.policy.APolicyRule
-
- All Implemented Interfaces:
IPolicy,IPolicyRule
- Direct Known Subclasses:
AgentPolicy,AttributePresentConstraints,AuthInfoAccessExt,AuthorityKeyIdentifierExt,BasicConstraintsExt,CertificatePoliciesExt,CertificateRenewalWindowExt,CertificateScopeOfUseExt,CRLDistributionPointsExt,DefaultRevocation,DSAKeyConstraints,ExtendedKeyUsageExt,GenericASN1Ext,IssuerAltNameExt,IssuerConstraints,KeyAlgorithmConstraints,KeyUsageExt,ManualAuthentication,NameConstraintsExt,NSCCommentExt,NSCertTypeExt,OCSPNoCheckExt,PolicyConstraintsExt,PolicyMappingsExt,PresenceExt,PrivateKeyUsagePeriodExt,RemoveBasicConstraintsExt,RenewalConstraints,RenewalValidityConstraints,RevocationConstraints,RSAKeyConstraints,SigningAlgorithmConstraints,SubCANameConstraints,SubjAltNameExt,SubjectAltNameExt,SubjectDirectoryAttributesExt,SubjectKeyIdentifierExt,UniqueSubjectNameConstraints,ValidityConstraints
public abstract class APolicyRule extends java.lang.Object implements IPolicyRule
The abstract policy rule that concrete implementations will extend.NOTE: The Policy Framework has been replaced by the Profile Framework.
- Version:
- $Revision$, $Date$
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringDESCprotected IExpressionmFilterExpprotected java.lang.StringmInstanceNameprotected LoggermLoggerprotected java.lang.StringNAME-
Fields inherited from interface org.dogtagpki.legacy.policy.IPolicyRule
PROP_ENABLE, PROP_IMPLNAME, PROP_PREDICATE
-
-
Constructor Summary
Constructors Constructor Description APolicyRule()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected booleanagentApproved(IRequest req)request has previously been approved by an agentabstract PolicyResultapply(IRequest req)Applies the policy on the given Request.static KeyIdentifiercreateKeyIdentifier(X509Key key)protected PolicyResultdeferred(IRequest req)determines whether a DEFERRED policy result should be returned by checking the contents of the AgentApprovals attribute.protected KeyIdentifierformSHA1KeyId(X509CertInfo certInfo)Form a byte array of octet string key identifier from the sha-1 hash of the Subject Public Key BIT STRING.protected KeyIdentifierformSpkiSHA1KeyId(X509CertInfo certInfo)Form a byte array of octet string key identifier from the sha-1 hash of the Subject Public Key INFO.abstract java.util.Vector<java.lang.String>getDefaultParams()Return default parameters for a policy implementation.java.lang.StringgetDescription()Gets the description for this policy rule.java.lang.StringgetInstanceName()Returns the name of the policy rule instance.abstract java.util.Vector<java.lang.String>getInstanceParams()Return configured parameters for a policy rule instance.java.lang.StringgetName()Returns the name of the policy rule.IExpressiongetPredicate()Returns the predicate expression for the rule.abstract voidinit(ISubsystem owner, IConfigStore config)Initializes the policy rule.protected voidlog(int level, java.lang.String msg)log a message for this policy rule.voidsetError(IRequest req, java.lang.String format, java.lang.Object[] params)voidsetError(IRequest req, java.lang.String format, java.lang.String arg)voidsetError(IRequest req, java.lang.String format, java.lang.String arg1, java.lang.String arg2)voidsetInstanceName(java.lang.String instanceName)Sets the instance name for a policy rule.voidsetPolicyException(IRequest req, EBaseException ex)voidsetPolicyException(IRequest req, java.lang.String format, java.lang.Object[] params)voidsetPredicate(IExpression exp)Sets a predicate expression for rule matching.
-
-
-
Field Detail
-
NAME
protected java.lang.String NAME
-
DESC
protected java.lang.String DESC
-
mFilterExp
protected IExpression mFilterExp
-
mInstanceName
protected java.lang.String mInstanceName
-
mLogger
protected Logger mLogger
-
-
Method Detail
-
init
public abstract void init(ISubsystem owner, IConfigStore config) throws EBaseException
Initializes the policy rule.- Specified by:
initin interfaceIPolicyRule- Parameters:
config- The config store reference- Throws:
EBaseException
-
getDescription
public java.lang.String getDescription()
Gets the description for this policy rule.- Specified by:
getDescriptionin interfaceIPolicyRule- Returns:
- The Description for this rule.
-
setPredicate
public void setPredicate(IExpression exp)
Sets a predicate expression for rule matching.- Specified by:
setPredicatein interfaceIPolicyRule- Parameters:
exp- The predicate expression for the rule.
-
getPredicate
public IExpression getPredicate()
Returns the predicate expression for the rule.- Specified by:
getPredicatein interfaceIPolicyRule- Returns:
- The predicate expression for the rule.
-
getName
public java.lang.String getName()
Returns the name of the policy rule.- Specified by:
getNamein interfaceIPolicyRule- Returns:
- The name of the policy class.
-
setInstanceName
public void setInstanceName(java.lang.String instanceName)
Sets the instance name for a policy rule.- Specified by:
setInstanceNamein interfaceIPolicyRule- Parameters:
instanceName- The name of the rule instance.
-
getInstanceName
public java.lang.String getInstanceName()
Returns the name of the policy rule instance.- Specified by:
getInstanceNamein interfaceIPolicyRule- Returns:
- The name of the policy rule instance if set, else the name of the rule class.
-
apply
public abstract PolicyResult apply(IRequest req)
Applies the policy on the given Request.- Specified by:
applyin interfaceIPolicy- Specified by:
applyin interfaceIPolicyRule- Parameters:
req- The request on which to apply policy.- Returns:
- The policy result object.
-
getInstanceParams
public abstract java.util.Vector<java.lang.String> getInstanceParams()
Return configured parameters for a policy rule instance.- Specified by:
getInstanceParamsin interfaceIPolicyRule- Returns:
- nvPairs A Vector of name/value pairs.
-
getDefaultParams
public abstract java.util.Vector<java.lang.String> getDefaultParams()
Return default parameters for a policy implementation.- Specified by:
getDefaultParamsin interfaceIPolicyRule- Returns:
- nvPairs A Vector of name/value pairs.
-
setError
public void setError(IRequest req, java.lang.String format, java.lang.Object[] params)
- Specified by:
setErrorin interfaceIPolicyRule
-
setError
public void setError(IRequest req, java.lang.String format, java.lang.String arg1, java.lang.String arg2)
-
setError
public void setError(IRequest req, java.lang.String format, java.lang.String arg)
-
setPolicyException
public void setPolicyException(IRequest req, EBaseException ex)
- Specified by:
setPolicyExceptionin interfaceIPolicyRule
-
deferred
protected PolicyResult deferred(IRequest req)
determines whether a DEFERRED policy result should be returned by checking the contents of the AgentApprovals attribute. This call should be used by policy modules instead of returning PolicyResult.DEFERRED directly.
-
agentApproved
protected boolean agentApproved(IRequest req)
request has previously been approved by an agent
-
setPolicyException
public void setPolicyException(IRequest req, java.lang.String format, java.lang.Object[] params)
-
log
protected void log(int level, java.lang.String msg)log a message for this policy rule.
-
createKeyIdentifier
public static KeyIdentifier createKeyIdentifier(X509Key key) throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException
- Throws:
java.security.NoSuchAlgorithmExceptionjava.security.InvalidKeyException
-
formSpkiSHA1KeyId
protected KeyIdentifier formSpkiSHA1KeyId(X509CertInfo certInfo) throws EBaseException
Form a byte array of octet string key identifier from the sha-1 hash of the Subject Public Key INFO. (including algorithm ID, etc.)- Parameters:
certInfo- cert info of the certificate.- Returns:
- A Key identifier with the sha-1 hash of subject public key.
- Throws:
EBaseException
-
formSHA1KeyId
protected KeyIdentifier formSHA1KeyId(X509CertInfo certInfo) throws EBaseException
Form a byte array of octet string key identifier from the sha-1 hash of the Subject Public Key BIT STRING.- Parameters:
certInfo- cert info of the certificate.- Returns:
- A Key identifier with the sha-1 hash of subject public key.
- Throws:
EBaseException
-
-