[OOM-CERT-SERVICE] Add Certification Request functionality
[oom/platform/cert-service.git] / certService / src / main / java / org / onap / oom / certservice / cmpv2client / impl / CmpClientImpl.java
index 270b599..549cf6b 100644 (file)
@@ -93,18 +93,7 @@ public class CmpClientImpl implements CmpClient {
             throws CmpClientException {
 
         validate(csrModel, server, httpClient, notBefore, notAfter);
-
-        final String iak = server.getAuthentication().getIak();
-        final PkiMessageProtection pkiMessageProtection = new PasswordBasedProtection(iak);
-        final CreateCertRequest certRequest =
-                getCmpMessageBuilderWithCommonRequestValues(csrModel, server)
-                        .with(CreateCertRequest::setNotBefore, notBefore)
-                        .with(CreateCertRequest::setNotAfter, notAfter)
-                        .with(CreateCertRequest::setSenderKid, server.getAuthentication().getRv())
-                        .with(CreateCertRequest::setCmpRequestType, PKIBody.TYPE_INIT_REQ)
-                        .with(CreateCertRequest::setProtection, pkiMessageProtection)
-                        .build();
-
+        final CreateCertRequest certRequest = getIakRvRequest(csrModel, server, notBefore, notAfter, PKIBody.TYPE_INIT_REQ);
         return executeCmpRequest(csrModel, server, certRequest);
     }
 
@@ -131,6 +120,32 @@ public class CmpClientImpl implements CmpClient {
 
     }
 
+    @Override
+    public Cmpv2CertificationModel certificationRequest(CsrModel csrModel, Cmpv2Server cmpv2Server) throws CmpClientException {
+
+        validate(csrModel, cmpv2Server, httpClient, null, null);
+        final CreateCertRequest certRequest = getIakRvRequest(csrModel, cmpv2Server, null, null, PKIBody.TYPE_CERT_REQ);
+        return executeCmpRequest(csrModel, cmpv2Server, certRequest);
+    }
+
+    private CreateCertRequest getIakRvRequest(
+        CsrModel csrModel,
+        Cmpv2Server server,
+        Date notBefore,
+        Date notAfter,
+        int requestType) {
+
+        final String iak = server.getAuthentication().getIak();
+        final PkiMessageProtection pkiMessageProtection = new PasswordBasedProtection(iak);
+        return getCmpMessageBuilderWithCommonRequestValues(csrModel, server)
+            .with(CreateCertRequest::setNotBefore, notBefore)
+            .with(CreateCertRequest::setNotAfter, notAfter)
+            .with(CreateCertRequest::setSenderKid, server.getAuthentication().getRv())
+            .with(CreateCertRequest::setCmpRequestType, requestType)
+            .with(CreateCertRequest::setProtection, pkiMessageProtection)
+            .build();
+    }
+
     private Cmpv2CertificationModel executeCmpRequest(CsrModel csrModel, Cmpv2Server cmpv2Server,
         CreateCertRequest certRequest) throws CmpClientException {
         final PKIMessage pkiMessage = certRequest.generateCertReq();