Class BaseCmpResponder

  • Direct Known Subclasses:
    CmpResponder

    public abstract class BaseCmpResponder
    extends java.lang.Object
    Base CMP responder.
    Since:
    6.0.0
    Author:
    Lijun Liao (xipki)
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected BaseCmpResponder​(CmpControl cmpControl, org.xipki.ca.sdk.SdkClient sdk, org.xipki.security.SecurityFactory securityFactory, org.xipki.ca.gateway.CaNameSigners signers, org.xipki.ca.gateway.RequestorAuthenticator authenticator, org.xipki.ca.gateway.PopControl popControl)  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected static void addErrCertResp​(java.util.Map<java.lang.Integer,​org.bouncycastle.asn1.cmp.CertResponse> resps, int index, org.bouncycastle.asn1.ASN1Integer certReqId, int pkiFailureInfo, java.lang.String pkiStatusText)  
      protected static org.bouncycastle.asn1.cmp.CertRepMessage buildErrCertResp​(org.bouncycastle.asn1.ASN1Integer certReqId, int pkiFailureInfo, java.lang.String pkiStatusText)  
      protected static org.bouncycastle.asn1.cmp.PKIBody buildErrorMsgPkiBody​(org.bouncycastle.asn1.cmp.PKIStatus pkiStatus, int failureInfo, java.lang.String statusMessage)  
      protected void checkPermission​(org.xipki.ca.gateway.Requestor requestor, int requiredPermission)  
      protected abstract org.bouncycastle.asn1.cmp.PKIBody cmpEnrollCert​(java.lang.String caName, java.lang.String dfltCertprofileName, boolean groupEnroll, org.bouncycastle.asn1.cmp.PKIMessage request, org.bouncycastle.asn1.cmp.PKIHeaderBuilder respHeader, org.bouncycastle.asn1.cmp.PKIHeader reqHeader, org.bouncycastle.asn1.cmp.PKIBody reqBody, org.xipki.ca.gateway.Requestor requestor, org.bouncycastle.asn1.ASN1OctetString tid, org.xipki.audit.AuditEvent event)  
      protected org.bouncycastle.asn1.cmp.PKIBody cmpGeneralMsg​(java.lang.String caName, org.bouncycastle.asn1.cmp.PKIBody reqBody, org.xipki.audit.AuditEvent event)  
      protected abstract org.bouncycastle.asn1.cmp.PKIBody cmpUnRevokeCertificates​(java.lang.String caName, org.bouncycastle.asn1.cmp.PKIMessage request, org.bouncycastle.asn1.cmp.PKIHeaderBuilder respHeader, org.bouncycastle.asn1.cmp.PKIHeader reqHeader, org.bouncycastle.asn1.cmp.PKIBody reqBody, org.xipki.ca.gateway.Requestor requestor, org.xipki.audit.AuditEvent event)  
      protected abstract org.bouncycastle.asn1.cmp.PKIBody confirmCertificates​(java.lang.String caName, org.bouncycastle.asn1.ASN1OctetString transactionId, org.bouncycastle.asn1.cmp.CertConfirmContent certConf)  
      protected static org.bouncycastle.asn1.cmp.PKIStatusInfo generateRejectionStatus​(java.lang.Integer info, java.lang.String errorMessage)  
      protected static org.bouncycastle.asn1.cmp.PKIStatusInfo generateRejectionStatus​(org.bouncycastle.asn1.cmp.PKIStatus status, java.lang.Integer info, java.lang.String errorMessage)  
      protected static int getPKiFailureInfo​(org.xipki.util.exception.OperationException ex)  
      protected static org.bouncycastle.asn1.x500.X500Name getX500Name​(org.bouncycastle.asn1.x509.GeneralName name)  
      protected org.bouncycastle.asn1.cmp.CertResponse postProcessCertInfo​(org.bouncycastle.asn1.ASN1Integer certReqId, org.xipki.ca.gateway.Requestor requestor, byte[] cert, byte[] privateKeyinfo)  
      org.bouncycastle.asn1.cmp.PKIMessage processPkiMessage​(java.lang.String caName, org.bouncycastle.asn1.cmp.PKIMessage pkiMessage, org.xipki.security.X509Cert tlsClientCert, java.util.Map<java.lang.String,​java.lang.String> parameters, org.xipki.audit.AuditEvent event)  
      protected abstract org.bouncycastle.asn1.cmp.PKIBody revokePendingCertificates​(java.lang.String caName, org.bouncycastle.asn1.ASN1OctetString transactionId)  
      protected boolean verifyPop​(org.bouncycastle.cert.crmf.CertificateRequestMessage certRequest, org.bouncycastle.asn1.x509.SubjectPublicKeyInfo spki)  
      • Methods inherited from class java.lang.Object

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

      • HTTP_HEADER_certprofile

        public static final java.lang.String HTTP_HEADER_certprofile
        See Also:
        Constant Field Values
      • HTTP_HEADER_groupenroll

        public static final java.lang.String HTTP_HEADER_groupenroll
        See Also:
        Constant Field Values
      • TYPE_genm_cacerts

        public static final java.lang.String TYPE_genm_cacerts
        See Also:
        Constant Field Values
      • TYPE_genm_current_crl

        public static final java.lang.String TYPE_genm_current_crl
        See Also:
        Constant Field Values
      • TYPE_rr_unrevoke

        public static final java.lang.String TYPE_rr_unrevoke
        See Also:
        Constant Field Values
      • securityFactory

        protected final org.xipki.security.SecurityFactory securityFactory
      • sdk

        protected final org.xipki.ca.sdk.SdkClient sdk
      • cmpControl

        protected final CmpControl cmpControl
      • popControl

        protected final org.xipki.ca.gateway.PopControl popControl
    • Constructor Detail

      • BaseCmpResponder

        protected BaseCmpResponder​(CmpControl cmpControl,
                                   org.xipki.ca.sdk.SdkClient sdk,
                                   org.xipki.security.SecurityFactory securityFactory,
                                   org.xipki.ca.gateway.CaNameSigners signers,
                                   org.xipki.ca.gateway.RequestorAuthenticator authenticator,
                                   org.xipki.ca.gateway.PopControl popControl)
                            throws java.security.NoSuchAlgorithmException
        Throws:
        java.security.NoSuchAlgorithmException
    • Method Detail

      • cmpEnrollCert

        protected abstract org.bouncycastle.asn1.cmp.PKIBody cmpEnrollCert​(java.lang.String caName,
                                                                           java.lang.String dfltCertprofileName,
                                                                           boolean groupEnroll,
                                                                           org.bouncycastle.asn1.cmp.PKIMessage request,
                                                                           org.bouncycastle.asn1.cmp.PKIHeaderBuilder respHeader,
                                                                           org.bouncycastle.asn1.cmp.PKIHeader reqHeader,
                                                                           org.bouncycastle.asn1.cmp.PKIBody reqBody,
                                                                           org.xipki.ca.gateway.Requestor requestor,
                                                                           org.bouncycastle.asn1.ASN1OctetString tid,
                                                                           org.xipki.audit.AuditEvent event)
                                                                    throws org.xipki.util.exception.InsufficientPermissionException,
                                                                           org.xipki.ca.sdk.SdkErrorResponseException
        Throws:
        org.xipki.util.exception.InsufficientPermissionException
        org.xipki.ca.sdk.SdkErrorResponseException
      • cmpUnRevokeCertificates

        protected abstract org.bouncycastle.asn1.cmp.PKIBody cmpUnRevokeCertificates​(java.lang.String caName,
                                                                                     org.bouncycastle.asn1.cmp.PKIMessage request,
                                                                                     org.bouncycastle.asn1.cmp.PKIHeaderBuilder respHeader,
                                                                                     org.bouncycastle.asn1.cmp.PKIHeader reqHeader,
                                                                                     org.bouncycastle.asn1.cmp.PKIBody reqBody,
                                                                                     org.xipki.ca.gateway.Requestor requestor,
                                                                                     org.xipki.audit.AuditEvent event)
                                                                              throws org.xipki.ca.sdk.SdkErrorResponseException
        Throws:
        org.xipki.ca.sdk.SdkErrorResponseException
      • confirmCertificates

        protected abstract org.bouncycastle.asn1.cmp.PKIBody confirmCertificates​(java.lang.String caName,
                                                                                 org.bouncycastle.asn1.ASN1OctetString transactionId,
                                                                                 org.bouncycastle.asn1.cmp.CertConfirmContent certConf)
                                                                          throws org.xipki.ca.sdk.SdkErrorResponseException
        Throws:
        org.xipki.ca.sdk.SdkErrorResponseException
      • revokePendingCertificates

        protected abstract org.bouncycastle.asn1.cmp.PKIBody revokePendingCertificates​(java.lang.String caName,
                                                                                       org.bouncycastle.asn1.ASN1OctetString transactionId)
                                                                                throws org.xipki.ca.sdk.SdkErrorResponseException
        Throws:
        org.xipki.ca.sdk.SdkErrorResponseException
      • getX500Name

        protected static org.bouncycastle.asn1.x500.X500Name getX500Name​(org.bouncycastle.asn1.x509.GeneralName name)
      • processPkiMessage

        public org.bouncycastle.asn1.cmp.PKIMessage processPkiMessage​(java.lang.String caName,
                                                                      org.bouncycastle.asn1.cmp.PKIMessage pkiMessage,
                                                                      org.xipki.security.X509Cert tlsClientCert,
                                                                      java.util.Map<java.lang.String,​java.lang.String> parameters,
                                                                      org.xipki.audit.AuditEvent event)
      • generateRejectionStatus

        protected static org.bouncycastle.asn1.cmp.PKIStatusInfo generateRejectionStatus​(java.lang.Integer info,
                                                                                         java.lang.String errorMessage)
      • generateRejectionStatus

        protected static org.bouncycastle.asn1.cmp.PKIStatusInfo generateRejectionStatus​(org.bouncycastle.asn1.cmp.PKIStatus status,
                                                                                         java.lang.Integer info,
                                                                                         java.lang.String errorMessage)
      • getPKiFailureInfo

        protected static int getPKiFailureInfo​(org.xipki.util.exception.OperationException ex)
      • checkPermission

        protected void checkPermission​(org.xipki.ca.gateway.Requestor requestor,
                                       int requiredPermission)
                                throws org.xipki.util.exception.InsufficientPermissionException
        Throws:
        org.xipki.util.exception.InsufficientPermissionException
      • buildErrorMsgPkiBody

        protected static org.bouncycastle.asn1.cmp.PKIBody buildErrorMsgPkiBody​(org.bouncycastle.asn1.cmp.PKIStatus pkiStatus,
                                                                                int failureInfo,
                                                                                java.lang.String statusMessage)
      • buildErrCertResp

        protected static org.bouncycastle.asn1.cmp.CertRepMessage buildErrCertResp​(org.bouncycastle.asn1.ASN1Integer certReqId,
                                                                                   int pkiFailureInfo,
                                                                                   java.lang.String pkiStatusText)
      • addErrCertResp

        protected static void addErrCertResp​(java.util.Map<java.lang.Integer,​org.bouncycastle.asn1.cmp.CertResponse> resps,
                                             int index,
                                             org.bouncycastle.asn1.ASN1Integer certReqId,
                                             int pkiFailureInfo,
                                             java.lang.String pkiStatusText)
      • verifyPop

        protected boolean verifyPop​(org.bouncycastle.cert.crmf.CertificateRequestMessage certRequest,
                                    org.bouncycastle.asn1.x509.SubjectPublicKeyInfo spki)
      • postProcessCertInfo

        protected org.bouncycastle.asn1.cmp.CertResponse postProcessCertInfo​(org.bouncycastle.asn1.ASN1Integer certReqId,
                                                                             org.xipki.ca.gateway.Requestor requestor,
                                                                             byte[] cert,
                                                                             byte[] privateKeyinfo)
      • cmpGeneralMsg

        protected org.bouncycastle.asn1.cmp.PKIBody cmpGeneralMsg​(java.lang.String caName,
                                                                  org.bouncycastle.asn1.cmp.PKIBody reqBody,
                                                                  org.xipki.audit.AuditEvent event)
                                                           throws org.xipki.ca.sdk.SdkErrorResponseException
        Throws:
        org.xipki.ca.sdk.SdkErrorResponseException