Add endpoint for CSR, that will log received data.
authorBartosz Gardziejewski <bartosz.gardziejewski@nokia.com>
Fri, 7 Feb 2020 07:27:34 +0000 (08:27 +0100)
committerBartosz Gardziejewski <bartosz.gardziejewski@nokia.com>
Fri, 7 Feb 2020 08:31:59 +0000 (09:31 +0100)
Issue-ID: AAF-995
Signed-off-by: Bartosz Gardziejewski <bartosz.gardziejewski@nokia.com>
Change-Id: I6f2ab981669158c3b4c8d8c26fa829f7967aa712

certService/pom.xml
certService/src/main/java/org/onap/aaf/certservice/rest/CertificationService.java [new file with mode: 0644]
certService/src/main/resources/application.properties
certService/src/main/resources/log4j2.xml

index affdda3..57e7a3d 100644 (file)
@@ -38,6 +38,7 @@
         <maven-surefire-plugin.version>3.0.0-M1</maven-surefire-plugin.version>
         <spring-boot-starter-actuator.version>2.2.4.RELEASE</spring-boot-starter-actuator.version>
         <spring-boot-starter-log4j2.version>2.1.5.RELEASE</spring-boot-starter-log4j2.version>
+        <springdoc-openapi-ui.version>1.2.21</springdoc-openapi-ui.version>
     </properties>
 
     <dependencyManagement>
             <artifactId>spring-boot-starter-actuator</artifactId>
             <version>${spring-boot-starter-actuator.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.springdoc</groupId>
+            <artifactId>springdoc-openapi-ui</artifactId>
+            <version>${springdoc-openapi-ui.version}</version>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/certService/src/main/java/org/onap/aaf/certservice/rest/CertificationService.java b/certService/src/main/java/org/onap/aaf/certservice/rest/CertificationService.java
new file mode 100644 (file)
index 0000000..7a93bff
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * ============LICENSE_START=======================================================
+ * PROJECT
+ * ================================================================================
+ * Copyright (C) 2020 Nokia. All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.aaf.certservice.rest;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestHeader;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Base64;
+
+@RestController
+public class CertificationService {
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(CertificationService.class);
+    private static final Base64.Decoder DECODER = Base64.getDecoder();
+
+    @GetMapping("/csr/{caName}")
+    public ResponseEntity<String> getEncodesCSR(
+            @PathVariable String caName,
+            @RequestHeader("CSR") String encodedCSR,
+            @RequestHeader("PK") String encodedPrivateKey
+    ) {
+
+        String csr = decode(encodedCSR);
+        String privateKey = decode(encodedPrivateKey);
+
+        LOGGER.info("Received CSR for CA named: {}",caName);
+        LOGGER.debug("Decoded received CSR: \n{}", csr);
+
+        return new ResponseEntity<>(csr, HttpStatus.OK);
+
+    }
+
+    private String decode(String encodedData) {
+        return new String(DECODER.decode(encodedData));
+    }
+
+}
index 43f65f0..a157ae6 100644 (file)
@@ -1,3 +1,4 @@
 #Actuator properties
 management.endpoints.enabled-by-default=false
-management.endpoint.health.enabled=true
\ No newline at end of file
+management.endpoint.health.enabled=true
+springdoc.swagger-ui.path=/docs
index 0c4d613..48cc23c 100644 (file)
@@ -5,7 +5,7 @@
     <Appenders>
 
         <Console name="CONSOLE" target="SYSTEM_OUT">
-            <LevelRangeFilter maxLevel="INFO" minLevel="ERROR"/>
+            <LevelRangeFilter maxLevel="DEBUG" minLevel="ERROR"/>
             <PatternLayout
                     pattern="%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} %highlight{${LOG_LEVEL_PATTERN:-%5p}}{FATAL=red blink, ERROR=red, WARN=yellow bold, INFO=green, DEBUG=green bold, TRACE=blue} %style{${sys:PID}}{magenta} [%15.15t] %style{%-40.40C{1.}}{cyan} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>
         </Console>
     <Loggers>
 
         <Logger name="org.springframework" level="ERROR"/>
+        <Logger name="org.springdoc" level="ERROR"/>
         <Logger name="org.hibernate" level="ERROR"/>
         <Logger name="org.apache" level="ERROR"/>
         <Logger name="io.micrometer" level="ERROR"/>
+        <Logger name="io.swagger" level="ERROR"/>
 
         <Root additivity="false" level="TRACE">
             <AppenderRef ref="CONSOLE"/>
@@ -55,4 +57,4 @@
 
     </Loggers>
 
-</Configuration>
\ No newline at end of file
+</Configuration>