From f9d430ade6c66b17d916db8ab249ef3acb77dd57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=95=EC=84=B1=EC=98=81?= Date: Tue, 4 Nov 2025 18:23:11 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B9=83=20=EC=9D=B4=EA=B7=B8=EB=85=B8?= =?UTF-8?q?=EC=96=B4=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 23 + build.gradle | 49 ++ lib/libgpkiapi_jni_1.5.jar | Bin 0 -> 58217 bytes settings.gradle | 1 + .../VmisInterfaceApplication.java | 11 + .../client/GovernmentApiClient.java | 781 ++++++++++++++++++ .../vmis/interfaceapp/config/GpkiConfig.java | 20 + .../interfaceapp/config/HttpClientConfig.java | 46 ++ .../interfaceapp/config/OpenApiConfig.java | 27 + .../interfaceapp/config/PropertiesConfig.java | 10 + .../config/properties/VmisProperties.java | 180 ++++ .../VehicleInterfaceController.java | 211 +++++ .../vmis/interfaceapp/gpki/GpkiService.java | 7 + .../interfaceapp/gpki/NoopGpkiService.java | 18 + .../interfaceapp/gpki/RealGpkiService.java | 41 + .../model/basic/BasicRequest.java | 88 ++ .../model/basic/BasicResponse.java | 121 +++ .../interfaceapp/model/common/Envelope.java | 32 + .../model/ledger/LedgerRequest.java | 79 ++ .../model/ledger/LedgerResponse.java | 250 ++++++ .../interfaceapp/service/RequestEnricher.java | 63 ++ .../interfaceapp/util/GpkiCryptoUtil.java | 98 +++ .../vmis/interfaceapp/util/NewGpkiUtil.java | 383 +++++++++ .../com/vmis/interfaceapp/util/TxIdUtil.java | 18 + src/main/resources/application-dev.yml | 45 + src/main/resources/application-prd.yml | 42 + src/main/resources/application.yml | 55 ++ ...ฐ๊ตฌ์—ฐ๊ณ„_์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ_SignguCarBassMatterInqireService.java | 316 +++++++ ...จ_์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„_์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€๊ฐ‘_SignguCarLedgerFrmbkService.java | 311 +++++++ ...๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค ๋ฉ”์‹œ์ง€ ๊ทœ๊ฒฉ.hwp | Bin 0 -> 147456 bytes ...๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค ๋ฉ”์‹œ์ง€ ๊ทœ๊ฒฉ.pdf | Bin 0 -> 145584 bytes ...๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€(๊ฐ‘) ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค ๋ฉ”์‹œ์ง€ ๊ทœ๊ฒฉ.hwp | Bin 0 -> 144896 bytes ...๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€(๊ฐ‘) ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค ๋ฉ”์‹œ์ง€ ๊ทœ๊ฒฉ.pdf | Bin 0 -> 142553 bytes ์ฐธ๊ณ ์ž๋ฃŒ/์ฐธ๊ณ ๋‚ด์šฉ.txt | 30 + 34 files changed, 3356 insertions(+) create mode 100644 .gitignore create mode 100644 build.gradle create mode 100644 lib/libgpkiapi_jni_1.5.jar create mode 100644 settings.gradle create mode 100644 src/main/java/com/vmis/interfaceapp/VmisInterfaceApplication.java create mode 100644 src/main/java/com/vmis/interfaceapp/client/GovernmentApiClient.java create mode 100644 src/main/java/com/vmis/interfaceapp/config/GpkiConfig.java create mode 100644 src/main/java/com/vmis/interfaceapp/config/HttpClientConfig.java create mode 100644 src/main/java/com/vmis/interfaceapp/config/OpenApiConfig.java create mode 100644 src/main/java/com/vmis/interfaceapp/config/PropertiesConfig.java create mode 100644 src/main/java/com/vmis/interfaceapp/config/properties/VmisProperties.java create mode 100644 src/main/java/com/vmis/interfaceapp/controller/VehicleInterfaceController.java create mode 100644 src/main/java/com/vmis/interfaceapp/gpki/GpkiService.java create mode 100644 src/main/java/com/vmis/interfaceapp/gpki/NoopGpkiService.java create mode 100644 src/main/java/com/vmis/interfaceapp/gpki/RealGpkiService.java create mode 100644 src/main/java/com/vmis/interfaceapp/model/basic/BasicRequest.java create mode 100644 src/main/java/com/vmis/interfaceapp/model/basic/BasicResponse.java create mode 100644 src/main/java/com/vmis/interfaceapp/model/common/Envelope.java create mode 100644 src/main/java/com/vmis/interfaceapp/model/ledger/LedgerRequest.java create mode 100644 src/main/java/com/vmis/interfaceapp/model/ledger/LedgerResponse.java create mode 100644 src/main/java/com/vmis/interfaceapp/service/RequestEnricher.java create mode 100644 src/main/java/com/vmis/interfaceapp/util/GpkiCryptoUtil.java create mode 100644 src/main/java/com/vmis/interfaceapp/util/NewGpkiUtil.java create mode 100644 src/main/java/com/vmis/interfaceapp/util/TxIdUtil.java create mode 100644 src/main/resources/application-dev.yml create mode 100644 src/main/resources/application-prd.yml create mode 100644 src/main/resources/application.yml create mode 100644 ์ฐธ๊ณ ์ž๋ฃŒ/gpki ์•”ํ˜ธํ™” ์›์‹œ์†Œ์Šค/N0000001589_์ฐจ์„ธ๋Œ€๊ตํ†ต์•ˆ์ „๊ณต๋‹จ_์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„_์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ_SignguCarBassMatterInqireService.java create mode 100644 ์ฐธ๊ณ ์ž๋ฃŒ/gpki ์•”ํ˜ธํ™” ์›์‹œ์†Œ์Šค/N0000002006_์ฐจ์„ธ๋Œ€๊ตํ†ต์•ˆ์ „๊ณต๋‹จ_์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„_์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€๊ฐ‘_SignguCarLedgerFrmbkService.java create mode 100644 ์ฐธ๊ณ ์ž๋ฃŒ/์ธํ„ฐํŽ˜์ด์Šค ์ •์˜์„œ/0000001589.๋ณ„์ฒจ.์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค ๋ฉ”์‹œ์ง€ ๊ทœ๊ฒฉ.hwp create mode 100644 ์ฐธ๊ณ ์ž๋ฃŒ/์ธํ„ฐํŽ˜์ด์Šค ์ •์˜์„œ/0000001589.๋ณ„์ฒจ.์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค ๋ฉ”์‹œ์ง€ ๊ทœ๊ฒฉ.pdf create mode 100644 ์ฐธ๊ณ ์ž๋ฃŒ/์ธํ„ฐํŽ˜์ด์Šค ์ •์˜์„œ/0000002006.๋ณ„์ฒจ.์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€(๊ฐ‘) ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค ๋ฉ”์‹œ์ง€ ๊ทœ๊ฒฉ.hwp create mode 100644 ์ฐธ๊ณ ์ž๋ฃŒ/์ธํ„ฐํŽ˜์ด์Šค ์ •์˜์„œ/0000002006.๋ณ„์ฒจ.์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€(๊ฐ‘) ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค ๋ฉ”์‹œ์ง€ ๊ทœ๊ฒฉ.pdf create mode 100644 ์ฐธ๊ณ ์ž๋ฃŒ/์ฐธ๊ณ ๋‚ด์šฉ.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1de4b95 --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +/gradle/wrapper/gradle-wrapper.jar +/gradle/wrapper/gradle-wrapper.properties +/.gradle/8.14/checksums/checksums.lock +/.gradle/8.14/checksums/md5-checksums.bin +/.gradle/8.14/checksums/sha1-checksums.bin +/.gradle/8.14/executionHistory/executionHistory.bin +/.gradle/8.14/executionHistory/executionHistory.lock +/.gradle/8.14/fileChanges/last-build.bin +/.gradle/8.14/fileHashes/fileHashes.bin +/.gradle/8.14/fileHashes/fileHashes.lock +/.gradle/8.14/fileHashes/resourceHashesCache.bin +/.gradle/8.14/gc.properties +/.gradle/buildOutputCleanup/buildOutputCleanup.lock +/.gradle/buildOutputCleanup/cache.properties +/.gradle/buildOutputCleanup/outputFiles.bin +/.gradle/vcs-1/gc.properties +/.gradle/file-system.probe +/gradlew.bat +/gradlew +/.idea/ +/.gradle/ +/build/ +/gradle/ diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..b048499 --- /dev/null +++ b/build.gradle @@ -0,0 +1,49 @@ +plugins { + id 'java' + id 'org.springframework.boot' version '3.3.4' + id 'io.spring.dependency-management' version '1.1.6' +} + +group = 'com.vmis' +version = '0.0.1-SNAPSHOT' +java { + toolchain { + languageVersion = JavaLanguageVersion.of(17) + } +} + +repositories { + mavenCentral() +} + +dependencies { + implementation 'org.springframework.boot:spring-boot-starter-web' + implementation 'org.springframework.boot:spring-boot-starter-validation' + + // OpenAPI/Swagger UI + implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.6.0' + + // Apache HttpClient5 for RestTemplate request factory + implementation 'org.apache.httpcomponents.client5:httpclient5:5.2.3' + + // GPKI JNI local library + implementation files('lib/libgpkiapi_jni_1.5.jar') + + // Log4j 1.x for legacy util (NewGpkiUtil). Consider replacing with SLF4J in future. + implementation 'log4j:log4j:1.2.17' + + // Configuration metadata + annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor' + + // Lombok + compileOnly 'org.projectlombok:lombok:1.18.34' + annotationProcessor 'org.projectlombok:lombok:1.18.34' + testCompileOnly 'org.projectlombok:lombok:1.18.34' + testAnnotationProcessor 'org.projectlombok:lombok:1.18.34' + + testImplementation 'org.springframework.boot:spring-boot-starter-test' +} + +tasks.withType(Test).configureEach { + useJUnitPlatform() +} diff --git a/lib/libgpkiapi_jni_1.5.jar b/lib/libgpkiapi_jni_1.5.jar new file mode 100644 index 0000000000000000000000000000000000000000..5e3bdea4ffc1799cf3273f71b86a406c176d8eb3 GIT binary patch literal 58217 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 literal 0 HcmV?d00001 diff --git a/settings.gradle b/settings.gradle new file mode 100644 index 0000000..36c9855 --- /dev/null +++ b/settings.gradle @@ -0,0 +1 @@ +rootProject.name = 'VMIS-interface' diff --git a/src/main/java/com/vmis/interfaceapp/VmisInterfaceApplication.java b/src/main/java/com/vmis/interfaceapp/VmisInterfaceApplication.java new file mode 100644 index 0000000..a204e6b --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/VmisInterfaceApplication.java @@ -0,0 +1,11 @@ +package com.vmis.interfaceapp; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class VmisInterfaceApplication { + public static void main(String[] args) { + SpringApplication.run(VmisInterfaceApplication.class, args); + } +} diff --git a/src/main/java/com/vmis/interfaceapp/client/GovernmentApiClient.java b/src/main/java/com/vmis/interfaceapp/client/GovernmentApiClient.java new file mode 100644 index 0000000..97da794 --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/client/GovernmentApiClient.java @@ -0,0 +1,781 @@ +package com.vmis.interfaceapp.client; + +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.vmis.interfaceapp.config.properties.VmisProperties; +import com.vmis.interfaceapp.gpki.GpkiService; +import com.vmis.interfaceapp.model.basic.BasicRequest; +import com.vmis.interfaceapp.model.basic.BasicResponse; +import com.vmis.interfaceapp.model.common.Envelope; +import com.vmis.interfaceapp.model.ledger.LedgerRequest; +import com.vmis.interfaceapp.model.ledger.LedgerResponse; +import com.vmis.interfaceapp.util.TxIdUtil; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.http.*; +import org.springframework.stereotype.Component; +import org.springframework.web.client.HttpStatusCodeException; +import org.springframework.web.client.RestTemplate; + +import java.nio.charset.StandardCharsets; + +/** + * ์ •๋ถ€ ์‹œ์Šคํ…œ API ํด๋ผ์ด์–ธํŠธ + * + *

์ด ํด๋ž˜์Šค๋Š” ์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ ์ •๋ณด ์กฐํšŒ๋ฅผ ์œ„ํ•ด ์ •๋ถ€ ์‹œ์Šคํ…œ์˜ API๋ฅผ ํ˜ธ์ถœํ•˜๋Š” + * ํด๋ผ์ด์–ธํŠธ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. HTTP ํ†ต์‹ , ์•”ํ˜ธํ™”, ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋“ฑ ์ •๋ถ€ API์™€์˜ + * ๋ชจ๋“  ์ƒํ˜ธ์ž‘์šฉ์„ ์บก์Аํ™”ํ•ฉ๋‹ˆ๋‹ค.

+ * + *

์ฃผ์š” ์ฑ…์ž„:

+ *
    + *
  • ์ •๋ถ€ API ์—”๋“œํฌ์ธํŠธ๋กœ HTTP ์š”์ฒญ ์ „์†ก
  • + *
  • GPKI(ํ–‰์ •์ „์ž์„œ๋ช…) ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™” ์ฒ˜๋ฆฌ
  • + *
  • ํ•„์ˆ˜ HTTP ํ—ค๋” ๊ตฌ์„ฑ ๋ฐ ๊ด€๋ฆฌ
  • + *
  • ์š”์ฒญ/์‘๋‹ต ๋ฐ์ดํ„ฐ์˜ JSON ์ง๋ ฌํ™”/์—ญ์ง๋ ฌํ™”
  • + *
  • ํŠธ๋žœ์žญ์…˜ ID(tx_id) ์ƒ์„ฑ ๋ฐ ์ถ”์ 
  • + *
  • ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜ ๋ฐ HTTP ์—๋Ÿฌ ์ฒ˜๋ฆฌ
  • + *
  • ์ƒ์„ธํ•œ ๋กœ๊น…์„ ํ†ตํ•œ ๋””๋ฒ„๊น… ์ง€์›
  • + *
+ * + *

์•„ํ‚คํ…์ฒ˜ ํŒจํ„ด:

+ *
    + *
  • Adapter ํŒจํ„ด: ์™ธ๋ถ€ ์ •๋ถ€ ์‹œ์Šคํ…œ API๋ฅผ ๋‚ด๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋ณ€ํ™˜
  • + *
  • Template Method ํŒจํ„ด: callModel ๋ฉ”์„œ๋“œ๊ฐ€ ๊ณตํ†ต ํ๋ฆ„์„ ์ •์˜
  • + *
  • Dependency Injection: ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•œ ์˜์กด์„ฑ ์ฃผ์ž…
  • + *
+ * + *

๋ณด์•ˆ ํŠน์„ฑ:

+ *
    + *
  • GPKI ์•”ํ˜ธํ™”๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ (์„ ํƒ์  ํ™œ์„ฑํ™”)
  • + *
  • API ํ‚ค ๊ธฐ๋ฐ˜ ์ธ์ฆ
  • + *
  • ๊ธฐ๊ด€ ์‹๋ณ„ ์ •๋ณด(INFO_SYS_ID, REGION_CODE ๋“ฑ)๋ฅผ ํ—ค๋”์— ํฌํ•จ
  • + *
+ * + * @see RestTemplate + * @see GpkiService + * @see VmisProperties + */ +@Component +public class GovernmentApiClient { + + /** + * SLF4J ๋กœ๊ฑฐ ์ธ์Šคํ„ด์Šค + * + *

๋ชจ๋“  API ํ˜ธ์ถœ, ์—๋Ÿฌ, ์‘๋‹ต์— ๋Œ€ํ•œ ๋กœ๊ทธ๋ฅผ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. + * ๋กœ๊ทธ ๋ ˆ๋ฒจ๋ณ„ ์šฉ๋„:

+ *
    + *
  • INFO: ์ •์ƒ์ ์ธ API ํ˜ธ์ถœ ๋ฐ ์‘๋‹ต
  • + *
  • WARN: HTTP ์—๋Ÿฌ ์ฝ”๋“œ ๋ฐœ์ƒ ์‹œ
  • + *
  • ERROR: ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ (ํ˜„์žฌ RuntimeException์œผ๋กœ ๋ž˜ํ•‘)
  • + *
+ */ + private static final Logger log = LoggerFactory.getLogger(GovernmentApiClient.class); + + /** + * Spring RestTemplate + * + *

HTTP ํด๋ผ์ด์–ธํŠธ๋กœ์„œ ์‹ค์ œ ๋„คํŠธ์›Œํฌ ํ†ต์‹ ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. + * ์ด ๊ฐ์ฒด๋Š” Spring Bean์œผ๋กœ ์ฃผ์ž…๋˜๋ฉฐ, ์„ค์ •์— ๋”ฐ๋ผ ๋‹ค์Œ์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

+ *
    + *
  • Connection Timeout ์„ค์ •
  • + *
  • Read Timeout ์„ค์ •
  • + *
  • Connection Pool ๊ด€๋ฆฌ
  • + *
  • ๋ฉ”์‹œ์ง€ ์ปจ๋ฒ„ํ„ฐ (Jackson for JSON)
  • + *
  • ์ธํ„ฐ์…‰ํ„ฐ (๋กœ๊น…, ํ—ค๋” ์ถ”๊ฐ€ ๋“ฑ)
  • + *
+ */ + private final RestTemplate restTemplate; + + /** + * VMIS ์„ค์ • ์†์„ฑ + * + *

application.yml ๋˜๋Š” application.properties์—์„œ ๋กœ๋“œ๋œ ์„ค์ •๊ฐ’๋“ค์ž…๋‹ˆ๋‹ค. + * ํฌํ•จ๋˜๋Š” ์ฃผ์š” ์„ค์ •:

+ *
    + *
  • ์ •๋ถ€ API URL (ํ˜ธ์ŠคํŠธ, ํฌํŠธ, ๊ฒฝ๋กœ)
  • + *
  • API ํ‚ค ๋ฐ ์ธ์ฆ ์ •๋ณด
  • + *
  • ์‹œ์Šคํ…œ ์‹๋ณ„ ์ •๋ณด (INFO_SYS_ID, REGION_CODE ๋“ฑ)
  • + *
  • GPKI ์„ค์ • (์ธ์ฆ์„œ ์„œ๋ฒ„ ID ๋“ฑ)
  • + *
+ */ + private final VmisProperties props; + + /** + * GPKI(ํ–‰์ •์ „์ž์„œ๋ช…) ์„œ๋น„์Šค + * + *

์ •๋ถ€24 ๋“ฑ ๊ณต๊ณต๊ธฐ๊ด€ ๊ฐ„ ํ†ต์‹ ์— ์‚ฌ์šฉ๋˜๋Š” ์•”ํ˜ธํ™” ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. + * ์ฃผ์š” ๊ธฐ๋Šฅ:

+ *
    + *
  • ์š”์ฒญ ๋ฐ์ดํ„ฐ ์•”ํ˜ธํ™” (๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™”)
  • + *
  • ์‘๋‹ต ๋ฐ์ดํ„ฐ ๋ณตํ˜ธํ™” (๊ฐœ์ธํ‚ค ๋ณตํ˜ธํ™”)
  • + *
  • ์ „์ž์„œ๋ช… ์ƒ์„ฑ ๋ฐ ๊ฒ€์ฆ
  • + *
  • ์•”ํ˜ธํ™” ํ™œ์„ฑํ™” ์—ฌ๋ถ€ ํ™•์ธ
  • + *
+ * + *

์•”ํ˜ธํ™”๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ ํ‰๋ฌธ(Plain Text)์œผ๋กœ ํ†ต์‹ ํ•ฉ๋‹ˆ๋‹ค.

+ */ + private final GpkiService gpkiService; + + /** + * Jackson ObjectMapper + * + *

Java ๊ฐ์ฒด์™€ JSON ๋ฌธ์ž์—ด ๊ฐ„์˜ ๋ณ€ํ™˜์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. + * ์ฃผ์š” ์—ญํ• :

+ *
    + *
  • ์š”์ฒญ ๊ฐ์ฒด๋ฅผ JSON ๋ฌธ์ž์—ด๋กœ ์ง๋ ฌํ™” (Serialization)
  • + *
  • ์‘๋‹ต JSON์„ Java ๊ฐ์ฒด๋กœ ์—ญ์ง๋ ฌํ™” (Deserialization)
  • + *
  • ์ œ๋„ค๋ฆญ ํƒ€์ž… ์ฒ˜๋ฆฌ (TypeReference ์‚ฌ์šฉ)
  • + *
  • ๋‚ ์งœ/์‹œ๊ฐ„ ํฌ๋งท ๋ณ€ํ™˜
  • + *
  • null ๊ฐ’ ์ฒ˜๋ฆฌ
  • + *
+ * + *

Spring Boot๊ฐ€ ์ž๋™ ๊ตฌ์„ฑํ•œ ObjectMapper๋ฅผ ์ฃผ์ž…๋ฐ›์•„ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ + * ์ „์—ญ ์„ค์ •(๋‚ ์งœ ํฌ๋งท, ๋„ค์ด๋ฐ ์ „๋žต ๋“ฑ)์ด ์ผ๊ด€๋˜๊ฒŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

+ */ + private final ObjectMapper objectMapper; + + /** + * ์„œ๋น„์Šค ํƒ€์ž… ์—ด๊ฑฐํ˜• + * + *

์ •๋ถ€ API ์„œ๋น„์Šค์˜ ์ข…๋ฅ˜๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ์—ด๊ฑฐํ˜•์ž…๋‹ˆ๋‹ค. + * ๊ฐ ์„œ๋น„์Šค ํƒ€์ž…์€ ์„œ๋กœ ๋‹ค๋ฅธ ์—”๋“œํฌ์ธํŠธ์™€ API ํ‚ค๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

+ * + *

์„œ๋น„์Šค ํƒ€์ž…:

+ *
    + *
  • BASIC: ์ž๋™์ฐจ ๊ธฐ๋ณธ์‚ฌํ•ญ ์กฐํšŒ ์„œ๋น„์Šค + *
      + *
    • ์ฐจ๋Ÿ‰๋ฒˆํ˜ธ๋กœ ๊ธฐ๋ณธ ์ •๋ณด(์†Œ์œ ์ž, ์ฐจ์ข…, ์šฉ๋„ ๋“ฑ) ์กฐํšŒ
    • + *
    • ๋น„๊ต์  ๊ฐ„๋‹จํ•œ ์ •๋ณด ์ œ๊ณต
    • + *
    • ์‘๋‹ต ์†๋„๊ฐ€ ๋น ๋ฆ„
    • + *
    + *
  • + *
  • LEDGER: ์ž๋™์ฐจ ๋“ฑ๋ก์›๋ถ€(๊ฐ‘) ์กฐํšŒ ์„œ๋น„์Šค + *
      + *
    • ์ƒ์„ธํ•œ ๋“ฑ๋ก ์ •๋ณด ๋ฐ ๋ฒ•์  ๊ถŒ๋ฆฌ๊ด€๊ณ„ ์กฐํšŒ
    • + *
    • ์ €๋‹น๊ถŒ, ์••๋ฅ˜, ์†Œ์œ ๊ถŒ ์ด์ „ ์ด๋ ฅ ๋“ฑ ํฌํ•จ
    • + *
    • ๋ฏผ๊ฐ ์ •๋ณด๋ฅผ ํฌํ•จํ•˜์—ฌ ๊ถŒํ•œ ๊ฒ€์ฆ์ด ์—„๊ฒฉํ•จ
    • + *
    + *
  • + *
+ */ + public enum ServiceType { + /** + * Basic service type. + */ + BASIC, + /** + * Ledger service type. + */ + LEDGER } + + /** + * ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•œ ์˜์กด์„ฑ ์ฃผ์ž… + * + *

Spring์˜ ์ƒ์„ฑ์ž ์ฃผ์ž… ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•„์š”ํ•œ ๋ชจ๋“  ์˜์กด์„ฑ์„ ์ฃผ์ž…๋ฐ›์Šต๋‹ˆ๋‹ค. + * + * @param restTemplate HTTP ํ†ต์‹ ์„ ์œ„ํ•œ RestTemplate ๊ฐ์ฒด + * @param props VMIS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค์ • ์†์„ฑ + * @param gpkiService GPKI ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™” ์„œ๋น„์Šค + * @param objectMapper JSON ์ง๋ ฌํ™”/์—ญ์ง๋ ฌํ™”๋ฅผ ์œ„ํ•œ ObjectMapper + * @Component ์–ด๋…ธํ…Œ์ด์…˜๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜์–ด ์ž๋™์œผ๋กœ Spring Bean์œผ๋กœ ๋“ฑ๋ก๋ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑ์ž ์ฃผ์ž…์˜ ์žฅ์ :

  • ํ•„์ˆ˜ ์˜์กด์„ฑ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„ (์ปดํŒŒ์ผ ํƒ€์ž„์— ๊ฒ€์ฆ)
  • ๋ถˆ๋ณ€์„ฑ ๋ณด์žฅ (๋ชจ๋“  ํ•„๋“œ๊ฐ€ final๋กœ ์„ ์–ธ ๊ฐ€๋Šฅ)
  • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ์šฉ์ด (Mock ๊ฐ์ฒด ์ฃผ์ž… ๊ฐ„ํŽธ)
  • ์ˆœํ™˜ ์ฐธ์กฐ ๋ฐฉ์ง€ (์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹œ์ž‘ ์‹œ ๊ฐ์ง€)
+ */ + public GovernmentApiClient(RestTemplate restTemplate, VmisProperties props, GpkiService gpkiService, ObjectMapper objectMapper) { + this.restTemplate = restTemplate; + this.props = props; + this.gpkiService = gpkiService; + this.objectMapper = objectMapper; + } + + /** + * ์ •๋ถ€ API ํ˜ธ์ถœ (๋ฌธ์ž์—ด ๊ธฐ๋ฐ˜) + * + *

์ด ๋ฉ”์„œ๋“œ๋Š” JSON ๋ฌธ์ž์—ด์„ ์ง์ ‘ ๋ฐ›์•„ ์ •๋ถ€ API๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ์ €์ˆ˜์ค€(Low-level) ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. + * ํƒ€์ž… ์•ˆ์ „์„ฑ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ {@link #callModel} ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ถŒ์žฅ๋ฉ๋‹ˆ๋‹ค.

+ * + *

์ฒ˜๋ฆฌ ํ๋ฆ„:

+ *
    + *
  1. ์„ค์ • ๋กœ๋“œ: ์„œ๋น„์Šค ํƒ€์ž…์— ๋”ฐ๋ผ ์ ์ ˆํ•œ ์ •๋ถ€ API ์„ค์ •์„ ๊ฐ€์ ธ์˜ด
  2. + *
  3. URL ๊ตฌ์„ฑ: ํ˜ธ์ŠคํŠธ, ํฌํŠธ, ๊ฒฝ๋กœ๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ์™„์ „ํ•œ URL ์ƒ์„ฑ
  4. + *
  5. ํŠธ๋žœ์žญ์…˜ ID ์ƒ์„ฑ: ์š”์ฒญ ์ถ”์ ์„ ์œ„ํ•œ ๊ณ ์œ  ID ์ƒ์„ฑ (TxIdUtil ์‚ฌ์šฉ)
  6. + *
  7. ํ—ค๋” ๊ตฌ์„ฑ: ํ•„์ˆ˜ ํ—ค๋”(API ํ‚ค, ์‹œ์Šคํ…œ ์ •๋ณด, GPKI ์„ค์ • ๋“ฑ) ์ถ”๊ฐ€
  8. + *
  9. ์•”ํ˜ธํ™” ์ฒ˜๋ฆฌ: GPKI๊ฐ€ ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ ์š”์ฒญ ๋ฐ”๋””๋ฅผ ์•”ํ˜ธํ™”
  10. + *
  11. HTTP ์š”์ฒญ: RestTemplate์„ ์‚ฌ์šฉํ•˜์—ฌ POST ์š”์ฒญ ์ „์†ก
  12. + *
  13. ๋ณตํ˜ธํ™” ์ฒ˜๋ฆฌ: ์„ฑ๊ณต ์‘๋‹ต์ด๊ณ  GPKI๊ฐ€ ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ ์‘๋‹ต ๋ฐ”๋””๋ฅผ ๋ณตํ˜ธํ™”
  14. + *
  15. ์‘๋‹ต ๋ฐ˜ํ™˜: ์ตœ์ข… ์‘๋‹ต์„ ResponseEntity๋กœ ๋ฐ˜ํ™˜
  16. + *
+ * + *

์—๋Ÿฌ ์ฒ˜๋ฆฌ ์ „๋žต:

+ *
    + *
  • GPKI ์•”ํ˜ธํ™” ์‹คํŒจ: RuntimeException์œผ๋กœ ๋ž˜ํ•‘ํ•˜์—ฌ ์ฆ‰์‹œ ์ค‘๋‹จ
  • + *
  • HTTP ์—๋Ÿฌ (4xx, 5xx): ์—๋Ÿฌ ์‘๋‹ต์„ ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜ํ•˜์—ฌ ํ˜ธ์ถœ์ž๊ฐ€ ์ฒ˜๋ฆฌ
  • + *
  • GPKI ๋ณตํ˜ธํ™” ์‹คํŒจ: RuntimeException์œผ๋กœ ๋ž˜ํ•‘ํ•˜์—ฌ ์ฆ‰์‹œ ์ค‘๋‹จ
  • + *
+ * + *

๋กœ๊น…:

+ *
    + *
  • ์š”์ฒญ ๋กœ๊ทธ: URL, ํŠธ๋žœ์žญ์…˜ ID, GPKI ํ™œ์„ฑํ™” ์—ฌ๋ถ€, ๋ฐ”๋”” ๊ธธ์ด
  • + *
  • ์—๋Ÿฌ ๋กœ๊ทธ: HTTP ์ƒํƒœ ์ฝ”๋“œ, ์—๋Ÿฌ ์‘๋‹ต ๋ฐ”๋””
  • + *
+ * + * @param type ์„œ๋น„์Šค ํƒ€์ž… (BASIC ๋˜๋Š” LEDGER) + * @param jsonBody ์ „์†กํ•  JSON ๋ฌธ์ž์—ด (์•”ํ˜ธํ™” ์ „ ํ‰๋ฌธ) + * @return ResponseEntity<String> ์ •๋ถ€ API ์‘๋‹ต (๋ณตํ˜ธํ™” ์™„๋ฃŒ๋œ JSON ๋ฌธ์ž์—ด) + * @throws RuntimeException GPKI ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™” ์‹คํŒจ ์‹œ + */ + public ResponseEntity call(ServiceType type, String jsonBody) { + // 1. ์„œ๋น„์Šค ํƒ€์ž…์— ๋”ฐ๋ฅธ ์„ค์ • ๋กœ๋“œ + // props.getGov()๋Š” ์ •๋ถ€ API ๊ด€๋ จ ๋ชจ๋“  ์„ค์ •์„ ํฌํ•จํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ + VmisProperties.GovProps gov = props.getGov(); + + // ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ BASIC ๋˜๋Š” LEDGER ์„œ๋น„์Šค ์„ค์ • ์„ ํƒ + VmisProperties.GovProps.Service svc = (type == ServiceType.BASIC) + ? gov.getServices().getBasic() + : gov.getServices().getLedger(); + + // 2. ์™„์ „ํ•œ URL ๊ตฌ์„ฑ (์˜ˆ: https://api.gov.kr:8080/vmis/basic) + String url = gov.buildServiceUrl(svc.getPath()); + + // 3. ํŠธ๋žœ์žญ์…˜ ID ์ƒ์„ฑ (์š”์ฒญ ์ถ”์  ๋ฐ ๋””๋ฒ„๊น… ์šฉ๋„) + // ์ผ๋ฐ˜์ ์œผ๋กœ ํƒ€์ž„์Šคํƒฌํ”„ + UUID ์กฐํ•ฉ์œผ๋กœ ์ƒ์„ฑ๋จ + String txId = TxIdUtil.generate(); + + // 4. HTTP ํ—ค๋” ๊ตฌ์„ฑ + // API ํ‚ค, ์‹œ์Šคํ…œ ์ •๋ณด, GPKI ์„ค์ • ๋“ฑ ํ•„์ˆ˜ ํ—ค๋” ํฌํ•จ + HttpHeaders headers = buildHeaders(svc, txId); + + // 5. GPKI ์•”ํ˜ธํ™” ์ฒ˜๋ฆฌ + String bodyToSend = jsonBody; + if (gpkiService.isEnabled()) { + try { + // ํ‰๋ฌธ JSON์„ ์•”ํ˜ธํ™”๋œ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ + // ์•”ํ˜ธํ™” ๊ฒฐ๊ณผ๋Š” Base64 ์ธ์ฝ”๋”ฉ๋œ ๋ฌธ์ž์—ด + bodyToSend = gpkiService.encrypt(jsonBody); + } catch (Exception e) { + // ์•”ํ˜ธํ™” ์‹คํŒจ๋Š” ์น˜๋ช…์  ์˜ค๋ฅ˜์ด๋ฏ€๋กœ ์ฆ‰์‹œ ์˜ˆ์™ธ ๋ฐœ์ƒ + throw new RuntimeException("GPKI ์•”ํ˜ธํ™” ์‹คํŒจ", e); + } + } + + // 6. HTTP ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ (ํ—ค๋” + ๋ฐ”๋””) + HttpEntity request = new HttpEntity<>(bodyToSend, headers); + + // 7. ์š”์ฒญ ๋กœ๊ทธ ๊ธฐ๋ก + // ๋””๋ฒ„๊น…์„ ์œ„ํ•ด URL, ํŠธ๋žœ์žญ์…˜ ID, GPKI ํ™œ์„ฑํ™” ์—ฌ๋ถ€, ๋ฐ”๋”” ๊ธธ์ด ๋กœ๊น… + log.info("[GOV-REQ] url={}, tx_id={}, gpki={}, length={}", url, txId, gpkiService.isEnabled(), bodyToSend != null ? bodyToSend.length() : 0); + + try { + // 8. ์‹ค์ œ HTTP POST ์š”์ฒญ ์ „์†ก + // RestTemplate.exchange()๋Š” HTTP ๋ฉ”์„œ๋“œ, ํ—ค๋”, ๋ฐ”๋””๋ฅผ ๋ชจ๋‘ ์ง€์ • ๊ฐ€๋Šฅ + ResponseEntity response = restTemplate.exchange(url, HttpMethod.POST, request, String.class); + String respBody = response.getBody(); + + // 9. ์„ฑ๊ณต ์‘๋‹ต์ธ ๊ฒฝ์šฐ GPKI ๋ณตํ˜ธํ™” ์ฒ˜๋ฆฌ + if (gpkiService.isEnabled() && response.getStatusCode().is2xxSuccessful()) { + try { + // ์•”ํ˜ธํ™”๋œ ์‘๋‹ต์„ ํ‰๋ฌธ JSON์œผ๋กœ ๋ณตํ˜ธํ™” + String decrypted = gpkiService.decrypt(respBody); + // ๋ณตํ˜ธํ™”๋œ ๋ฐ”๋””๋กœ ์ƒˆ๋กœ์šด ResponseEntity ์ƒ์„ฑ + // ์›๋ณธ ์‘๋‹ต์˜ ์ƒํƒœ ์ฝ”๋“œ์™€ ํ—ค๋”๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€ + return ResponseEntity.status(response.getStatusCode()).headers(response.getHeaders()).body(decrypted); + } catch (Exception e) { + // ๋ณตํ˜ธํ™” ์‹คํŒจ๋Š” ์น˜๋ช…์  ์˜ค๋ฅ˜์ด๋ฏ€๋กœ ์ฆ‰์‹œ ์˜ˆ์™ธ ๋ฐœ์ƒ + throw new RuntimeException("GPKI ๋ณตํ˜ธํ™” ์‹คํŒจ", e); + } + } + // GPKI๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๊ฑฐ๋‚˜ ์—๋Ÿฌ ์‘๋‹ต์ธ ๊ฒฝ์šฐ ์›๋ณธ ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜ + return response; + } catch (HttpStatusCodeException ex) { + // 10. HTTP ์—๋Ÿฌ ์ฒ˜๋ฆฌ (4xx, 5xx ์ƒํƒœ ์ฝ”๋“œ) + // ๊ฒฝ๊ณ  ๋กœ๊ทธ ๊ธฐ๋ก (์—๋Ÿฌ๋Š” ์ •์ƒ์ ์ธ ๋น„์ฆˆ๋‹ˆ์Šค ํ๋ฆ„์ผ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ WARN ๋ ˆ๋ฒจ) + log.warn("[GOV-ERR] status={}, body={}", ex.getStatusCode(), ex.getResponseBodyAsString()); + + // ์—๋Ÿฌ ์‘๋‹ต์„ ResponseEntity๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ˜ํ™˜ + // ํ˜ธ์ถœ์ž๊ฐ€ ์ƒํƒœ ์ฝ”๋“œ์™€ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ + // ํ—ค๋”๊ฐ€ null์ธ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ ๋นˆ HttpHeaders ์‚ฌ์šฉ + return ResponseEntity.status(ex.getStatusCode()).headers(ex.getResponseHeaders() != null ? ex.getResponseHeaders() : new HttpHeaders()).body(ex.getResponseBodyAsString()); + } + } + + /** + * HTTP ํ—ค๋” ๊ตฌ์„ฑ + * + *

์ •๋ถ€ API ํ˜ธ์ถœ์— ํ•„์š”ํ•œ ๋ชจ๋“  HTTP ํ—ค๋”๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” private ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. + * ์ •๋ถ€ ์‹œ์Šคํ…œ์€ ์—„๊ฒฉํ•œ ํ—ค๋” ๊ฒ€์ฆ์„ ์ˆ˜ํ–‰ํ•˜๋ฏ€๋กœ ๋ชจ๋“  ํ•„์ˆ˜ ํ—ค๋”๊ฐ€ ์ •ํ™•ํžˆ ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

+ * + *

ํ—ค๋” ๊ตฌ์„ฑ ํ•ญ๋ชฉ:

+ * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + * + *
ํ—ค๋”๋ช…์„ค๋ช…์˜ˆ์‹œ๊ฐ’ํ•„์ˆ˜์—ฌ๋ถ€
Content-Type์š”์ฒญ ๋ฐ”๋””์˜ ๋ฏธ๋””์–ด ํƒ€์ž… ๋ฐ ๋ฌธ์ž ์ธ์ฝ”๋”ฉapplication/json; charset=UTF-8ํ•„์ˆ˜
Acceptํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ˆ˜์šฉ ๊ฐ€๋Šฅํ•œ ์‘๋‹ต ํ˜•์‹application/jsonํ•„์ˆ˜
gpki_ynGPKI ์•”ํ˜ธํ™” ์‚ฌ์šฉ ์—ฌ๋ถ€ (Y/N)Yํ•„์ˆ˜
tx_idํŠธ๋žœ์žญ์…˜ ๊ณ ์œ  ID (์š”์ฒญ ์ถ”์ ์šฉ)20250104123045_abc123ํ•„์ˆ˜
cert_server_id์ธ์ฆ์„œ ์„œ๋ฒ„ ์‹๋ณ„์žVMIS_SERVER_01ํ•„์ˆ˜
api_key์„œ๋น„์Šค๋ณ„ API ์ธ์ฆ ํ‚คabc123def456...ํ•„์ˆ˜
cvmis_apikeyCVMIS ์‹œ์Šคํ…œ API ํ‚คxyz789uvw012...ํ•„์ˆ˜
INFO_SYS_ID์ •๋ณด์‹œ์Šคํ…œ ์‹๋ณ„์žVMIS_SEOULํ•„์ˆ˜
REGION_CODE์ง€์—ญ ์ฝ”๋“œ (์‹œ๊ตฐ๊ตฌ ์ฝ”๋“œ)11010 (์„œ์šธ ์ข…๋กœ๊ตฌ)์„ ํƒ
DEPT_CODE๋ถ€์„œ ์ฝ”๋“œTRANS_001์„ ํƒ
+ * + *

๋ฌธ์ž ์ธ์ฝ”๋”ฉ:

+ *
    + *
  • Content-Type์— UTF-8 ์ธ์ฝ”๋”ฉ์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •
  • + *
  • ํ•œ๊ธ€ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ํ•„์ˆ˜
  • + *
  • ์ •๋ถ€ ์‹œ์Šคํ…œ์ด ๋‹ค์–‘ํ•œ ํด๋ผ์ด์–ธํŠธ์™€ ํ˜ธํ™˜๋˜๋„๋ก ํ‘œ์ค€ ์ธ์ฝ”๋”ฉ ์‚ฌ์šฉ
  • + *
+ * + *

๋ณด์•ˆ ๊ณ ๋ ค์‚ฌํ•ญ:

+ *
    + *
  • API ํ‚ค๋Š” ์„ค์ • ํŒŒ์ผ์—์„œ ์•ˆ์ „ํ•˜๊ฒŒ ๊ด€๋ฆฌ
  • + *
  • ๋กœ๊ทธ์— API ํ‚ค๊ฐ€ ๋…ธ์ถœ๋˜์ง€ ์•Š๋„๋ก ์ฃผ์˜
  • + *
  • ๊ฐ ์„œ๋น„์Šค(BASIC, LEDGER)๋งˆ๋‹ค ๋ณ„๋„์˜ API ํ‚ค ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • + *
+ * + * @param svc ์„œ๋น„์Šค ์„ค์ • ๊ฐ์ฒด (API ํ‚ค, ๊ฒฝ๋กœ ๋“ฑ ํฌํ•จ) + * @param txId ์ด๋ฒˆ ์š”์ฒญ์˜ ํŠธ๋žœ์žญ์…˜ ID + * @return HttpHeaders ๊ตฌ์„ฑ๋œ HTTP ํ—ค๋” ๊ฐ์ฒด + */ + private HttpHeaders buildHeaders(VmisProperties.GovProps.Service svc, String txId) { + // 1. ๋นˆ HttpHeaders ๊ฐ์ฒด ์ƒ์„ฑ + HttpHeaders headers = new HttpHeaders(); + + // 2. Content-Type ์„ค์ • + // UTF-8 ์ธ์ฝ”๋”ฉ์„ ๋ช…์‹œํ•˜์—ฌ ํ•œ๊ธ€ ๋ฐ์ดํ„ฐ๊ฐ€ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ „์†ก๋˜๋„๋ก ํ•จ + headers.setContentType(new MediaType("application", "json", StandardCharsets.UTF_8)); + + // 3. Accept ํ—ค๋” ์„ค์ • + // ์„œ๋ฒ„์—๊ฒŒ JSON ํ˜•์‹์˜ ์‘๋‹ต์„ ์š”์ฒญํ•จ + headers.setAccept(java.util.List.of(MediaType.APPLICATION_JSON)); + + // 4. GPKI ์•”ํ˜ธํ™” ์‚ฌ์šฉ ์—ฌ๋ถ€ + // ์ •๋ถ€ ์„œ๋ฒ„๊ฐ€ ์š”์ฒญ ๋ฐ”๋”” ๋ณตํ˜ธํ™” ์—ฌ๋ถ€๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ + headers.add("gpki_yn", gpkiService.isEnabled() ? "Y" : "N"); + + // 5. ํŠธ๋žœ์žญ์…˜ ID + // ์š”์ฒญ ์ถ”์ , ๋กœ๊ทธ ์—ฐ๊ด€, ๋ฌธ์ œ ํ•ด๊ฒฐ ์‹œ ์‚ฌ์šฉ + headers.add("tx_id", txId); + + // 6. ์ธ์ฆ์„œ ์„œ๋ฒ„ ID + // GPKI ์ธ์ฆ์„œ๋ฅผ ๋ฐœ๊ธ‰๋ฐ›์€ ์„œ๋ฒ„์˜ ์‹๋ณ„์ž + headers.add("cert_server_id", props.getGpki().getCertServerId()); + + // 7. API ์ธ์ฆ ํ‚ค + // ์„œ๋น„์Šค๋ณ„๋กœ ๋‹ค๋ฅธ API ํ‚ค ์‚ฌ์šฉ ๊ฐ€๋Šฅ (BASIC๊ณผ LEDGER ๊ฐ๊ฐ) + headers.add("api_key", svc.getApiKey()); + + // 8. CVMIS API ํ‚ค + // CVMIS(Car Vehicle Management Information System) ์ „์šฉ API ํ‚ค + headers.add("cvmis_apikey", svc.getCvmisApikey()); + + // 9. ์ •๋ณด์‹œ์Šคํ…œ ID + // ํ˜ธ์ถœํ•˜๋Š” ์‹œ์Šคํ…œ์„ ์‹๋ณ„ํ•˜๋Š” ํ•„์ˆ˜ ๊ฐ’ + headers.add("INFO_SYS_ID", props.getSystem().getInfoSysId()); + + // 10. ์ง€์—ญ ์ฝ”๋“œ (์„ ํƒ ์‚ฌํ•ญ) + // ์‹œ๊ตฐ๊ตฌ ์ฝ”๋“œ (์˜ˆ: 11010 = ์„œ์šธํŠน๋ณ„์‹œ ์ข…๋กœ๊ตฌ) + // null์ด ์•„๋‹Œ ๊ฒฝ์šฐ์—๋งŒ ํ—ค๋”์— ์ถ”๊ฐ€ + if (props.getSystem().getRegionCode() != null) headers.add("REGION_CODE", props.getSystem().getRegionCode()); + + // 11. ๋ถ€์„œ ์ฝ”๋“œ (์„ ํƒ ์‚ฌํ•ญ) + // ํ˜ธ์ถœํ•˜๋Š” ๋ถ€์„œ์˜ ์ฝ”๋“œ + // null์ด ์•„๋‹Œ ๊ฒฝ์šฐ์—๋งŒ ํ—ค๋”์— ์ถ”๊ฐ€ + if (props.getSystem().getDepartmentCode() != null) headers.add("DEPT_CODE", props.getSystem().getDepartmentCode()); + + // ๊ตฌ์„ฑ ์™„๋ฃŒ๋œ ํ—ค๋” ๋ฐ˜ํ™˜ + return headers; + } + + /** + * ์ž๋™์ฐจ ๊ธฐ๋ณธ์‚ฌํ•ญ ์กฐํšŒ API ํ˜ธ์ถœ + * + *

ํƒ€์ž… ์•ˆ์ „์„ฑ์ด ๋ณด์žฅ๋˜๋Š” ์ž๋™์ฐจ ๊ธฐ๋ณธ์‚ฌํ•ญ ์กฐํšŒ ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. + * ๋‚ด๋ถ€์ ์œผ๋กœ {@link #callModel}์„ ํ˜ธ์ถœํ•˜์—ฌ ์‹ค์ œ ํ†ต์‹ ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

+ * + *

ํŠน์ง•:

+ *
    + *
  • ์ œ๋„ค๋ฆญ ํƒ€์ž…์œผ๋กœ ์ปดํŒŒ์ผ ํƒ€์ž„ ํƒ€์ž… ์ฒดํฌ
  • + *
  • ์š”์ฒญ/์‘๋‹ต ๊ฐ์ฒด๊ฐ€ Envelope๋กœ ๊ฐ์‹ธ์ ธ ์žˆ์Œ
  • + *
  • Jackson TypeReference๋ฅผ ์‚ฌ์šฉํ•œ ์ œ๋„ค๋ฆญ ์—ญ์ง๋ ฌํ™”
  • + *
+ * + *

์‚ฌ์šฉ ์˜ˆ์‹œ:

+ *
+     * BasicRequest request = new BasicRequest();
+     * request.setVehicleNo("12๊ฐ€3456");
+     *
+     * Envelope<BasicRequest> envelope = new Envelope<>();
+     * envelope.setData(request);
+     *
+     * ResponseEntity<Envelope<BasicResponse>> response = govClient.callBasic(envelope);
+     * BasicResponse data = response.getBody().getData();
+     * 
+ * + * @param envelope ์ž๋™์ฐจ ๊ธฐ๋ณธ์‚ฌํ•ญ ์กฐํšŒ ์š”์ฒญ์„ ๋‹ด์€ Envelope + * @return ResponseEntity<Envelope<BasicResponse>> ์กฐํšŒ ๊ฒฐ๊ณผ๋ฅผ ๋‹ด์€ ์‘๋‹ต + */ + public ResponseEntity> callBasic(Envelope envelope) { + // TypeReference๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ œ๋„ค๋ฆญ ํƒ€์ž… ์ •๋ณด ์ „๋‹ฌ + // ์ต๋ช… ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํƒ€์ž… ์†Œ๊ฑฐ(Type Erasure) ๋ฌธ์ œ ํ•ด๊ฒฐ + return callModel(ServiceType.BASIC, envelope, new TypeReference>(){}); + } + + /** + * ์ž๋™์ฐจ ๋“ฑ๋ก์›๋ถ€(๊ฐ‘) ์กฐํšŒ API ํ˜ธ์ถœ + * + *

ํƒ€์ž… ์•ˆ์ „์„ฑ์ด ๋ณด์žฅ๋˜๋Š” ์ž๋™์ฐจ ๋“ฑ๋ก์›๋ถ€ ์กฐํšŒ ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. + * ๋‚ด๋ถ€์ ์œผ๋กœ {@link #callModel}์„ ํ˜ธ์ถœํ•˜์—ฌ ์‹ค์ œ ํ†ต์‹ ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

+ * + *

ํŠน์ง•:

+ *
    + *
  • ์ œ๋„ค๋ฆญ ํƒ€์ž…์œผ๋กœ ์ปดํŒŒ์ผ ํƒ€์ž„ ํƒ€์ž… ์ฒดํฌ
  • + *
  • ์š”์ฒญ/์‘๋‹ต ๊ฐ์ฒด๊ฐ€ Envelope๋กœ ๊ฐ์‹ธ์ ธ ์žˆ์Œ
  • + *
  • Jackson TypeReference๋ฅผ ์‚ฌ์šฉํ•œ ์ œ๋„ค๋ฆญ ์—ญ์ง๋ ฌํ™”
  • + *
+ * + *

์‚ฌ์šฉ ์˜ˆ์‹œ:

+ *
+     * LedgerRequest request = new LedgerRequest();
+     * request.setVehicleNo("12๊ฐ€3456");
+     * request.setOwnerName("ํ™๊ธธ๋™");
+     *
+     * Envelope<LedgerRequest> envelope = new Envelope<>();
+     * envelope.setData(request);
+     *
+     * ResponseEntity<Envelope<LedgerResponse>> response = govClient.callLedger(envelope);
+     * LedgerResponse data = response.getBody().getData();
+     * 
+ * + * @param envelope ์ž๋™์ฐจ ๋“ฑ๋ก์›๋ถ€ ์กฐํšŒ ์š”์ฒญ์„ ๋‹ด์€ Envelope + * @return ResponseEntity<Envelope<LedgerResponse>> ์กฐํšŒ ๊ฒฐ๊ณผ๋ฅผ ๋‹ด์€ ์‘๋‹ต + */ + public ResponseEntity> callLedger(Envelope envelope) { + // TypeReference๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ œ๋„ค๋ฆญ ํƒ€์ž… ์ •๋ณด ์ „๋‹ฌ + // ์ต๋ช… ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ํƒ€์ž… ์†Œ๊ฑฐ(Type Erasure) ๋ฌธ์ œ ํ•ด๊ฒฐ + return callModel(ServiceType.LEDGER, envelope, new TypeReference>(){}); + } + + /** + * ์ •๋ถ€ API ํ˜ธ์ถœ (ํƒ€์ž… ์•ˆ์ „ ๋ชจ๋ธ ๊ธฐ๋ฐ˜) + * + *

์ด ๋ฉ”์„œ๋“œ๋Š” ์ •๋ถ€ API ํ˜ธ์ถœ์˜ ํ•ต์‹ฌ ๋กœ์ง์„ ๋‹ด๊ณ  ์žˆ๋Š” ์ œ๋„ค๋ฆญ ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. + * Java ๊ฐ์ฒด๋ฅผ ๋ฐ›์•„ JSON์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ์•”ํ˜ธํ™”ํ•˜์—ฌ ์ „์†กํ•œ ํ›„, ์‘๋‹ต์„ ๋ณตํ˜ธํ™”ํ•˜์—ฌ + * ๋‹ค์‹œ Java ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ „์ฒด ํŒŒ์ดํ”„๋ผ์ธ์„ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

+ * + *

Template Method ํŒจํ„ด:

+ *
    + *
  • ์ด ๋ฉ”์„œ๋“œ๋Š” Template Method ํŒจํ„ด์˜ ํ…œํ”Œ๋ฆฟ ์—ญํ• 
  • + *
  • ๊ณตํ†ต ์ฒ˜๋ฆฌ ํ๋ฆ„์„ ์ •์˜ํ•˜๊ณ  ์„œ๋น„์Šค๋ณ„ ์ฐจ์ด๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ฒ˜๋ฆฌ
  • + *
  • ์ฝ”๋“œ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ณ  ์ผ๊ด€์„ฑ์„ ๋ณด์žฅ
  • + *
+ * + *

์ œ๋„ค๋ฆญ ํƒ€์ž… ํŒŒ๋ผ๋ฏธํ„ฐ:

+ *
    + *
  • <TReq>: ์š”์ฒญ ๋ฐ์ดํ„ฐ ํƒ€์ž… (BasicRequest ๋˜๋Š” LedgerRequest)
  • + *
  • <TResp>: ์‘๋‹ต ๋ฐ์ดํ„ฐ ํƒ€์ž… (BasicResponse ๋˜๋Š” LedgerResponse)
  • + *
  • ํƒ€์ž… ์•ˆ์ „์„ฑ์„ ๋ณด์žฅํ•˜์—ฌ ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ ๋ฐฉ์ง€
  • + *
+ * + *

์ฒ˜๋ฆฌ ํ๋ฆ„ (์ƒ์„ธ):

+ *
    + *
  1. ์„ค์ • ๋กœ๋“œ: + *
    • ์„œ๋น„์Šค ํƒ€์ž…์— ๋”ฐ๋ผ BASIC ๋˜๋Š” LEDGER ์„ค์ • ์„ ํƒ
    + *
  2. + *
  3. URL ๋ฐ ํŠธ๋žœ์žญ์…˜ ID ๊ตฌ์„ฑ: + *
    • ์™„์ „ํ•œ API URL ์ƒ์„ฑ
    • + *
    • ๊ณ ์œ  ํŠธ๋žœ์žญ์…˜ ID ์ƒ์„ฑ
    + *
  4. + *
  5. ์ง๋ ฌํ™” (Serialization): + *
    • Java ๊ฐ์ฒด(Envelope<TReq>)๋ฅผ JSON ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜
    • + *
    • ObjectMapper.writeValueAsString() ์‚ฌ์šฉ
    + *
  6. + *
  7. ํ—ค๋” ๊ตฌ์„ฑ: + *
    • buildHeaders() ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ
    • + *
    • ๋ชจ๋“  ํ•„์ˆ˜ ํ—ค๋” ์ถ”๊ฐ€
    + *
  8. + *
  9. GPKI ์•”ํ˜ธํ™” (์„ ํƒ์ ): + *
    • GPKI๊ฐ€ ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ JSON์„ ์•”ํ˜ธํ™”
    • + *
    • gpkiEncrypt() ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ
    + *
  10. + *
  11. HTTP ์š”์ฒญ ์ „์†ก: + *
    • RestTemplate.exchange()๋กœ POST ์š”์ฒญ
    • + *
    • ์š”์ฒญ ๋กœ๊ทธ ๊ธฐ๋ก
    + *
  12. + *
  13. GPKI ๋ณตํ˜ธํ™” (์„ ํƒ์ ): + *
    • ์„ฑ๊ณต ์‘๋‹ต(2xx)์ด๊ณ  GPKI๊ฐ€ ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ
    • + *
    • gpkiDecrypt() ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ
    + *
  14. + *
  15. ์—ญ์ง๋ ฌํ™” (Deserialization): + *
    • JSON ๋ฌธ์ž์—ด์„ Java ๊ฐ์ฒด(Envelope<TResp>)๋กœ ๋ณ€ํ™˜
    • + *
    • TypeReference๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ œ๋„ค๋ฆญ ํƒ€์ž… ์ •๋ณด ๋ณด์กด
    + *
  16. + *
  17. ์‘๋‹ต ๋ฐ˜ํ™˜: + *
    • ResponseEntity๋กœ ๊ฐ์‹ธ์„œ HTTP ์ •๋ณด ํฌํ•จ
    + *
  18. + *
+ * + *

์—๋Ÿฌ ์ฒ˜๋ฆฌ ์ „๋žต (3๋‹จ๊ณ„):

+ *
    + *
  1. HttpStatusCodeException (HTTP ์—๋Ÿฌ): + *
      + *
    • ์ •๋ถ€ API๊ฐ€ 4xx ๋˜๋Š” 5xx ์ƒํƒœ ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ ๊ฒฝ์šฐ
    • + *
    • ์—๋Ÿฌ ์‘๋‹ต ๋ฐ”๋””๋ฅผ ํŒŒ์‹ฑํ•˜์—ฌ Envelope ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜ ์‹œ๋„
    • + *
    • ํŒŒ์‹ฑ ์‹คํŒจ ์‹œ ๋นˆ Envelope ๊ฐ์ฒด ๋ฐ˜ํ™˜
    • + *
    • ์—๋Ÿฌ ๋กœ๊ทธ ๊ธฐ๋ก (WARN ๋ ˆ๋ฒจ)
    • + *
    + *
  2. + *
  3. JSON ํŒŒ์‹ฑ ์—๋Ÿฌ: + *
      + *
    • ์‘๋‹ต JSON์ด ์˜ˆ์ƒํ•œ ํ˜•์‹๊ณผ ๋‹ค๋ฅธ ๊ฒฝ์šฐ
    • + *
    • RuntimeException์œผ๋กœ ๋ž˜ํ•‘ํ•˜์—ฌ ์ƒ์œ„๋กœ ์ „ํŒŒ
    • + *
    + *
  4. + *
  5. ๊ธฐํƒ€ ์˜ˆ์™ธ: + *
      + *
    • ๋„คํŠธ์›Œํฌ ํƒ€์ž„์•„์›ƒ, ์—ฐ๊ฒฐ ์‹คํŒจ ๋“ฑ
    • + *
    • RuntimeException์œผ๋กœ ๋ž˜ํ•‘ํ•˜์—ฌ ์ƒ์œ„๋กœ ์ „ํŒŒ
    • + *
    + *
  6. + *
+ * + *

TypeReference์˜ ํ•„์š”์„ฑ:

+ *

Java์˜ ์ œ๋„ค๋ฆญ์€ ๋Ÿฐํƒ€์ž„์— ํƒ€์ž… ์†Œ๊ฑฐ(Type Erasure)๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ + * {@code objectMapper.readValue(json, Envelope.class)}์™€ ๊ฐ™์€ ์ฝ”๋“œ๋Š” + * ์ปดํŒŒ์ผ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. TypeReference๋Š” ์ต๋ช… ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปดํŒŒ์ผ ํƒ€์ž„์˜ + * ์ œ๋„ค๋ฆญ ํƒ€์ž… ์ •๋ณด๋ฅผ ๋Ÿฐํƒ€์ž„์— ์ „๋‹ฌํ•˜๋Š” Jackson์˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ž…๋‹ˆ๋‹ค.

+ * + *

๋กœ๊น… ์ •๋ณด:

+ *
    + *
  • ์š”์ฒญ ๋กœ๊ทธ: [GOV-REQ] url, tx_id, gpki, length
  • + *
  • ์—๋Ÿฌ ๋กœ๊ทธ: [GOV-ERR] status, body
  • + *
+ * + * @param ์š”์ฒญ ๋ฐ์ดํ„ฐ์˜ ์ œ๋„ค๋ฆญ ํƒ€์ž… + * @param ์‘๋‹ต ๋ฐ์ดํ„ฐ์˜ ์ œ๋„ค๋ฆญ ํƒ€์ž… + * @param type ์„œ๋น„์Šค ํƒ€์ž… (BASIC ๋˜๋Š” LEDGER) + * @param envelope ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์€ Envelope ๊ฐ์ฒด + * @param respType ์‘๋‹ต ํƒ€์ž…์— ๋Œ€ํ•œ TypeReference (์ œ๋„ค๋ฆญ ํƒ€์ž… ์ •๋ณด ๋ณด์กด์šฉ) + * @return ResponseEntity<Envelope<TResp>> ์‘๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ด์€ ResponseEntity + * @throws RuntimeException JSON ์ง๋ ฌํ™”/์—ญ์ง๋ ฌํ™” ์‹คํŒจ, ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜, GPKI ์•”๋ณตํ˜ธํ™” ์‹คํŒจ ๋“ฑ + */ + private ResponseEntity> callModel(ServiceType type, + Envelope envelope, + TypeReference> respType) { + // 1. ์„œ๋น„์Šค ํƒ€์ž…์— ๋”ฐ๋ฅธ ์„ค์ • ๋กœ๋“œ + VmisProperties.GovProps gov = props.getGov(); + VmisProperties.GovProps.Service svc = (type == ServiceType.BASIC) + ? gov.getServices().getBasic() + : gov.getServices().getLedger(); + + // 2. URL ๋ฐ ํŠธ๋žœ์žญ์…˜ ID ์ƒ์„ฑ + String url = gov.buildServiceUrl(svc.getPath()); + String txId = TxIdUtil.generate(); + + try { + // 3. ์ง๋ ฌํ™”: Java ๊ฐ์ฒด โ†’ JSON ๋ฌธ์ž์—ด + // ObjectMapper๊ฐ€ Envelope ๊ฐ์ฒด๋ฅผ JSON์œผ๋กœ ๋ณ€ํ™˜ + // ๋‚ ์งœ, null ๊ฐ’ ๋“ฑ์˜ ์ฒ˜๋ฆฌ๋Š” ObjectMapper ์„ค์ •์— ๋”ฐ๋ฆ„ + String jsonBody = objectMapper.writeValueAsString(envelope); + + // 4. HTTP ํ—ค๋” ๊ตฌ์„ฑ + HttpHeaders headers = buildHeaders(svc, txId); + + // 5. GPKI ์•”ํ˜ธํ™” ์ฒ˜๋ฆฌ + String bodyToSend = jsonBody; + if (gpkiService.isEnabled()) { + // JSON ํ‰๋ฌธ์„ ์•”ํ˜ธํ™”๋œ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ + bodyToSend = gpkiEncrypt(jsonBody); + } + + // 6. HTTP ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ (ํ—ค๋” + ๋ฐ”๋””) + HttpEntity request = new HttpEntity<>(bodyToSend, headers); + + // 7. ์š”์ฒญ ๋กœ๊ทธ ๊ธฐ๋ก + log.info("[GOV-REQ] url={}, tx_id={}, gpki={}, length={}", url, txId, gpkiService.isEnabled(), bodyToSend != null ? bodyToSend.length() : 0); + + // 8. ์‹ค์ œ HTTP POST ์š”์ฒญ ์ „์†ก + ResponseEntity response = restTemplate.exchange(url, HttpMethod.POST, request, String.class); + String respBody = response.getBody(); + + // 9. GPKI ๋ณตํ˜ธํ™” ์ฒ˜๋ฆฌ (์„ฑ๊ณต ์‘๋‹ต์ธ ๊ฒฝ์šฐ๋งŒ) + if (gpkiService.isEnabled() && response.getStatusCode().is2xxSuccessful()) { + // ์•”ํ˜ธํ™”๋œ ์‘๋‹ต์„ ํ‰๋ฌธ JSON์œผ๋กœ ๋ณตํ˜ธํ™” + respBody = gpkiDecrypt(respBody); + } + + // 10. ์—ญ์ง๋ ฌํ™”: JSON ๋ฌธ์ž์—ด โ†’ Java ๊ฐ์ฒด + // TypeReference๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ œ๋„ค๋ฆญ ํƒ€์ž… ์ •๋ณด ์ „๋‹ฌ + Envelope mapped = objectMapper.readValue(respBody, respType); + + // 11. ์‘๋‹ต ๋ฐ˜ํ™˜ (์ƒํƒœ ์ฝ”๋“œ, ํ—ค๋”, ๋ฐ”๋”” ๋ชจ๋‘ ํฌํ•จ) + return ResponseEntity.status(response.getStatusCode()).headers(response.getHeaders()).body(mapped); + + } catch (HttpStatusCodeException ex) { + // HTTP ์—๋Ÿฌ ์ฒ˜๋ฆฌ (4xx, 5xx) + log.warn("[GOV-ERR] status={}, body={}", ex.getStatusCode(), ex.getResponseBodyAsString()); + + // ์—๋Ÿฌ ์‘๋‹ต ๋ฐ”๋”” ํŒŒ์‹ฑ ์‹œ๋„ + // ์ •๋ถ€ API๋Š” ์—๋Ÿฌ ์‘๋‹ต๋„ Envelope ํ˜•์‹์œผ๋กœ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Œ + Envelope empty = new Envelope<>(); + try { + // ์—๋Ÿฌ ์‘๋‹ต์„ Envelope ๊ฐ์ฒด๋กœ ํŒŒ์‹ฑ + Envelope parsed = objectMapper.readValue(ex.getResponseBodyAsString(), respType); + return ResponseEntity.status(ex.getStatusCode()).headers(ex.getResponseHeaders() != null ? ex.getResponseHeaders() : new HttpHeaders()).body(parsed); + } catch (Exception parseEx) { + // ํŒŒ์‹ฑ ์‹คํŒจ ์‹œ ๋นˆ Envelope ๋ฐ˜ํ™˜ + // ํ˜ธ์ถœ์ž๋Š” HTTP ์ƒํƒœ ์ฝ”๋“œ๋กœ ์—๋Ÿฌ ํŒ๋‹จ ๊ฐ€๋Šฅ + return ResponseEntity.status(ex.getStatusCode()).headers(ex.getResponseHeaders() != null ? ex.getResponseHeaders() : new HttpHeaders()).body(empty); + } + } catch (Exception e) { + // ๊ธฐํƒ€ ๋ชจ๋“  ์˜ˆ์™ธ (๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜, JSON ํŒŒ์‹ฑ ์˜ค๋ฅ˜, GPKI ์˜ค๋ฅ˜ ๋“ฑ) + // RuntimeException์œผ๋กœ ๋ž˜ํ•‘ํ•˜์—ฌ ์ƒ์œ„๋กœ ์ „ํŒŒ + // Spring์˜ @ExceptionHandler์—์„œ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ + throw new RuntimeException("์ •๋ถ€ API ํ˜ธ์ถœ ์ค‘ ์˜ค๋ฅ˜", e); + } + } + + /** + * GPKI ์•”ํ˜ธํ™” ์ฒ˜๋ฆฌ + * + *

ํ‰๋ฌธ JSON ๋ฌธ์ž์—ด์„ GPKI(ํ–‰์ •์ „์ž์„œ๋ช…) ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์•”ํ˜ธํ™”ํ•˜๋Š” ํ—ฌํผ ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. + * ์•”ํ˜ธํ™” ์‹คํŒจ ์‹œ ๋ช…ํ™•ํ•œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ RuntimeException์„ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

+ * + *

์•”ํ˜ธํ™” ๊ณผ์ •:

+ *
    + *
  1. ํ‰๋ฌธ JSON ๋ฌธ์ž์—ด์„ ๋ฐ”์ดํŠธ ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜
  2. + *
  3. ์ •๋ถ€ ์‹œ์Šคํ…œ์˜ ๊ณต๊ฐœํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์•”ํ˜ธํ™”
  4. + *
  5. ์•”ํ˜ธํ™”๋œ ๋ฐ”์ดํŠธ ๋ฐฐ์—ด์„ Base64๋กœ ์ธ์ฝ”๋”ฉ
  6. + *
  7. Base64 ๋ฌธ์ž์—ด ๋ฐ˜ํ™˜
  8. + *
+ * + *

์—๋Ÿฌ ์ฒ˜๋ฆฌ:

+ *
    + *
  • ์ธ์ฆ์„œ ์˜ค๋ฅ˜: GPKI ์ธ์ฆ์„œ๊ฐ€ ์œ ํšจํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋งŒ๋ฃŒ๋œ ๊ฒฝ์šฐ
  • + *
  • ์•”ํ˜ธํ™” ์˜ค๋ฅ˜: ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‹คํ–‰ ์ค‘ ์˜ค๋ฅ˜ ๋ฐœ์ƒ
  • + *
  • ์ธ์ฝ”๋”ฉ ์˜ค๋ฅ˜: Base64 ์ธ์ฝ”๋”ฉ ์‹คํŒจ
  • + *
  • ๋ชจ๋“  ์˜ˆ์™ธ๋Š” RuntimeException์œผ๋กœ ๋ž˜ํ•‘ํ•˜์—ฌ ์ฆ‰์‹œ ์ค‘๋‹จ
  • + *
+ * + *

๋ณด์•ˆ ๊ณ ๋ ค์‚ฌํ•ญ:

+ *
    + *
  • ๊ณต๊ฐœํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹ ์‚ฌ์šฉ (๋น„๋Œ€์นญํ‚ค)
  • + *
  • ์ •๋ถ€ ์‹œ์Šคํ…œ๋งŒ ๊ฐœ์ธํ‚ค๋กœ ๋ณตํ˜ธํ™” ๊ฐ€๋Šฅ
  • + *
  • ๋ฏผ๊ฐํ•œ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ
  • + *
+ * + * @param jsonBody ์•”ํ˜ธํ™”ํ•  ํ‰๋ฌธ JSON ๋ฌธ์ž์—ด + * @return String Base64๋กœ ์ธ์ฝ”๋”ฉ๋œ ์•”ํ˜ธํ™” ๋ฌธ์ž์—ด + * @throws RuntimeException GPKI ์•”ํ˜ธํ™” ์‹คํŒจ ์‹œ + */ + private String gpkiEncrypt(String jsonBody) { + try { + // GpkiService์— ์•”ํ˜ธํ™” ์œ„์ž„ + // ์‹ค์ œ ์•”ํ˜ธํ™” ๋กœ์ง์€ GpkiService๊ฐ€ ์บก์Аํ™” + return gpkiService.encrypt(jsonBody); + } catch (Exception e) { + // ์•”ํ˜ธํ™” ์‹คํŒจ๋Š” ์น˜๋ช…์  ์˜ค๋ฅ˜ + // ํ‰๋ฌธ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ฆ‰์‹œ ์ค‘๋‹จ + throw new RuntimeException("GPKI ์•”ํ˜ธํ™” ์‹คํŒจ", e); + } + } + + /** + * GPKI ๋ณตํ˜ธํ™” ์ฒ˜๋ฆฌ + * + *

์•”ํ˜ธํ™”๋œ ์‘๋‹ต ๋ฌธ์ž์—ด์„ GPKI(ํ–‰์ •์ „์ž์„œ๋ช…) ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ๋ณตํ˜ธํ™”ํ•˜๋Š” ํ—ฌํผ ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. + * ๋ณตํ˜ธํ™” ์‹คํŒจ ์‹œ ๋ช…ํ™•ํ•œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€์™€ ํ•จ๊ป˜ RuntimeException์„ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

+ * + *

๋ณตํ˜ธํ™” ๊ณผ์ •:

+ *
    + *
  1. Base64๋กœ ์ธ์ฝ”๋”ฉ๋œ ์•”ํ˜ธ๋ฌธ์„ ๋ฐ”์ดํŠธ ๋ฐฐ์—ด๋กœ ๋””์ฝ”๋”ฉ
  2. + *
  3. ์šฐ๋ฆฌ ์‹œ์Šคํ…œ์˜ ๊ฐœ์ธํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณตํ˜ธํ™”
  4. + *
  5. ๋ณตํ˜ธํ™”๋œ ๋ฐ”์ดํŠธ ๋ฐฐ์—ด์„ UTF-8 ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜
  6. + *
  7. ํ‰๋ฌธ JSON ๋ฌธ์ž์—ด ๋ฐ˜ํ™˜
  8. + *
+ * + *

์—๋Ÿฌ ์ฒ˜๋ฆฌ:

+ *
    + *
  • ์ธ์ฆ์„œ ์˜ค๋ฅ˜: GPKI ์ธ์ฆ์„œ๊ฐ€ ์œ ํšจํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ๋งŒ๋ฃŒ๋œ ๊ฒฝ์šฐ
  • + *
  • ๋ณตํ˜ธํ™” ์˜ค๋ฅ˜: ์•”ํ˜ธ๋ฌธ์ด ์†์ƒ๋˜์—ˆ๊ฑฐ๋‚˜ ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ๊ฒฝ์šฐ
  • + *
  • ๋””์ฝ”๋”ฉ ์˜ค๋ฅ˜: Base64 ๋””์ฝ”๋”ฉ ์‹คํŒจ
  • + *
  • ๋ฌธ์ž ์ธ์ฝ”๋”ฉ ์˜ค๋ฅ˜: UTF-8 ๋ณ€ํ™˜ ์‹คํŒจ
  • + *
  • ๋ชจ๋“  ์˜ˆ์™ธ๋Š” RuntimeException์œผ๋กœ ๋ž˜ํ•‘ํ•˜์—ฌ ์ฆ‰์‹œ ์ค‘๋‹จ
  • + *
+ * + *

๋ณด์•ˆ ๊ณ ๋ ค์‚ฌํ•ญ:

+ *
    + *
  • ๊ฐœ์ธํ‚ค ์•”ํ˜ธํ™” ๋ฐฉ์‹ ์‚ฌ์šฉ (๋น„๋Œ€์นญํ‚ค)
  • + *
  • ๊ฐœ์ธํ‚ค๋Š” ์•ˆ์ „ํ•˜๊ฒŒ ์ €์žฅ ๋ฐ ๊ด€๋ฆฌ ํ•„์š”
  • + *
  • ๋ณตํ˜ธํ™” ์‹คํŒจ ์‹œ ์ƒ์„ธ ์—๋Ÿฌ ์ •๋ณด ๋กœ๊น… ์ฃผ์˜ (์ •๋ณด ์œ ์ถœ ๋ฐฉ์ง€)
  • + *
+ * + * @param cipher Base64๋กœ ์ธ์ฝ”๋”ฉ๋œ ์•”ํ˜ธํ™” ๋ฌธ์ž์—ด + * @return String ๋ณตํ˜ธํ™”๋œ ํ‰๋ฌธ JSON ๋ฌธ์ž์—ด + * @throws RuntimeException GPKI ๋ณตํ˜ธํ™” ์‹คํŒจ ์‹œ + */ + private String gpkiDecrypt(String cipher) { + try { + // GpkiService์— ๋ณตํ˜ธํ™” ์œ„์ž„ + // ์‹ค์ œ ๋ณตํ˜ธํ™” ๋กœ์ง์€ GpkiService๊ฐ€ ์บก์Аํ™” + return gpkiService.decrypt(cipher); + } catch (Exception e) { + // ๋ณตํ˜ธํ™” ์‹คํŒจ๋Š” ์น˜๋ช…์  ์˜ค๋ฅ˜ + // ์•”ํ˜ธ๋ฌธ์„ ํ•ด์„ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ฆ‰์‹œ ์ค‘๋‹จ + throw new RuntimeException("GPKI ๋ณตํ˜ธํ™” ์‹คํŒจ", e); + } + } +} diff --git a/src/main/java/com/vmis/interfaceapp/config/GpkiConfig.java b/src/main/java/com/vmis/interfaceapp/config/GpkiConfig.java new file mode 100644 index 0000000..97af523 --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/config/GpkiConfig.java @@ -0,0 +1,20 @@ +package com.vmis.interfaceapp.config; + +import com.vmis.interfaceapp.config.properties.VmisProperties; +import com.vmis.interfaceapp.gpki.GpkiService; +import com.vmis.interfaceapp.gpki.NoopGpkiService; +import com.vmis.interfaceapp.gpki.RealGpkiService; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class GpkiConfig { + + @Bean + public GpkiService gpkiService(VmisProperties properties) { + if (properties.getGpki().isEnabledFlag()) { + return new RealGpkiService(properties); + } + return new NoopGpkiService(); + } +} diff --git a/src/main/java/com/vmis/interfaceapp/config/HttpClientConfig.java b/src/main/java/com/vmis/interfaceapp/config/HttpClientConfig.java new file mode 100644 index 0000000..5d24686 --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/config/HttpClientConfig.java @@ -0,0 +1,46 @@ +package com.vmis.interfaceapp.config; + +import com.vmis.interfaceapp.config.properties.VmisProperties; +import org.apache.hc.client5.http.config.RequestConfig; +import org.apache.hc.client5.http.impl.classic.CloseableHttpClient; +import org.apache.hc.client5.http.impl.classic.HttpClientBuilder; +import org.apache.hc.client5.http.impl.io.PoolingHttpClientConnectionManager; +import org.springframework.boot.web.client.RestTemplateBuilder; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.client.HttpComponentsClientHttpRequestFactory; +import org.springframework.web.client.RestTemplate; + +import java.time.Duration; + +@Configuration +public class HttpClientConfig { + + @Bean + public RestTemplate restTemplate(VmisProperties props, RestTemplateBuilder builder) { + VmisProperties.GovProps gov = props.getGov(); + int connectTimeout = gov.getConnectTimeoutMillis(); + int readTimeout = gov.getReadTimeoutMillis(); + + RequestConfig requestConfig = RequestConfig.custom() + .setConnectTimeout(connectTimeout, java.util.concurrent.TimeUnit.MILLISECONDS) + .setResponseTimeout(readTimeout, java.util.concurrent.TimeUnit.MILLISECONDS) + .build(); + + PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); + cm.setMaxTotal(100); + cm.setDefaultMaxPerRoute(20); + + CloseableHttpClient httpClient = HttpClientBuilder.create() + .setDefaultRequestConfig(requestConfig) + .setConnectionManager(cm) + .build(); + + HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient); + return builder + .requestFactory(() -> requestFactory) + .setConnectTimeout(Duration.ofMillis(connectTimeout)) + .setReadTimeout(Duration.ofMillis(readTimeout)) + .build(); + } +} diff --git a/src/main/java/com/vmis/interfaceapp/config/OpenApiConfig.java b/src/main/java/com/vmis/interfaceapp/config/OpenApiConfig.java new file mode 100644 index 0000000..43fd1c3 --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/config/OpenApiConfig.java @@ -0,0 +1,27 @@ +package com.vmis.interfaceapp.config; + +import io.swagger.v3.oas.models.ExternalDocumentation; +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Contact; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.info.License; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class OpenApiConfig { + + @Bean + public OpenAPI vmisOpenAPI() { + return new OpenAPI() + .info(new Info() + .title("VMIS Interface API") + .description("์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ ์ •๋ณด ์ธํ„ฐํŽ˜์ด์Šค API (์ž๋ง์—ฐ๊ณ„)") + .version("v0.1.0") + .contact(new Contact().name("VMIS").email("support@example.com")) + .license(new License().name("Apache 2.0").url("https://www.apache.org/licenses/LICENSE-2.0.html"))) + .externalDocs(new ExternalDocumentation() + .description("Reference") + .url("")); + } +} diff --git a/src/main/java/com/vmis/interfaceapp/config/PropertiesConfig.java b/src/main/java/com/vmis/interfaceapp/config/PropertiesConfig.java new file mode 100644 index 0000000..c681595 --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/config/PropertiesConfig.java @@ -0,0 +1,10 @@ +package com.vmis.interfaceapp.config; + +import com.vmis.interfaceapp.config.properties.VmisProperties; +import org.springframework.boot.context.properties.EnableConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +@Configuration +@EnableConfigurationProperties(VmisProperties.class) +public class PropertiesConfig { +} diff --git a/src/main/java/com/vmis/interfaceapp/config/properties/VmisProperties.java b/src/main/java/com/vmis/interfaceapp/config/properties/VmisProperties.java new file mode 100644 index 0000000..3042d2c --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/config/properties/VmisProperties.java @@ -0,0 +1,180 @@ +package com.vmis.interfaceapp.config.properties; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.validation.annotation.Validated; + +@ConfigurationProperties(prefix = "vmis") +@Validated +public class VmisProperties { + + @NotNull + private SystemProps system = new SystemProps(); + @NotNull + private GpkiProps gpki = new GpkiProps(); + @NotNull + private GovProps gov = new GovProps(); + + public SystemProps getSystem() { return system; } + public void setSystem(SystemProps system) { this.system = system; } + public GpkiProps getGpki() { return gpki; } + public void setGpki(GpkiProps gpki) { this.gpki = gpki; } + public GovProps getGov() { return gov; } + public void setGov(GovProps gov) { this.gov = gov; } + + public static class SystemProps { + @NotBlank + private String infoSysId; + /** INFO_SYS_IP */ + private String infoSysIp; + /** ์‹œ๊ตฐ๊ตฌ์ฝ”๋“œ (SIGUNGU_CODE) */ + private String regionCode; + private String departmentCode; + // ๋‹ด๋‹น์ž ์ •๋ณด + private String chargerId; + private String chargerIp; + private String chargerNm; + + public String getInfoSysId() { return infoSysId; } + public void setInfoSysId(String infoSysId) { this.infoSysId = infoSysId; } + public String getInfoSysIp() { return infoSysIp; } + public void setInfoSysIp(String infoSysIp) { this.infoSysIp = infoSysIp; } + public String getRegionCode() { return regionCode; } + public void setRegionCode(String regionCode) { this.regionCode = regionCode; } + public String getDepartmentCode() { return departmentCode; } + public void setDepartmentCode(String departmentCode) { this.departmentCode = departmentCode; } + public String getChargerId() { return chargerId; } + public void setChargerId(String chargerId) { this.chargerId = chargerId; } + public String getChargerIp() { return chargerIp; } + public void setChargerIp(String chargerIp) { this.chargerIp = chargerIp; } + public String getChargerNm() { return chargerNm; } + public void setChargerNm(String chargerNm) { this.chargerNm = chargerNm; } + } + + public static class GpkiProps { + /** "Y" ๋˜๋Š” "N" */ + @NotBlank + private String enabled = "N"; + private boolean useSign = true; + @NotBlank + private String charset = "UTF-8"; + @NotBlank + private String certServerId; + @NotBlank + private String targetServerId; + // Optional advanced config for native GPKI util + private Boolean ldap; // null -> util default + private String gpkiLicPath; // e.g., C:/gpki2/gpkisecureweb/conf + private String certFilePath; // directory for target cert files when LDAP=false + private String envCertFilePathName; // ..._env.cer + private String envPrivateKeyFilePathName; // ..._env.key + private String envPrivateKeyPasswd; + private String sigCertFilePathName; // ..._sig.cer + private String sigPrivateKeyFilePathName; // ..._sig.key + private String sigPrivateKeyPasswd; + + public String getEnabled() { return enabled; } + public void setEnabled(String enabled) { this.enabled = enabled; } + public boolean isUseSign() { return useSign; } + public void setUseSign(boolean useSign) { this.useSign = useSign; } + public String getCharset() { return charset; } + public void setCharset(String charset) { this.charset = charset; } + public String getCertServerId() { return certServerId; } + public void setCertServerId(String certServerId) { this.certServerId = certServerId; } + public String getTargetServerId() { return targetServerId; } + public void setTargetServerId(String targetServerId) { this.targetServerId = targetServerId; } + public Boolean getLdap() { return ldap; } + public void setLdap(Boolean ldap) { this.ldap = ldap; } + public String getGpkiLicPath() { return gpkiLicPath; } + public void setGpkiLicPath(String gpkiLicPath) { this.gpkiLicPath = gpkiLicPath; } + public String getCertFilePath() { return certFilePath; } + public void setCertFilePath(String certFilePath) { this.certFilePath = certFilePath; } + public String getEnvCertFilePathName() { return envCertFilePathName; } + public void setEnvCertFilePathName(String envCertFilePathName) { this.envCertFilePathName = envCertFilePathName; } + public String getEnvPrivateKeyFilePathName() { return envPrivateKeyFilePathName; } + public void setEnvPrivateKeyFilePathName(String envPrivateKeyFilePathName) { this.envPrivateKeyFilePathName = envPrivateKeyFilePathName; } + public String getEnvPrivateKeyPasswd() { return envPrivateKeyPasswd; } + public void setEnvPrivateKeyPasswd(String envPrivateKeyPasswd) { this.envPrivateKeyPasswd = envPrivateKeyPasswd; } + public String getSigCertFilePathName() { return sigCertFilePathName; } + public void setSigCertFilePathName(String sigCertFilePathName) { this.sigCertFilePathName = sigCertFilePathName; } + public String getSigPrivateKeyFilePathName() { return sigPrivateKeyFilePathName; } + public void setSigPrivateKeyFilePathName(String sigPrivateKeyFilePathName) { this.sigPrivateKeyFilePathName = sigPrivateKeyFilePathName; } + public String getSigPrivateKeyPasswd() { return sigPrivateKeyPasswd; } + public void setSigPrivateKeyPasswd(String sigPrivateKeyPasswd) { this.sigPrivateKeyPasswd = sigPrivateKeyPasswd; } + + public boolean isEnabledFlag() { return "Y".equalsIgnoreCase(enabled); } + } + + public static class GovProps { + @NotBlank + private String scheme = "http"; + @NotBlank + private String host; + @NotBlank + private String basePath; + private int connectTimeoutMillis = 5000; + private int readTimeoutMillis = 10000; + @NotNull + private Services services = new Services(); + + public String getScheme() { return scheme; } + public void setScheme(String scheme) { this.scheme = scheme; } + public String getHost() { return host; } + public void setHost(String host) { this.host = host; } + public String getBasePath() { return basePath; } + public void setBasePath(String basePath) { this.basePath = basePath; } + public int getConnectTimeoutMillis() { return connectTimeoutMillis; } + public void setConnectTimeoutMillis(int connectTimeoutMillis) { this.connectTimeoutMillis = connectTimeoutMillis; } + public int getReadTimeoutMillis() { return readTimeoutMillis; } + public void setReadTimeoutMillis(int readTimeoutMillis) { this.readTimeoutMillis = readTimeoutMillis; } + public Services getServices() { return services; } + public void setServices(Services services) { this.services = services; } + + public String buildServiceUrl(String path) { + StringBuilder sb = new StringBuilder(); + sb.append(scheme).append("://").append(host); + if (basePath != null && !basePath.isEmpty()) { + if (!basePath.startsWith("/")) sb.append('/'); + sb.append(basePath); + } + if (path != null && !path.isEmpty()) { + if (!path.startsWith("/")) sb.append('/'); + sb.append(path); + } + return sb.toString(); + } + + public static class Services { + @NotNull + private Service basic = new Service(); + @NotNull + private Service ledger = new Service(); + + public Service getBasic() { return basic; } + public void setBasic(Service basic) { this.basic = basic; } + public Service getLedger() { return ledger; } + public void setLedger(Service ledger) { this.ledger = ledger; } + } + + public static class Service { + @NotBlank + private String path; + @NotBlank + private String cntcInfoCode; + @NotBlank + private String apiKey; + @NotBlank + private String cvmisApikey; + + public String getPath() { return path; } + public void setPath(String path) { this.path = path; } + public String getCntcInfoCode() { return cntcInfoCode; } + public void setCntcInfoCode(String cntcInfoCode) { this.cntcInfoCode = cntcInfoCode; } + public String getApiKey() { return apiKey; } + public void setApiKey(String apiKey) { this.apiKey = apiKey; } + public String getCvmisApikey() { return cvmisApikey; } + public void setCvmisApikey(String cvmisApikey) { this.cvmisApikey = cvmisApikey; } + } + } +} diff --git a/src/main/java/com/vmis/interfaceapp/controller/VehicleInterfaceController.java b/src/main/java/com/vmis/interfaceapp/controller/VehicleInterfaceController.java new file mode 100644 index 0000000..a60b47c --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/controller/VehicleInterfaceController.java @@ -0,0 +1,211 @@ +package com.vmis.interfaceapp.controller; + +import com.vmis.interfaceapp.client.GovernmentApiClient; +import com.vmis.interfaceapp.model.basic.BasicRequest; +import com.vmis.interfaceapp.model.basic.BasicResponse; +import com.vmis.interfaceapp.model.common.Envelope; +import com.vmis.interfaceapp.model.ledger.LedgerRequest; +import com.vmis.interfaceapp.model.ledger.LedgerResponse; +import com.vmis.interfaceapp.service.RequestEnricher; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.tags.Tag; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; + +/** + * ์ž๋™์ฐจ ์ •๋ณด ์—ฐ๊ณ„ REST ์ปจํŠธ๋กค๋Ÿฌ + * + *

์ด ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ ์ •๋ณด ์กฐํšŒ API์˜ ์ง„์ž…์ (Entry Point)์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. + * ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ HTTP ์š”์ฒญ์„ ๋ฐ›์•„ ์ •๋ถ€ ์‹œ์Šคํ…œ๊ณผ์˜ ํ†ต์‹ ์„ ์ค‘๊ณ„ํ•˜๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค.

+ * + *

์ฃผ์š” ๊ธฐ๋Šฅ:

+ *
    + *
  • ์ž๋™์ฐจ ๊ธฐ๋ณธ์‚ฌํ•ญ ์กฐํšŒ API ์ œ๊ณต
  • + *
  • ์ž๋™์ฐจ ๋“ฑ๋ก์›๋ถ€(๊ฐ‘) ์กฐํšŒ API ์ œ๊ณต
  • + *
  • ์š”์ฒญ ๋ฐ์ดํ„ฐ๋ฅผ Envelope๋กœ ๊ฐ์‹ธ์„œ ์ •๋ถ€ ์‹œ์Šคํ…œ์œผ๋กœ ์ „๋‹ฌ
  • + *
  • ์ •๋ถ€ ์‹œ์Šคํ…œ์˜ ์‘๋‹ต์„ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐ˜ํ™˜
  • + *
+ * + *

API ๊ฒฝ๋กœ:

+ *
    + *
  • ๊ธฐ๋ณธ ๊ฒฝ๋กœ: /api/v1/vehicles
  • + *
  • ์ž๋™์ฐจ ๊ธฐ๋ณธ์‚ฌํ•ญ ์กฐํšŒ: POST /api/v1/vehicles/basic
  • + *
  • ์ž๋™์ฐจ ๋“ฑ๋ก์›๋ถ€ ์กฐํšŒ: POST /api/v1/vehicles/ledger
  • + *
+ * + *

์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„:

+ *
    + *
  • ์ปจํŠธ๋กค๋Ÿฌ๋Š” ์–‡์€(Thin) ๋ ˆ์ด์–ด๋กœ ์„ค๊ณ„๋˜์–ด ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ํฌํ•จํ•˜์ง€ ์•Š์Œ
  • + *
  • ๋ชจ๋“  ์‹ค์ œ ์ฒ˜๋ฆฌ๋Š” {@link GovernmentApiClient}์— ์œ„์ž„
  • + *
  • Swagger/OpenAPI ๋ฌธ์„œ ์ž๋™ ์ƒ์„ฑ์„ ์œ„ํ•œ ์–ด๋…ธํ…Œ์ด์…˜ ํฌํ•จ
  • + *
+ * + * @see GovernmentApiClient + * @see Envelope + */ +@RestController +@RequestMapping("/api/v1/vehicles") +@Tag(name = "Vehicle Interfaces", description = "์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ ์ •๋ณด ์—ฐ๊ณ„ API") +public class VehicleInterfaceController { + + private final RequestEnricher enricher; + + /** + * ์ •๋ถ€ API ํด๋ผ์ด์–ธํŠธ + * + *

์ •๋ถ€ ์‹œ์Šคํ…œ๊ณผ์˜ ์‹ค์ œ ํ†ต์‹ ์„ ๋‹ด๋‹นํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ๊ฐ์ฒด์ž…๋‹ˆ๋‹ค. + * ์ด ํด๋ผ์ด์–ธํŠธ๋Š” ๋‹ค์Œ ๊ธฐ๋Šฅ๋“ค์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค:

+ *
    + *
  • HTTP ์š”์ฒญ/์‘๋‹ต ์ฒ˜๋ฆฌ
  • + *
  • GPKI ์•”ํ˜ธํ™”/๋ณตํ˜ธํ™”
  • + *
  • ํ—ค๋” ๊ตฌ์„ฑ ๋ฐ ๊ด€๋ฆฌ
  • + *
  • ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋ฐ ๋กœ๊น…
  • + *
+ * + *

์ƒ์„ฑ์ž ์ฃผ์ž…(Constructor Injection)์„ ํ†ตํ•ด ์˜์กด์„ฑ์ด ์ฃผ์ž…๋˜๋ฉฐ, + * final ํ‚ค์›Œ๋“œ๋กœ ์„ ์–ธ๋˜์–ด ๋ถˆ๋ณ€์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

+ */ + private final GovernmentApiClient govClient; + + /** + * ์ƒ์„ฑ์ž๋ฅผ ํ†ตํ•œ ์˜์กด์„ฑ ์ฃผ์ž… + * + *

Spring Framework์˜ ์ƒ์„ฑ์ž ์ฃผ์ž… ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. + * ์ด ๋ฐฉ์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์žฅ์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

+ *
    + *
  • ํ•„์ˆ˜ ์˜์กด์„ฑ์„ ๋ช…ํ™•ํ•˜๊ฒŒ ํ‘œํ˜„
  • + *
  • ๋ถˆ๋ณ€์„ฑ ๋ณด์žฅ (final ํ•„๋“œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ)
  • + *
  • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์‹œ Mock ๊ฐ์ฒด ์ฃผ์ž… ์šฉ์ด
  • + *
  • ์ˆœํ™˜ ์ฐธ์กฐ ๋ฐฉ์ง€
  • + *
+ * + * @param govClient ์ •๋ถ€ API์™€ ํ†ต์‹ ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ ๊ฐ์ฒด + */ + public VehicleInterfaceController(GovernmentApiClient govClient, RequestEnricher enricher) { + this.govClient = govClient; + this.enricher = enricher; + } + + /** + * ์ž๋™์ฐจ ๊ธฐ๋ณธ์‚ฌํ•ญ ์กฐํšŒ API + * + *

์ฐจ๋Ÿ‰๋ฒˆํ˜ธ, ์†Œ์œ ์ž ์ •๋ณด ๋“ฑ ์ž๋™์ฐจ์˜ ๊ธฐ๋ณธ์ ์ธ ์ •๋ณด๋ฅผ ์กฐํšŒํ•˜๋Š” API์ž…๋‹ˆ๋‹ค.

+ * + *

์š”์ฒญ ์ฒ˜๋ฆฌ ํ๋ฆ„:

+ *
    + *
  1. ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ JSON ํ˜•์‹์˜ ์š”์ฒญ ์ˆ˜์‹ 
  2. + *
  3. ์š”์ฒญ ๋ฐ”๋””๊ฐ€ Envelope<BasicRequest> ๊ฐ์ฒด๋กœ ์—ญ์ง๋ ฌํ™”๋จ
  4. + *
  5. Spring์˜ @RequestBody ์–ด๋…ธํ…Œ์ด์…˜์ด ์ž๋™์œผ๋กœ JSON์„ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜
  6. + *
  7. ๋ณ€ํ™˜๋œ ์š”์ฒญ ๊ฐ์ฒด๋ฅผ GovernmentApiClient๋กœ ์ „๋‹ฌ
  8. + *
  9. GovernmentApiClient๊ฐ€ ์ •๋ถ€ ์‹œ์Šคํ…œ๊ณผ ํ†ต์‹  ์ˆ˜ํ–‰
  10. + *
  11. ์‘๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ Envelope<BasicResponse>๋กœ ๊ฐ์‹ธ์„œ ๋ฐ˜ํ™˜
  12. + *
  13. Spring์ด ์ž๋™์œผ๋กœ ์‘๋‹ต ๊ฐ์ฒด๋ฅผ JSON์œผ๋กœ ์ง๋ ฌํ™”ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „์†ก
  14. + *
+ * + *

HTTP ๋ฉ”์„œ๋“œ ๋ฐ ๊ฒฝ๋กœ:

+ *
    + *
  • ๋ฉ”์„œ๋“œ: POST
  • + *
  • ๊ฒฝ๋กœ: /api/v1/vehicles/basic
  • + *
  • Content-Type: application/json (์š”์ฒญ)
  • + *
  • Accept: application/json (์‘๋‹ต)
  • + *
+ * + *

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ:

+ *
    + *
  • Envelope: ๊ณตํ†ต ํ—ค๋” ์ •๋ณด(์ „๋ฌธ ID, ์ „์†ก ์‹œ๊ฐ ๋“ฑ)์™€ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์‹ธ๋Š” ๋ž˜ํผ ๊ฐ์ฒด
  • + *
  • BasicRequest: ์ž๋™์ฐจ ๊ธฐ๋ณธ์‚ฌํ•ญ ์กฐํšŒ๋ฅผ ์œ„ํ•œ ์š”์ฒญ ๋ฐ์ดํ„ฐ (์ฐจ๋Ÿ‰๋ฒˆํ˜ธ ๋“ฑ)
  • + *
  • BasicResponse: ์ž๋™์ฐจ ๊ธฐ๋ณธ์‚ฌํ•ญ ์กฐํšŒ ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ (์†Œ์œ ์ž, ์ฐจ์ข…, ์—ฐ์‹ ๋“ฑ)
  • + *
+ * + *

์—๋Ÿฌ ์ฒ˜๋ฆฌ:

+ *
    + *
  • JSON ํŒŒ์‹ฑ ์˜ค๋ฅ˜ ์‹œ 400 Bad Request ๋ฐ˜ํ™˜ (Spring ์ž๋™ ์ฒ˜๋ฆฌ)
  • + *
  • ์ •๋ถ€ API ํ˜ธ์ถœ ์‹คํŒจ ์‹œ ํ•ด๋‹น HTTP ์ƒํƒœ ์ฝ”๋“œ ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜
  • + *
  • ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜๋‚˜ ๊ธฐํƒ€ ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ RuntimeException์œผ๋กœ ๋ž˜ํ•‘๋˜์–ด ์ฒ˜๋ฆฌ
  • + *
+ * + * @param envelope ์ž๋™์ฐจ ๊ธฐ๋ณธ์‚ฌํ•ญ ์กฐํšŒ ์š”์ฒญ์„ ๋‹ด์€ Envelope ๊ฐ์ฒด ๊ณตํ†ต ํ—ค๋”(header)์™€ ์‹ค์ œ ์š”์ฒญ ๋ฐ์ดํ„ฐ(data)๋กœ ๊ตฌ์„ฑ๋จ + * @return ResponseEntity<Envelope<BasicResponse>> ์กฐํšŒ ๊ฒฐ๊ณผ๋ฅผ ๋‹ด์€ ์‘๋‹ต ๊ฐ์ฒด HTTP ์ƒํƒœ ์ฝ”๋“œ, ํ—ค๋”, ์‘๋‹ต ๋ฐ”๋””๋ฅผ ํฌํ•จ + */ + @PostMapping(value = "/basic", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @Operation(summary = "์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ", description = "์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ ์ธํ„ฐํŽ˜์ด์Šค. ์š”์ฒญ ๋ฐ”๋””๋ฅผ ๋ชจ๋ธ๋กœ ๋ฐ›์•„ ์ •๋ถ€์‹œ์Šคํ…œ์œผ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.") + public ResponseEntity> basic( + @org.springframework.web.bind.annotation.RequestBody Envelope envelope + ) { + // YAML ์„ค์ •๊ฐ’์œผ๋กœ ๊ณตํ†ต ํ•„๋“œ ์ž๋™ ์ฑ„์›€ + enricher.enrichBasic(envelope); + // ์‹ค์ œ ์ฒ˜๋ฆฌ๋Š” GovernmentApiClient์— ์œ„์ž„ + return govClient.callBasic(envelope); + } + + /** + * ์ž๋™์ฐจ ๋“ฑ๋ก์›๋ถ€(๊ฐ‘) ์กฐํšŒ API + * + *

์ž๋™์ฐจ ๋“ฑ๋ก์›๋ถ€์˜ ๊ฐ‘์ง€์— ๊ธฐ์žฌ๋œ ์ƒ์„ธํ•œ ๋“ฑ๋ก ์ •๋ณด๋ฅผ ์กฐํšŒํ•˜๋Š” API์ž…๋‹ˆ๋‹ค. + * ๋“ฑ๋ก์›๋ถ€๋Š” ์ž๋™์ฐจ์˜ ๋ฒ•์  ์†Œ์œ ๊ด€๊ณ„์™€ ๋“ฑ๋ก์‚ฌํ•ญ์„ ์ฆ๋ช…ํ•˜๋Š” ๊ณต์  ์žฅ๋ถ€์ž…๋‹ˆ๋‹ค.

+ * + *

์š”์ฒญ ์ฒ˜๋ฆฌ ํ๋ฆ„:

+ *
    + *
  1. ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ JSON ํ˜•์‹์˜ ์š”์ฒญ ์ˆ˜์‹ 
  2. + *
  3. ์š”์ฒญ ๋ฐ”๋””๊ฐ€ Envelope<LedgerRequest> ๊ฐ์ฒด๋กœ ์—ญ์ง๋ ฌํ™”๋จ
  4. + *
  5. Spring์˜ @RequestBody ์–ด๋…ธํ…Œ์ด์…˜์ด ์ž๋™์œผ๋กœ JSON์„ ๊ฐ์ฒด๋กœ ๋ณ€ํ™˜
  6. + *
  7. ๋ณ€ํ™˜๋œ ์š”์ฒญ ๊ฐ์ฒด๋ฅผ GovernmentApiClient๋กœ ์ „๋‹ฌ
  8. + *
  9. GovernmentApiClient๊ฐ€ ์ •๋ถ€ ์‹œ์Šคํ…œ๊ณผ ํ†ต์‹  ์ˆ˜ํ–‰
  10. + *
  11. ์‘๋‹ต ๋ฐ์ดํ„ฐ๋ฅผ Envelope<LedgerResponse>๋กœ ๊ฐ์‹ธ์„œ ๋ฐ˜ํ™˜
  12. + *
  13. Spring์ด ์ž๋™์œผ๋กœ ์‘๋‹ต ๊ฐ์ฒด๋ฅผ JSON์œผ๋กœ ์ง๋ ฌํ™”ํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ์ „์†ก
  14. + *
+ * + *

HTTP ๋ฉ”์„œ๋“œ ๋ฐ ๊ฒฝ๋กœ:

+ *
    + *
  • ๋ฉ”์„œ๋“œ: POST
  • + *
  • ๊ฒฝ๋กœ: /api/v1/vehicles/ledger
  • + *
  • Content-Type: application/json (์š”์ฒญ)
  • + *
  • Accept: application/json (์‘๋‹ต)
  • + *
+ * + *

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ:

+ *
    + *
  • Envelope: ๊ณตํ†ต ํ—ค๋” ์ •๋ณด(์ „๋ฌธ ID, ์ „์†ก ์‹œ๊ฐ ๋“ฑ)์™€ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ์‹ธ๋Š” ๋ž˜ํผ ๊ฐ์ฒด
  • + *
  • LedgerRequest: ์ž๋™์ฐจ ๋“ฑ๋ก์›๋ถ€ ์กฐํšŒ๋ฅผ ์œ„ํ•œ ์š”์ฒญ ๋ฐ์ดํ„ฐ (์ฐจ๋Ÿ‰๋ฒˆํ˜ธ, ์†Œ์œ ์ž ์ •๋ณด ๋“ฑ)
  • + *
  • LedgerResponse: ์ž๋™์ฐจ ๋“ฑ๋ก์›๋ถ€ ์กฐํšŒ ๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ (์ƒ์„ธํ•œ ๋“ฑ๋ก์‚ฌํ•ญ, ์†Œ์œ ๊ถŒ ์ด๋ ฅ ๋“ฑ)
  • + *
+ * + *

๋“ฑ๋ก์›๋ถ€(๊ฐ‘)์— ํฌํ•จ๋˜๋Š” ์ •๋ณด:

+ *
    + *
  • ์ฐจ๋Ÿ‰ ๊ธฐ๋ณธ ์ •๋ณด (์ฐจ๋ช…, ์ฐจ์ข…, ์šฉ๋„ ๋“ฑ)
  • + *
  • ์†Œ์œ ์ž ์ •๋ณด (์„ฑ๋ช…, ์ฃผ์†Œ, ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ ๋“ฑ)
  • + *
  • ๋“ฑ๋ก ์ด๋ ฅ (์ตœ์ดˆ ๋“ฑ๋ก์ผ, ๋ณ€๊ฒฝ ์ด๋ ฅ ๋“ฑ)
  • + *
  • ์ €๋‹น๊ถŒ ๋ฐ ์••๋ฅ˜ ์ •๋ณด
  • + *
  • ๊ธฐํƒ€ ๋ฒ•์  ๊ถŒ๋ฆฌ๊ด€๊ณ„
  • + *
+ * + *

์—๋Ÿฌ ์ฒ˜๋ฆฌ:

+ *
    + *
  • JSON ํŒŒ์‹ฑ ์˜ค๋ฅ˜ ์‹œ 400 Bad Request ๋ฐ˜ํ™˜ (Spring ์ž๋™ ์ฒ˜๋ฆฌ)
  • + *
  • ์ •๋ถ€ API ํ˜ธ์ถœ ์‹คํŒจ ์‹œ ํ•ด๋‹น HTTP ์ƒํƒœ ์ฝ”๋“œ ๊ทธ๋Œ€๋กœ ๋ฐ˜ํ™˜
  • + *
  • ๋„คํŠธ์›Œํฌ ์˜ค๋ฅ˜๋‚˜ ๊ธฐํƒ€ ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ RuntimeException์œผ๋กœ ๋ž˜ํ•‘๋˜์–ด ์ฒ˜๋ฆฌ
  • + *
  • ๊ถŒํ•œ ๋ถ€์กฑ ์‹œ 403 Forbidden ๋˜๋Š” 401 Unauthorized ๋ฐ˜ํ™˜ ๊ฐ€๋Šฅ
  • + *
+ * + *

๋ณด์•ˆ ๋ฐ ๊ฐœ์ธ์ •๋ณด:

+ *
    + *
  • ๋ฏผ๊ฐํ•œ ๊ฐœ์ธ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋ฏ€๋กœ ์ ์ ˆํ•œ ์ธ์ฆ/์ธ๊ฐ€ ํ•„์š”
  • + *
  • GPKI ์•”ํ˜ธํ™”๋ฅผ ํ†ตํ•œ ๋ฐ์ดํ„ฐ ๋ณด์•ˆ ๊ฐ•ํ™”
  • + *
  • ๋กœ๊ทธ ๊ธฐ๋ก ์‹œ ๊ฐœ์ธ์ •๋ณด ๋งˆ์Šคํ‚น ํ•„์š”
  • + *
+ * + * @param envelope ์ž๋™์ฐจ ๋“ฑ๋ก์›๋ถ€ ์กฐํšŒ ์š”์ฒญ์„ ๋‹ด์€ Envelope ๊ฐ์ฒด ๊ณตํ†ต ํ—ค๋”(header)์™€ ์‹ค์ œ ์š”์ฒญ ๋ฐ์ดํ„ฐ(data)๋กœ ๊ตฌ์„ฑ๋จ + * @return ResponseEntity<Envelope<LedgerResponse>> ๋“ฑ๋ก์›๋ถ€ ์กฐํšŒ ๊ฒฐ๊ณผ๋ฅผ ๋‹ด์€ ์‘๋‹ต ๊ฐ์ฒด HTTP ์ƒํƒœ ์ฝ”๋“œ, ํ—ค๋”, ์‘๋‹ต ๋ฐ”๋””๋ฅผ ํฌํ•จ + */ + @PostMapping(value = "/ledger", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) + @Operation(summary = "์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€(๊ฐ‘)", description = "์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€(๊ฐ‘) ์ธํ„ฐํŽ˜์ด์Šค. ์š”์ฒญ ๋ฐ”๋””๋ฅผ ๋ชจ๋ธ๋กœ ๋ฐ›์•„ ์ •๋ถ€์‹œ์Šคํ…œ์œผ๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.") + public ResponseEntity> ledger( + @org.springframework.web.bind.annotation.RequestBody Envelope envelope + ) { + // YAML ์„ค์ •๊ฐ’์œผ๋กœ ๊ณตํ†ต ํ•„๋“œ ์ž๋™ ์ฑ„์›€ + enricher.enrichLedger(envelope); + // ์‹ค์ œ ์ฒ˜๋ฆฌ๋Š” GovernmentApiClient์— ์œ„์ž„ + return govClient.callLedger(envelope); + } +} diff --git a/src/main/java/com/vmis/interfaceapp/gpki/GpkiService.java b/src/main/java/com/vmis/interfaceapp/gpki/GpkiService.java new file mode 100644 index 0000000..3320a72 --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/gpki/GpkiService.java @@ -0,0 +1,7 @@ +package com.vmis.interfaceapp.gpki; + +public interface GpkiService { + String encrypt(String plain) throws Exception; + String decrypt(String cipher) throws Exception; + boolean isEnabled(); +} diff --git a/src/main/java/com/vmis/interfaceapp/gpki/NoopGpkiService.java b/src/main/java/com/vmis/interfaceapp/gpki/NoopGpkiService.java new file mode 100644 index 0000000..c40351f --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/gpki/NoopGpkiService.java @@ -0,0 +1,18 @@ +package com.vmis.interfaceapp.gpki; + +public class NoopGpkiService implements GpkiService { + @Override + public String encrypt(String plain) { + return plain; + } + + @Override + public String decrypt(String cipher) { + return cipher; + } + + @Override + public boolean isEnabled() { + return false; + } +} diff --git a/src/main/java/com/vmis/interfaceapp/gpki/RealGpkiService.java b/src/main/java/com/vmis/interfaceapp/gpki/RealGpkiService.java new file mode 100644 index 0000000..78bcec3 --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/gpki/RealGpkiService.java @@ -0,0 +1,41 @@ +package com.vmis.interfaceapp.gpki; + +import com.vmis.interfaceapp.config.properties.VmisProperties; +import com.vmis.interfaceapp.util.GpkiCryptoUtil; + +/** + * Real GPKI service backed by native GPKI JNI via legacy NewGpkiUtil wrapper. + * Uses YAML-configured paths and options in {@link VmisProperties.GpkiProps}. + */ +public class RealGpkiService implements GpkiService { + + private final VmisProperties props; + private final GpkiCryptoUtil crypto; + + public RealGpkiService(VmisProperties props) { + this.props = props; + try { + this.crypto = GpkiCryptoUtil.from(props.getGpki()); + } catch (Exception e) { + throw new IllegalStateException("Failed to initialize GPKI (JNI) util. Check YAML paths/passwords and license.", e); + } + } + + @Override + public String encrypt(String plain) throws Exception { + String charset = props.getGpki().getCharset(); + String targetId = props.getGpki().getTargetServerId(); + return crypto.encryptToBase64(plain, targetId, charset); + } + + @Override + public String decrypt(String cipher) throws Exception { + String charset = props.getGpki().getCharset(); + return crypto.decryptFromBase64(cipher, charset); + } + + @Override + public boolean isEnabled() { + return true; + } +} diff --git a/src/main/java/com/vmis/interfaceapp/model/basic/BasicRequest.java b/src/main/java/com/vmis/interfaceapp/model/basic/BasicRequest.java new file mode 100644 index 0000000..4eb2ac8 --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/model/basic/BasicRequest.java @@ -0,0 +1,88 @@ +package com.vmis.interfaceapp.model.basic; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Getter; +import lombok.Setter; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@Getter +@Setter +@Schema(description = "์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ ์š”์ฒญ ํ•ญ๋ชฉ") +public class BasicRequest { + + // ๋ณธ๋ฌธ ๊ณตํ†ต ๋ฉ”ํƒ€ + @Schema(description = "์ •๋ณด์‹œ์Šคํ…œID") + @JsonProperty("INFO_SYS_ID") + private String infoSysId; + + @Schema(description = "์ •๋ณด์‹œ์Šคํ…œIP") + @JsonProperty("INFO_SYS_IP") + private String infoSysIp; + + @Schema(description = "์‹œ๊ตฐ๊ตฌ์ฝ”๋“œ") + @JsonProperty("SIGUNGU_CODE") + private String sigunguCode; + + // ์„œ๋น„์Šค๋ณ„ ํ•„๋“œ + @Schema(description = "์—ฐ๊ณ„์ •๋ณด์ฝ”๋“œ", example = "AC1_FD11_01") + @JsonProperty("CNTC_INFO_CODE") + private String cntcInfoCode; + + @Schema(description = "๋‹ด๋‹น์žID") + @JsonProperty("CHARGER_ID") + private String chargerId; + + @Schema(description = "๋‹ด๋‹น์žIP") + @JsonProperty("CHARGER_IP") + private String chargerIp; + + @Schema(description = "๋‹ด๋‹น์ž๋ช…(์‚ฌ์šฉ์ž)") + @JsonProperty("CHARGER_NM") + private String chargerNm; + + @Schema(description = "๋ถ€๊ณผ๊ธฐ์ค€์ผ", example = "20250101") + @JsonProperty("LEVY_STDDE") + private String levyStdde; + + @Schema(description = "์กฐํšŒ๊ตฌ๋ถ„์ฝ”๋“œ") + @JsonProperty("INQIRE_SE_CODE") + private String inqireSeCode; + + @Schema(description = "์ž๋™์ฐจ๋“ฑ๋ก๋ฒˆํ˜ธ", example = "12๊ฐ€3456") + @JsonProperty("VHRNO") + private String vhrno; + + @Schema(description = "์ฐจ๋Œ€๋ฒˆํ˜ธ", example = "KMHAB812345678901") + @JsonProperty("VIN") + private String vin; + + // ์ถ”๊ฐ€ ํ•ญ๋ชฉ (๋ช…์„ธ ์ƒ˜ํ”Œ ๊ธฐ์ค€) + @Schema(description = "๊ฐœ์ธ์ •๋ณด๊ณต๊ฐœ", example = "Y") + @JsonProperty("ONES_INFORMATION_OPEN") + private String onesInformationOpen; + + @Schema(description = "๋ฏผ์›์ธ์„ฑ๋ช…") + @JsonProperty("CPTTR_NM") + private String cpttrNm; + + @Schema(description = "๋ฏผ์›์ธ์ฃผ๋ฏผ๋ฒˆํ˜ธ") + @JsonProperty("CPTTR_IHIDNUM") + @Size(max = 13) + private String cpttrIhidnum; + + @Schema(description = "๋ฏผ์›์ธ๋ฒ•์ •๋™์ฝ”๋“œ") + @JsonProperty("CPTTR_LEGALDONG_CODE") + private String cpttrLegaldongCode; + + @Schema(description = "๊ฒฝ๋กœ๊ตฌ๋ถ„์ฝ”๋“œ") + @JsonProperty("ROUTE_SE_CODE") + private String routeSeCode; + + @Schema(description = "๋‚ด์—ญํ‘œ์‹œ") + @JsonProperty("DETAIL_EXPRESSION") + private String detailExpression; + +} diff --git a/src/main/java/com/vmis/interfaceapp/model/basic/BasicResponse.java b/src/main/java/com/vmis/interfaceapp/model/basic/BasicResponse.java new file mode 100644 index 0000000..c83dc0f --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/model/basic/BasicResponse.java @@ -0,0 +1,121 @@ +package com.vmis.interfaceapp.model.basic; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +@Schema(description = "์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ ์‘๋‹ต ๋ชจ๋ธ") +@Getter +@Setter +public class BasicResponse { + + @JsonProperty("CNTC_RESULT_CODE") + private String cntcResultCode; + + @JsonProperty("CNTC_RESULT_DTLS") + private String cntcResultDtls; + + @JsonProperty("record") + private List record; + + + @JsonInclude(JsonInclude.Include.NON_NULL) + @JsonIgnoreProperties(ignoreUnknown = true) + @Schema(description = "๊ธฐ๋ณธ์‚ฌํ•ญ record ํ•ญ๋ชฉ") + @Getter + @Setter + public static class Record { + @JsonProperty("PRYE") private String prye; + @JsonProperty("REGIST_DE") private String registDe; + @JsonProperty("ERSR_REGIST_SE_CODE") private String ersrRegistSeCode; + @JsonProperty("ERSR_REGIST_SE_NM") private String ersrRegistSeNm; + @JsonProperty("ERSR_REGIST_DE") private String ersrRegistDe; + @JsonProperty("REGIST_DETAIL_CODE") private String registDetailCode; + @JsonProperty("DSPLVL") private String dsplvl; + @JsonProperty("USE_STRNGHLD_LEGALDONG_CODE") private String useStrnghldLegaldongCode; + @JsonProperty("USE_STRNGHLD_ADSTRD_CODE") private String useStrnghldAdstrdCode; + @JsonProperty("USE_STRNGHLD_MNTN") private String useStrnghldMntn; + @JsonProperty("USE_STRNGHLD_LNBR") private String useStrnghldLnbr; + @JsonProperty("USE_STRNGHLD_HO") private String useStrnghldHo; + @JsonProperty("USE_STRNGHLD_ADRES_NM") private String useStrnghldAdresNm; + @JsonProperty("USE_STRNGHLD_ROAD_NM_CODE") private String useStrnghldRoadNmCode; + @JsonProperty("USGSRHLD_UNDGRND_BULD_SE_CODE") private String usgsrhldUndgrndBuldSeCode; + @JsonProperty("USE_STRNGHLD_BULD_MAIN_NO") private String useStrnghldBuldMainNo; + @JsonProperty("USE_STRNGHLD_BULD_SUB_NO") private String useStrnghldBuldSubNo; + @JsonProperty("USGSRHLD_ADRES_FULL") private String usgsrhldAdresFull; + @JsonProperty("MBER_SE_CODE") private String mberSeCode; + @JsonProperty("MBER_NM") private String mberNm; + @JsonProperty("MBER_SE_NO") private String mberSeNo; + @JsonProperty("TELNO") private String telno; + @JsonProperty("OWNER_LEGALDONG_CODE") private String ownerLegaldongCode; + @JsonProperty("OWNER_ADSTRD_CODE") private String ownerAdstrdCode; + @JsonProperty("OWNER_MNTN") private String ownerMntn; + @JsonProperty("OWNER_LNBR") private String ownerLnbr; + @JsonProperty("OWNER_HO") private String ownerHo; + @JsonProperty("OWNER_ADRES_NM") private String ownerAdresNm; + @JsonProperty("OWNER_ROAD_NM_CODE") private String ownerRoadNmCode; + @JsonProperty("OWNER_UNDGRND_BULD_SE_CODE") private String ownerUndgrndBuldSeCode; + @JsonProperty("OWNER_BULD_MAIN_NO") private String ownerBuldMainNo; + @JsonProperty("OWNER_BULD_SUB_NO") private String ownerBuldSubNo; + @JsonProperty("OWNER_ADRES_FULL") private String ownerAdresFull; + @JsonProperty("AFTR_VHRNO") private String aftrVhrno; + @JsonProperty("USE_FUEL_CODE") private String useFuelCode; + @JsonProperty("PRPOS_SE_CODE") private String prposSeCode; + @JsonProperty("MTRS_FOM_NM") private String mtrsFomNm; + @JsonProperty("FRNT_VHRNO") private String frntVhrno; + @JsonProperty("VHRNO") private String vhrno; + @JsonProperty("VIN") private String vin; + @JsonProperty("CNM") private String cnm; + @JsonProperty("VHCLE_TOT_WT") private String vhcleTotWt; + @JsonProperty("CAAG_ENDDE") private String caagEndde; + @JsonProperty("CHANGE_DE") private String changeDe; + @JsonProperty("VHCTY_ASORT_CODE") private String vhctyAsortCode; + @JsonProperty("VHCTY_TY_CODE") private String vhctyTyCode; + @JsonProperty("VHCTY_SE_CODE") private String vhctySeCode; + @JsonProperty("MXMM_LDG") private String mxmmLdg; + @JsonProperty("VHCTY_ASORT_NM") private String vhctyAsortNm; + @JsonProperty("VHCTY_TY_NM") private String vhctyTyNm; + @JsonProperty("VHCTY_SE_NM") private String vhctySeNm; + @JsonProperty("FRST_REGIST_DE") private String frstRegistDe; + @JsonProperty("FOM_NM") private String fomNm; + @JsonProperty("ACQS_DE") private String acqsDe; + @JsonProperty("ACQS_END_DE") private String acqsEndDe; + @JsonProperty("YBL_MD") private String yblMd; + @JsonProperty("TRANSR_REGIST_DE") private String transrRegistDe; + @JsonProperty("SPCF_REGIST_STTUS_CODE") private String spcfRegistSttusCode; + @JsonProperty("COLOR_NM") private String colorNm; + @JsonProperty("MRTG_CO") private String mrtgCo; + @JsonProperty("SEIZR_CO") private String seizrCo; + @JsonProperty("STMD_CO") private String stmdCo; + @JsonProperty("NMPL_CSDY_AT") private String nmplCsdyAt; + @JsonProperty("NMPL_CSDY_REMNR_DE") private String nmplCsdyRemnrDe; + @JsonProperty("ORIGIN_SE_CODE") private String originSeCode; + @JsonProperty("NMPL_STNDRD_CODE") private String nmplStndrdCode; + @JsonProperty("ACQS_AMOUNT") private String acqsAmount; + @JsonProperty("INSPT_VALID_PD_BGNDE") private String insptValidPdBgnde; + @JsonProperty("INSPT_VALID_PD_ENDDE") private String insptValidPdEndde; + @JsonProperty("USE_STRNGHLD_GRC_CODE") private String useStrnghldGrcCode; + @JsonProperty("TKCAR_PSCAP_CO") private String tkcarPscapCo; + @JsonProperty("SPMNNO") private String spmnno; + @JsonProperty("TRVL_DSTNC") private String trvlDstnc; + @JsonProperty("FRST_REGIST_RQRCNO") private String frstRegistRqrcno; + @JsonProperty("VLNT_ERSR_PRVNTC_NTICE_DE") private String vlntErsrPrvntcNticeDe; + @JsonProperty("REGIST_INSTT_NM") private String registInsttNm; + @JsonProperty("PROCESS_IMPRTY_RESN_CODE") private String processImprtyResnCode; + @JsonProperty("PROCESS_IMPRTY_RESN_DTLS") private String processImprtyResnDtls; + @JsonProperty("CBD_LT") private String cbdLt; + @JsonProperty("CBD_BT") private String cbdBt; + @JsonProperty("CBD_HG") private String cbdHg; + @JsonProperty("FRST_MXMM_LDG") private String frstMxmmLdg; + @JsonProperty("FUEL_CNSMP_RT") private String fuelCnsmpRt; + @JsonProperty("ELCTY_CMPND_FUEL_CNSMP_RT") private String elctyCmpndFuelCnsmpRt; + + } +} diff --git a/src/main/java/com/vmis/interfaceapp/model/common/Envelope.java b/src/main/java/com/vmis/interfaceapp/model/common/Envelope.java new file mode 100644 index 0000000..12f5586 --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/model/common/Envelope.java @@ -0,0 +1,32 @@ +package com.vmis.interfaceapp.model.common; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.ArrayList; +import java.util.List; + +/** + * ๊ณตํ†ต ๋ž˜ํผ: { "data": [ ... ] } + */ +@JsonInclude(JsonInclude.Include.NON_NULL) +@Getter +@Setter +public class Envelope { + + @JsonProperty("data") + private List data = new ArrayList<>(); + + public Envelope() {} + + public Envelope(T single) { + if (single != null) this.data.add(single); + } + + public Envelope(List data) { + this.data = data; + } + +} diff --git a/src/main/java/com/vmis/interfaceapp/model/ledger/LedgerRequest.java b/src/main/java/com/vmis/interfaceapp/model/ledger/LedgerRequest.java new file mode 100644 index 0000000..af66d45 --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/model/ledger/LedgerRequest.java @@ -0,0 +1,79 @@ +package com.vmis.interfaceapp.model.ledger; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.Size; +import lombok.Getter; +import lombok.Setter; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@Schema(description = "์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€(๊ฐ‘) ์š”์ฒญ ํ•ญ๋ชฉ") +@Getter +@Setter +public class LedgerRequest { + + // ๋ณธ๋ฌธ ๊ณตํ†ต ๋ฉ”ํƒ€ + @Schema(description = "์ •๋ณด์‹œ์Šคํ…œID") + @JsonProperty("INFO_SYS_ID") + private String infoSysId; + + @Schema(description = "์ •๋ณด์‹œ์Šคํ…œIP") + @JsonProperty("INFO_SYS_IP") + private String infoSysIp; + + @Schema(description = "์‹œ๊ตฐ๊ตฌ์ฝ”๋“œ") + @JsonProperty("SIGUNGU_CODE") + private String sigunguCode; + + // ์„œ๋น„์Šค๋ณ„ ํ•„๋“œ + @Schema(description = "์—ฐ๊ณ„์ •๋ณด์ฝ”๋“œ", example = "AC1_FD11_02") + @JsonProperty("CNTC_INFO_CODE") + private String cntcInfoCode; + + @Schema(description = "๋‹ด๋‹น์žID") + @JsonProperty("CHARGER_ID") + private String chargerId; + + @Schema(description = "๋‹ด๋‹น์žIP") + @JsonProperty("CHARGER_IP") + private String chargerIp; + + @Schema(description = "๋‹ด๋‹น์ž๋ช…(์‚ฌ์šฉ์ž)") + @JsonProperty("CHARGER_NM") + private String chargerNm; + + @Schema(description = "์ž๋™์ฐจ๋“ฑ๋ก๋ฒˆํ˜ธ") + @JsonProperty("VHRNO") + private String vhrno; + + @Schema(description = "๊ฐœ์ธ์ •๋ณด๊ณต๊ฐœ") + @JsonProperty("ONES_INFORMATION_OPEN") + private String onesInformationOpen; + + @Schema(description = "๋ฏผ์›์ธ์„ฑ๋ช…") + @JsonProperty("CPTTR_NM") + private String cpttrNm; + + @Schema(description = "๋ฏผ์›์ธ์ฃผ๋ฏผ๋ฒˆํ˜ธ") + @JsonProperty("CPTTR_IHIDNUM") + @Size(max = 13) + private String cpttrIhidnum; + + @Schema(description = "๋ฏผ์›์ธ๋ฒ•์ •๋™์ฝ”๋“œ") + @JsonProperty("CPTTR_LEGALDONG_CODE") + private String cpttrLegaldongCode; + + @Schema(description = "๊ฒฝ๋กœ๊ตฌ๋ถ„์ฝ”๋“œ") + @JsonProperty("ROUTE_SE_CODE") + private String routeSeCode; + + @Schema(description = "๋‚ด์—ญํ‘œ์‹œ") + @JsonProperty("DETAIL_EXPRESSION") + private String detailExpression; + + @Schema(description = "์กฐํšŒ๊ตฌ๋ถ„์ฝ”๋“œ") + @JsonProperty("INQIRE_SE_CODE") + private String inqireSeCode; + +} diff --git a/src/main/java/com/vmis/interfaceapp/model/ledger/LedgerResponse.java b/src/main/java/com/vmis/interfaceapp/model/ledger/LedgerResponse.java new file mode 100644 index 0000000..3a49a0f --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/model/ledger/LedgerResponse.java @@ -0,0 +1,250 @@ +package com.vmis.interfaceapp.model.ledger; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonIgnoreProperties(ignoreUnknown = true) +@Schema(description = "์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€(๊ฐ‘) ์‘๋‹ต ๋ชจ๋ธ") +@Getter +@Setter +public class LedgerResponse { + + @JsonProperty("CNTC_RESULT_CODE") + private String cntcResultCode; + + @JsonProperty("CNTC_RESULT_DTLS") + private String cntcResultDtls; + + @JsonProperty("LEDGER_GROUP_NO") + private String ledgerGroupNo; + + @JsonProperty("LEDGER_INDVDLZ_NO") + private String ledgerIndvdlzNo; + + @JsonProperty("VHMNO") + private String vhmno; + + @JsonProperty("VHRNO") + private String vhrno; + + @JsonProperty("VIN") + private String vin; + + @JsonProperty("VHCTY_ASORT_CODE") + private String vhctyAsortCode; + + @JsonProperty("VHCTY_ASORT_NM") + private String vhctyAsortNm; + + @JsonProperty("CNM") + private String cnm; + + @JsonProperty("COLOR_CODE") + private String colorCode; + + @JsonProperty("COLOR_NM") + private String colorNm; + + @JsonProperty("NMPL_STNDRD_CODE") + private String nmplStndrdCode; + + @JsonProperty("NMPL_STNDRD_NM") + private String nmplStndrdNm; + + @JsonProperty("PRPOS_SE_CODE") + private String prposSeCode; + + @JsonProperty("PRPOS_SE_NM") + private String prposSeNm; + + @JsonProperty("MTRS_FOM_NM") + private String mtrsFomNm; + + @JsonProperty("FOM_NM") + private String fomNm; + + @JsonProperty("ACQS_AMOUNT") + private String acqsAmount; + + @JsonProperty("REGIST_DETAIL_CODE") + private String registDetailCode; + + @JsonProperty("REGIST_DETAIL_NM") + private String registDetailNm; + + @JsonProperty("FRST_REGIST_DE") + private String frstRegistDe; + + @JsonProperty("CAAG_ENDDE") + private String caagEndde; + + @JsonProperty("PRYE") + private String prye; + + @JsonProperty("SPMNNO1") + private String spmnno1; + + @JsonProperty("SPMNNO2") + private String spmnno2; + + @JsonProperty("YBL_MD") + private String yblMd; + + @JsonProperty("TRVL_DSTNC") + private String trvlDstnc; + + @JsonProperty("INSPT_VALID_PD_BGNDE") + private String insptValidPdBgnde; + + @JsonProperty("INSPT_VALID_PD_ENDDE") + private String insptValidPdEndde; + + @JsonProperty("CHCK_VALID_PD_BGNDE") + private String chckValidPdBgnde; + + @JsonProperty("CHCK_VALID_PD_ENDDE") + private String chckValidPdEndde; + + @JsonProperty("REGIST_REQST_SE_NM") + private String registReqstSeNm; + + @JsonProperty("FRST_REGIST_RQRCNO") + private String frstRegistRqrcno; + + @JsonProperty("NMPL_CSDY_REMNR_DE") + private String nmplCsdyRemnrDe; + + @JsonProperty("NMPL_CSDY_AT") + private String nmplCsdyAt; + + @JsonProperty("BSS_USE_PD") + private String bssUsePd; + + @JsonProperty("OCTHT_ERSR_PRVNTC_NTICE_DE") + private String octhtErsrPrvntcNticeDe; + + @JsonProperty("ERSR_REGIST_DE") + private String ersrRegistDe; + + @JsonProperty("ERSR_REGIST_SE_CODE") + private String ersrRegistSeCode; + + @JsonProperty("ERSR_REGIST_SE_NM") + private String ersrRegistSeNm; + + @JsonProperty("MRTGCNT") + private String mrtgcnt; + + @JsonProperty("VHCLECNT") + private String vhclecnt; + + @JsonProperty("STMDCNT") + private String stmdcnt; + + @JsonProperty("ADRES1") + private String adres1; + + @JsonProperty("ADRES_NM1") + private String adresNm1; + + @JsonProperty("ADRES") + private String adres; + + @JsonProperty("ADRES_NM") + private String adresNm; + + @JsonProperty("INDVDL_BSNM_AT") + private String indvdlBsnmAt; + + @JsonProperty("TELNO") + private String telno; + + @JsonProperty("MBER_NM") + private String mberNm; + + @JsonProperty("MBER_SE_CODE") + private String mberSeCode; + + @JsonProperty("MBER_SE_NO") + private String mberSeNo; + + @JsonProperty("TAXXMPT_TRGTER_SE_CODE") + private String taxxmptTrgterSeCode; + + @JsonProperty("TAXXMPT_TRGTER_SE_CODE_NM") + private String taxxmptTrgterSeCodeNm; + + @JsonProperty("CNT_MATTER") + private String cntMatter; + + @JsonProperty("EMD_NM") + private String emdNm; + + @JsonProperty("PRVNTCCNT") + private String prvntccnt; + + @JsonProperty("XPORT_FLFL_AT_STTEMNT_DE") + private String xportFlflAtSttemntDe; + + @JsonProperty("PARTN_RQRCNO") + private String partnRqrcno; + + @JsonProperty("record") + private List record; + + + @JsonInclude(JsonInclude.Include.NON_NULL) + @JsonIgnoreProperties(ignoreUnknown = true) + @Schema(description = "์›๋ถ€ ๋ณ€๊ฒฝ๋‚ด์—ญ record") + @Getter + @Setter + public static class Record { + @JsonProperty("MAINCHK") private String mainchk; + @JsonProperty("CHANGE_JOB_SE_CODE") private String changeJobSeCode; + @JsonProperty("MAINNO") private String mainno; + @JsonProperty("SUBNO") private String subno; + @JsonProperty("DTLS") private String dtls; + @JsonProperty("RQRCNO") private String rqrcno; + @JsonProperty("VHMNO") private String vhmno; + @JsonProperty("LEDGER_GROUP_NO") private String ledgerGroupNo; + @JsonProperty("LEDGER_INDVDLZ_NO") private String ledgerIndvdlzNo; + @JsonProperty("GUBUN_NM") private String gubunNm; + @JsonProperty("CHANGE_DE") private String changeDe; + @JsonProperty("DETAIL_SN") private String detailSn; + @JsonProperty("FLAG") private String flag; + + public String getMainchk() { return mainchk; } + public void setMainchk(String mainchk) { this.mainchk = mainchk; } + public String getChangeJobSeCode() { return changeJobSeCode; } + public void setChangeJobSeCode(String changeJobSeCode) { this.changeJobSeCode = changeJobSeCode; } + public String getMainno() { return mainno; } + public void setMainno(String mainno) { this.mainno = mainno; } + public String getSubno() { return subno; } + public void setSubno(String subno) { this.subno = subno; } + public String getDtls() { return dtls; } + public void setDtls(String dtls) { this.dtls = dtls; } + public String getRqrcno() { return rqrcno; } + public void setRqrcno(String rqrcno) { this.rqrcno = rqrcno; } + public String getVhmno() { return vhmno; } + public void setVhmno(String vhmno) { this.vhmno = vhmno; } + public String getLedgerGroupNo() { return ledgerGroupNo; } + public void setLedgerGroupNo(String ledgerGroupNo) { this.ledgerGroupNo = ledgerGroupNo; } + public String getLedgerIndvdlzNo() { return ledgerIndvdlzNo; } + public void setLedgerIndvdlzNo(String ledgerIndvdlzNo) { this.ledgerIndvdlzNo = ledgerIndvdlzNo; } + public String getGubunNm() { return gubunNm; } + public void setGubunNm(String gubunNm) { this.gubunNm = gubunNm; } + public String getChangeDe() { return changeDe; } + public void setChangeDe(String changeDe) { this.changeDe = changeDe; } + public String getDetailSn() { return detailSn; } + public void setDetailSn(String detailSn) { this.detailSn = detailSn; } + public String getFlag() { return flag; } + public void setFlag(String flag) { this.flag = flag; } + } +} diff --git a/src/main/java/com/vmis/interfaceapp/service/RequestEnricher.java b/src/main/java/com/vmis/interfaceapp/service/RequestEnricher.java new file mode 100644 index 0000000..f2674d1 --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/service/RequestEnricher.java @@ -0,0 +1,63 @@ +package com.vmis.interfaceapp.service; + +import com.vmis.interfaceapp.config.properties.VmisProperties; +import com.vmis.interfaceapp.model.basic.BasicRequest; +import com.vmis.interfaceapp.model.common.Envelope; +import com.vmis.interfaceapp.model.ledger.LedgerRequest; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.stereotype.Component; + +/** + * Populates incoming request models with values from YAML configuration. + * Unconditionally overwrites the listed fields per requirement: + * - INFO_SYS_ID, INFO_SYS_IP, SIGUNGU_CODE + * - CNTC_INFO_CODE (service specific) + * - CHARGER_ID, CHARGER_IP, CHARGER_NM + */ +@Component +public class RequestEnricher { + private static final Logger log = LoggerFactory.getLogger(RequestEnricher.class); + + private final VmisProperties props; + + public RequestEnricher(VmisProperties props) { + this.props = props; + } + + public void enrichBasic(Envelope envelope) { + if (envelope == null || envelope.getData() == null) return; + VmisProperties.SystemProps sys = props.getSystem(); + String cntc = props.getGov().getServices().getBasic().getCntcInfoCode(); + for (BasicRequest req : envelope.getData()) { + if (req == null) continue; + req.setInfoSysId(sys.getInfoSysId()); + req.setInfoSysIp(sys.getInfoSysIp()); + req.setSigunguCode(sys.getRegionCode()); + req.setCntcInfoCode(cntc); + req.setChargerId(sys.getChargerId()); + req.setChargerIp(sys.getChargerIp()); + req.setChargerNm(sys.getChargerNm()); + } + log.debug("[ENRICH] basic: applied INFO_SYS_ID={}, INFO_SYS_IP={}, SIGUNGU_CODE={}, CNTC_INFO_CODE={}", + sys.getInfoSysId(), sys.getInfoSysIp(), sys.getRegionCode(), cntc); + } + + public void enrichLedger(Envelope envelope) { + if (envelope == null || envelope.getData() == null) return; + VmisProperties.SystemProps sys = props.getSystem(); + String cntc = props.getGov().getServices().getLedger().getCntcInfoCode(); + for (LedgerRequest req : envelope.getData()) { + if (req == null) continue; + req.setInfoSysId(sys.getInfoSysId()); + req.setInfoSysIp(sys.getInfoSysIp()); + req.setSigunguCode(sys.getRegionCode()); + req.setCntcInfoCode(cntc); + req.setChargerId(sys.getChargerId()); + req.setChargerIp(sys.getChargerIp()); + req.setChargerNm(sys.getChargerNm()); + } + log.debug("[ENRICH] ledger: applied INFO_SYS_ID={}, INFO_SYS_IP={}, SIGUNGU_CODE={}, CNTC_INFO_CODE={}", + sys.getInfoSysId(), sys.getInfoSysIp(), sys.getRegionCode(), cntc); + } +} diff --git a/src/main/java/com/vmis/interfaceapp/util/GpkiCryptoUtil.java b/src/main/java/com/vmis/interfaceapp/util/GpkiCryptoUtil.java new file mode 100644 index 0000000..754b4a3 --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/util/GpkiCryptoUtil.java @@ -0,0 +1,98 @@ +package com.vmis.interfaceapp.util; + +import com.vmis.interfaceapp.config.properties.VmisProperties; +import lombok.Getter; +import lombok.Setter; + +/** + * Wrapper utility around legacy {@link NewGpkiUtil} using configuration from YAML. + * + * Notes: + * - Place this class under src/main/java/util as requested. + * - Uses Lombok for getters/setters. + */ +@Getter +@Setter +public class GpkiCryptoUtil { + + private String gpkiLicPath; + private Boolean ldap; // null -> legacy default + private String certFilePath; + private String envCertFilePathName; + private String envPrivateKeyFilePathName; + private String envPrivateKeyPasswd; + private String sigCertFilePathName; + private String sigPrivateKeyFilePathName; + private String sigPrivateKeyPasswd; + private String myServerId; // equals to certServerId (INFO system server cert id) + private String targetServerIdList; // comma joined list (can be single id) + + private transient NewGpkiUtil delegate; + + public static GpkiCryptoUtil from(VmisProperties.GpkiProps props) throws Exception { + GpkiCryptoUtil util = new GpkiCryptoUtil(); + util.setGpkiLicPath(props.getGpkiLicPath()); + util.setLdap(props.getLdap()); + util.setCertFilePath(props.getCertFilePath()); + util.setEnvCertFilePathName(props.getEnvCertFilePathName()); + util.setEnvPrivateKeyFilePathName(props.getEnvPrivateKeyFilePathName()); + util.setEnvPrivateKeyPasswd(props.getEnvPrivateKeyPasswd()); + util.setSigCertFilePathName(props.getSigCertFilePathName()); + util.setSigPrivateKeyFilePathName(props.getSigPrivateKeyFilePathName()); + util.setSigPrivateKeyPasswd(props.getSigPrivateKeyPasswd()); + util.setMyServerId(props.getCertServerId()); + // Accept single targetServerId but allow list if provided by YAML in future + util.setTargetServerIdList(props.getTargetServerId()); + util.initialize(); + return util; + } + + public void initialize() throws Exception { + NewGpkiUtil g = new NewGpkiUtil(); + if (gpkiLicPath != null) g.setGpkiLicPath(gpkiLicPath); + if (ldap != null) g.setIsLDAP(ldap); + if (certFilePath != null) g.setCertFilePath(certFilePath); + if (envCertFilePathName != null) g.setEnvCertFilePathName(envCertFilePathName); + if (envPrivateKeyFilePathName != null) g.setEnvPrivateKeyFilePathName(envPrivateKeyFilePathName); + if (envPrivateKeyPasswd != null) g.setEnvPrivateKeyPasswd(envPrivateKeyPasswd); + if (sigCertFilePathName != null) g.setSigCertFilePathName(sigCertFilePathName); + if (sigPrivateKeyFilePathName != null) g.setSigPrivateKeyFilePathName(sigPrivateKeyFilePathName); + if (sigPrivateKeyPasswd != null) g.setSigPrivateKeyPasswd(sigPrivateKeyPasswd); + if (myServerId != null) g.setMyServerId(myServerId); + if (targetServerIdList != null) g.setTargetServerIdList(targetServerIdList); + g.init(); + this.delegate = g; + } + + public String encryptToBase64(String plain, String targetServerId, String charset) throws Exception { + ensureInit(); + byte[] enc = delegate.encrypt(plain.getBytes(charset), targetServerId, true); + return delegate.encode(enc); + } + + public String decryptFromBase64(String base64, String charset) throws Exception { + ensureInit(); + byte[] bin = delegate.decode(base64); + byte[] dec = delegate.decrypt(bin); + return new String(dec, charset); + } + + public String signToBase64(String plain, String charset) throws Exception { + ensureInit(); + byte[] sig = delegate.sign(plain.getBytes(charset)); + return delegate.encode(sig); + } + + public String verifyAndExtractBase64(String signedBase64, String charset) throws Exception { + ensureInit(); + byte[] signed = delegate.decode(signedBase64); + byte[] data = delegate.validate(signed); + return new String(data, charset); + } + + private void ensureInit() { + if (delegate == null) { + throw new IllegalStateException("GpkiCryptoUtil is not initialized. Call initialize() or from(props)."); + } + } +} diff --git a/src/main/java/com/vmis/interfaceapp/util/NewGpkiUtil.java b/src/main/java/com/vmis/interfaceapp/util/NewGpkiUtil.java new file mode 100644 index 0000000..6dc2b00 --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/util/NewGpkiUtil.java @@ -0,0 +1,383 @@ +package com.vmis.interfaceapp.util; + +import java.io.File; +import java.util.HashMap; +import java.util.Map; + +import org.apache.log4j.Logger; + +import com.gpki.gpkiapi_jni; +import com.gpki.gpkiapi.GpkiApi; +import com.gpki.gpkiapi.cert.X509Certificate; +import com.gpki.gpkiapi.crypto.PrivateKey; +import com.gpki.gpkiapi.storage.Disk; + +public class NewGpkiUtil { + private static Logger logger = Logger.getLogger(NewGpkiUtil.class); + byte[] myEnvCert, myEnvKey, mySigCert, mySigKey; + private Map targetServerCertMap = new HashMap(); + + // properties + private String myServerId; + private String targetServerIdList; + private String envCertFilePathName; + private String envPrivateKeyFilePathName; + private String envPrivateKeyPasswd; + private String sigCertFilePathName; + private String sigPrivateKeyFilePathName; + private String sigPrivateKeyPasswd; + private String certFilePath; + private String gpkiLicPath = "."; + private boolean isLDAP; + private boolean testGPKI = false; + + + public void init() throws Exception { + GpkiApi.init(gpkiLicPath); + gpkiapi_jni gpki = this.getGPKI(); + if(logger.isDebugEnabled()){ + if(gpki.API_GetInfo()==0) + logger.debug(gpki.sReturnString); + else + logger.error(gpki.sDetailErrorString); + } + if(targetServerIdList!=null){ + String certIdList[] = targetServerIdList.split(","); + for(int i = 0 ; i < certIdList.length ; i++){ + String certId = certIdList[i].trim(); + if(!certId.equals("")){ + load(gpki, certId); + } + } + } + + logger.info("Loading gpki certificate : myServerId=" + + this.getMyServerId()); + + X509Certificate _myEnvCert = Disk.readCert(this + .getEnvCertFilePathName()); + myEnvCert = _myEnvCert.getCert(); + + PrivateKey _myEnvKey = Disk.readPriKey(this + .getEnvPrivateKeyFilePathName(), this.getEnvPrivateKeyPasswd()); + myEnvKey = _myEnvKey.getKey(); + + X509Certificate _mySigCert = Disk.readCert(this + .getSigCertFilePathName()); + mySigCert = _mySigCert.getCert(); + + PrivateKey _mySigKey = Disk.readPriKey(this + .getSigPrivateKeyFilePathName(), this.getSigPrivateKeyPasswd()); + mySigKey = _mySigKey.getKey(); + + //test my cert GPKI + if(testGPKI){ + load(gpki, this.getMyServerId()); + testGpki(gpki); + } + this.finish(gpki); + logger.info("GpkiUtil initialized"); + } + + private void load(gpkiapi_jni gpki, String certId) throws Exception { + + logger.debug("Loading gpki certificate : targetServerId="+ certId); + + X509Certificate cert = targetServerCertMap.get(certId); + if (cert != null) { + return; + } + + if (isLDAP) { +// String ldapUrl = "ldap://10.1.7.140:389/cn="; +// String ldapUrl = "ldap://ldap.gcc.go.kr:389/cn="; + String ldapUrl = "ldap://10.1.7.118:389/cn="; // ํ–‰์ •๋ง์ธ ๊ฒฝ์šฐ +// String ldapUrl = "ldap://152.99.57.127:389/cn="; // ์ธํ„ฐ๋„ท๋ง์ธ ๊ฒฝ์šฐ + String ldapUri; + if (certId.charAt(3) > '9') { + ldapUri = ",ou=Group of Server,o=Public of Korea,c=KR"; + } else { + ldapUri = ",ou=Group of Server,o=Government of Korea,c=KR"; + } + + int ret = gpki.LDAP_GetAnyDataByURL("userCertificate;binary", ldapUrl + certId + ldapUri); + this.checkResult(ret, gpki); + cert = new X509Certificate(gpki.baReturnArray); + } else { + if(certFilePath != null){ + cert = Disk.readCert(certFilePath + File.separator + certId + ".cer"); + }else{ + logger.debug("not certFilePath"); + } + } + + targetServerCertMap.put(certId, cert); + } + + private gpkiapi_jni getGPKI(){ + gpkiapi_jni gpki = new gpkiapi_jni(); + if(gpki.API_Init(gpkiLicPath) != 0){ + logger.error(gpki.sDetailErrorString); + } + return gpki; + } + private void finish(gpkiapi_jni gpki){ + if(gpki.API_Finish() != 0){ + logger.error(gpki.sDetailErrorString); + } + } + + public byte[] encrypt(byte[] plain, String certId , boolean load) throws Exception { + X509Certificate targetEnvCert = targetServerCertMap.get(certId); + if (targetEnvCert == null) { + throw new Exception("Certificate not found : targetServerId=" + certId); + } + + gpkiapi_jni gpki = this.getGPKI(); + try{ + int result = gpki.CMS_MakeEnvelopedData(targetEnvCert.getCert(), plain, + gpkiapi_jni.SYM_ALG_NEAT_CBC); + checkResult(result, "Fail to encrypt message", gpki); + + return gpki.baReturnArray; + }catch(Exception ex){ + throw ex; + }finally{ + finish(gpki); + } + } + + public byte[] encrypt(byte[] plain, String certId) throws Exception { + return encrypt(plain,certId , false); + } + + public byte[] decrypt(byte[] encrypted) throws Exception { + + gpkiapi_jni gpki = this.getGPKI(); + try{ + int result = gpki.CMS_ProcessEnvelopedData(myEnvCert, myEnvKey, + encrypted); + checkResult(result, "Fail to decrpyt message", gpki); + + return gpki.baReturnArray; + }catch(Exception ex){ + throw ex; + }finally{ + finish(gpki); + } + } + + public byte[] sign(byte[] plain) throws Exception { + + gpkiapi_jni gpki = this.getGPKI(); + try{ + int result = gpki.CMS_MakeSignedData(mySigCert, mySigKey, plain, null); + checkResult(result, "Fail to sign message", gpki); + + return gpki.baReturnArray; + }catch(Exception ex){ + throw ex; + }finally{ + finish(gpki); + } + } + + public byte[] validate(byte[] signed) throws Exception { + + gpkiapi_jni gpki = this.getGPKI(); + try{ + int result = gpki.CMS_ProcessSignedData(signed); + checkResult(result, "Fail to validate signed message", gpki); + return gpki.baData; + }catch(Exception ex){ + throw ex; + }finally{ + finish(gpki); + } + } + + public String encode(byte[] plain) throws Exception { + + gpkiapi_jni gpki = this.getGPKI(); + try{ + int result = gpki.BASE64_Encode(plain); + checkResult(result, "Fail to encode message", gpki); + + return gpki.sReturnString; + }catch(Exception ex){ + throw ex; + }finally{ + finish(gpki); + } + + } + + public byte[] decode(String base64) throws Exception { + + gpkiapi_jni gpki = this.getGPKI(); + try{ + int result = gpki.BASE64_Decode(base64); + checkResult(result, "Fail to decode base64 message", gpki); + + return gpki.baReturnArray; + }catch(Exception ex){ + throw ex; + }finally{ + finish(gpki); + } + } + + private void checkResult(int result, gpkiapi_jni gpki)throws Exception{ + this.checkResult(result, null, gpki); + } + + private void checkResult(int result ,String message, gpkiapi_jni gpki)throws Exception{ + if( 0 != result){ + if(null != gpki){ + throw new Exception(message + " : gpkiErrorMessage=" + gpki.sDetailErrorString); + }else{ + throw new Exception(message + " : gpkiErrorCode=" + result); + } + } + } + + public void testGpki(gpkiapi_jni gpki) throws Exception{ + //gpki test eng + logger.info("======================================================="); + logger.info("================ TEST GPKI START ======================"); + logger.info("======================================================="); + String original_Eng = "abc"; + logger.info("=== TEST ENG STRING: "+ original_Eng); + try { + byte[] encrypted = encrypt(original_Eng.getBytes(), myServerId); + logger.info("=== TEST ENG ENCRYPT STRING: "+ encode(encrypted)); + String decrypted = new String(decrypt(encrypted)); + logger.info("=== TEST ENG DECRYPT STRING: "+decrypted); + + if (!original_Eng.equals(decrypted)) { + throw new Exception("GpkiUtil not initialized properly(english)"); + } + logger.info("=== TEST ENG: OK"); + } catch (Exception e) { + logger.warn("Gpki Test error(english)", e); + throw e; + } + //gpki test kor + String original = "ํ•œ๊ธ€ํ…Œ์ŠคํŠธ"; + logger.info("=== TEST KOR STRING: "+ original); + try { + byte[] encrypted = encrypt(original.getBytes(), myServerId); + logger.info("=== TEST KOR ENCRYPT STRING: "+ encode(encrypted)); + String decrypted = new String(decrypt(encrypted)); + logger.info("=== TEST KOR DECRYPT STRING: "+decrypted); + if (!original.equals(decrypted)) { + throw new Exception("GpkiUtil not initialized properly(korean)"); + } + logger.info("=== TEST KOR: OK"); + } catch (Exception e) { + logger.warn("Gpki Test error(korean)", e); + throw e; + }finally{ + logger.info("======================================================="); + logger.info("================ TEST GPKI END ========================"); + logger.info("======================================================="); + } + } + + public String getMyServerId() { + return myServerId; + } + + public void setMyServerId(String myServerId) { + this.myServerId = myServerId.trim(); + } + + public String getEnvCertFilePathName() { + return envCertFilePathName; + } + + public void setEnvCertFilePathName(String envCertFilePathName) { + this.envCertFilePathName = envCertFilePathName.trim(); + } + + public String getEnvPrivateKeyFilePathName() { + return envPrivateKeyFilePathName; + } + + public void setEnvPrivateKeyFilePathName(String envPrivateKeyFilePathName) { + this.envPrivateKeyFilePathName = envPrivateKeyFilePathName.trim(); + } + + public String getEnvPrivateKeyPasswd() { + return envPrivateKeyPasswd; + } + + public void setEnvPrivateKeyPasswd(String envPrivateKeyPasswd) { + this.envPrivateKeyPasswd = envPrivateKeyPasswd.trim(); + } + + public String getSigPrivateKeyPasswd() { + return sigPrivateKeyPasswd; + } + + public void setSigPrivateKeyPasswd(String sigPrivateKeyPasswd) { + this.sigPrivateKeyPasswd = sigPrivateKeyPasswd.trim(); + } + + public String getSigCertFilePathName() { + return sigCertFilePathName; + } + + public void setSigCertFilePathName(String sigCertFilePathName) { + this.sigCertFilePathName = sigCertFilePathName.trim(); + } + + public String getSigPrivateKeyFilePathName() { + return sigPrivateKeyFilePathName; + } + + public void setSigPrivateKeyFilePathName(String sigPrivateKeyFilePathName) { + this.sigPrivateKeyFilePathName = sigPrivateKeyFilePathName.trim(); + } + + public boolean getIsLDAP() { + return isLDAP; + } + + public void setIsLDAP(boolean isLDAP) { + this.isLDAP = isLDAP; + } + + public String getCertFilePath() { + return certFilePath; + } + + public void setCertFilePath(String certFilePath) { + this.certFilePath = certFilePath.trim(); + } + + public String getTargetServerIdList() { + return targetServerIdList; + } + + public void setTargetServerIdList(String targetServerIdList) { + this.targetServerIdList = targetServerIdList; + } + + public String getGpkiLicPath() { + return gpkiLicPath; + } + + public void setGpkiLicPath(String gpkiLicPath) { + this.gpkiLicPath = gpkiLicPath; + } + + public boolean getTestGPKI() { + return testGPKI; + } + + public void setTestGPKI(boolean testGPKI) { + this.testGPKI = testGPKI; + } + +} diff --git a/src/main/java/com/vmis/interfaceapp/util/TxIdUtil.java b/src/main/java/com/vmis/interfaceapp/util/TxIdUtil.java new file mode 100644 index 0000000..067bf79 --- /dev/null +++ b/src/main/java/com/vmis/interfaceapp/util/TxIdUtil.java @@ -0,0 +1,18 @@ +package com.vmis.interfaceapp.util; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Locale; +import java.util.Random; + +public final class TxIdUtil { + private static final Random RANDOM = new Random(); + + private TxIdUtil() {} + + public static String generate() { + String time = new SimpleDateFormat("yyyyMMddHHmmssSSS", Locale.KOREA).format(new Date()); + int random = 100000 + RANDOM.nextInt(900000); + return time + "_" + random; + } +} diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml new file mode 100644 index 0000000..18c5ae7 --- /dev/null +++ b/src/main/resources/application-dev.yml @@ -0,0 +1,45 @@ +server: + port: 8080 + +# ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ์—ฐ๊ณ„ ์„ค์ • - ๊ฐœ๋ฐœ(DEV) ํ™˜๊ฒฝ +vmis: + system: + infoSysId: "41-345" + infoSysIp: "105.19.10.135" + regionCode: "41460" + departmentCode: "" + chargerId: "" + chargerIp: "" + chargerNm: "" + gpki: + enabled: "Y" + useSign: true + charset: "UTF-8" + certServerId: "SVR5640020001" + targetServerId: "SVR1500000015" + ldap: true + gpkiLicPath: "C:/gpki2/gpkisecureweb/conf" + certFilePath: "C:/gpki2/gpkisecureweb/certs" + envCertFilePathName: "C:/gpki2/gpkisecureweb/certs/SVR5640020001_env.cer" + envPrivateKeyFilePathName: "C:/gpki2/gpkisecureweb/certs/SVR5640020001_env.key" + envPrivateKeyPasswd: "change-me-dev" + sigCertFilePathName: "C:/gpki2/gpkisecureweb/certs/SVR5640020001_sig.cer" + sigPrivateKeyFilePathName: "C:/gpki2/gpkisecureweb/certs/SVR5640020001_sig.key" + sigPrivateKeyPasswd: "change-me-dev" + gov: + scheme: "http" + host: "10.188.225.94:29001" # ๊ฐœ๋ฐœ(DEV) ํ–‰์ •๋ง + basePath: "/piss/api/molit" + connectTimeoutMillis: 5000 + readTimeoutMillis: 10000 + services: + basic: # ์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ + path: "/SignguCarBassMatterInqireService" + cntcInfoCode: "AC1_FD11_01" + apiKey: "05e8d748fb366a0831dce71a32424460746a72d591cf483ccc130534dd51e394" + cvmisApikey: "014F9215-B6D9A3B6-4CED5225-68408C46" + ledger: # ์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€(๊ฐ‘) + path: "/SignguCarLedgerFrmbkService" + cntcInfoCode: "AC1_FD11_02" + apiKey: "1beeb01857c2e7e9b41c002b007ccb9754d9c272f66d4bb64fc45b302c69e529" + cvmisApikey: "63DF159B-7B9C64C5-86CCB15C-5F93E750" diff --git a/src/main/resources/application-prd.yml b/src/main/resources/application-prd.yml new file mode 100644 index 0000000..d771f24 --- /dev/null +++ b/src/main/resources/application-prd.yml @@ -0,0 +1,42 @@ +server: + port: 8080 + +# ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ์—ฐ๊ณ„ ์„ค์ • - ์šด์˜(PRD) ํ™˜๊ฒฝ +# ์ฃผ์˜: ์‹ค์ œ ์šด์˜ ํ‚ค/ํ˜ธ์ŠคํŠธ๋Š” ๋ฐฐํฌ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋‚˜ ์™ธ๋ถ€ ์„ค์ •(Secret)๋กœ ์ฃผ์ž… ๊ถŒ์žฅ +vmis: + system: + infoSysId: "41-345" # ์šด์˜ ์‹ค์ œ๊ฐ’์œผ๋กœ ๊ต์ฒด + regionCode: "" # ์šด์˜ ์‹ค์ œ๊ฐ’ + departmentCode: "" # ์šด์˜ ์‹ค์ œ๊ฐ’ + gpki: + enabled: "Y" + useSign: true + charset: "UTF-8" + certServerId: "SVR5640020001" # ์šด์˜ ์ธ์ฆ์„œ ID๋กœ ๊ต์ฒด + targetServerId: "SVR1500000015" + ldap: true + gpkiLicPath: "C:/gpki2/gpkisecureweb/conf" + certFilePath: "C:/gpki2/gpkisecureweb/certs" + envCertFilePathName: "C:/gpki2/gpkisecureweb/certs/SVR5640020001_env.cer" + envPrivateKeyFilePathName: "C:/gpki2/gpkisecureweb/certs/SVR5640020001_env.key" + envPrivateKeyPasswd: "change-me-prd" + sigCertFilePathName: "C:/gpki2/gpkisecureweb/certs/SVR5640020001_sig.cer" + sigPrivateKeyFilePathName: "C:/gpki2/gpkisecureweb/certs/SVR5640020001_sig.key" + sigPrivateKeyPasswd: "change-me-prd" + gov: + scheme: "http" + host: "10.188.225.25:29001" # ์˜ˆ์‹œ: ์šด์˜ ํ–‰์ •๋ง (๋ช…์„ธ์— ๋งž์ถฐ ์ˆ˜์ •) + basePath: "/piss/api/molit" + connectTimeoutMillis: 5000 + readTimeoutMillis: 10000 + services: + basic: + path: "/SignguCarBassMatterInqireService" + cntcInfoCode: "AC1_FD11_01" + apiKey: "05e8d748fb366a0831dce71a32424460746a72d591cf483ccc130534dd51e394" + cvmisApikey: "014F9215-B6D9A3B6-4CED5225-68408C46" + ledger: + path: "/SignguCarLedgerFrmbkService" + cntcInfoCode: "AC1_FD11_02" + apiKey: "1beeb01857c2e7e9b41c002b007ccb9754d9c272f66d4bb64fc45b302c69e529" + cvmisApikey: "63DF159B-7B9C64C5-86CCB15C-5F93E750" diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml new file mode 100644 index 0000000..260e017 --- /dev/null +++ b/src/main/resources/application.yml @@ -0,0 +1,55 @@ +spring: + application: + name: vmis-interface + mvc: + pathmatch: + matching-strategy: ant_path_matcher + +server: + port: 8080 + +# ์ธํ„ฐํŽ˜์ด์Šค ๋ฐ ์—ฐ๊ณ„ ์„ค์ • (๊ณตํ†ต ๊ธฐ๋ณธ๊ฐ’) +vmis: + system: + infoSysId: "41-345" # INFO_SYS_ID + infoSysIp: "" # INFO_SYS_IP (์˜ˆ: 105.19.10.135) + # ์˜ˆ์‹œ: ๊ฒฝ๊ธฐ๋„ ์šฉ์ธ์‹œ ์ˆ˜์ง€๊ตฌ ์žฅ์• ์ธ๋ณต์ง€๊ณผ + regionCode: "" # ์‹œ๊ตฐ๊ตฌ์ฝ”๋“œ (SIGUNGU_CODE, ์˜ˆ: 41460) + departmentCode: "" # ํ–‰์ •๋ถ€์„œ์ฝ”๋“œ ํ•„์š” ์‹œ ์ž…๋ ฅ + # ๋‹ด๋‹น์ž ๊ธฐ๋ณธ๊ฐ’(๋ฏธ์ž…๋ ฅ ์‹œ ๋นˆ ๊ฐ’) + chargerId: "" + chargerIp: "" + chargerNm: "" + gpki: + enabled: "Y" # Y ๋˜๋Š” N (ํ™˜๊ฒฝ๋ณ„ yml์—์„œ ์žฌ์ •์˜ ๊ฐ€๋Šฅ) + useSign: true + charset: "UTF-8" + certServerId: "SVR5640020001" # ์ด์šฉ๊ธฐ๊ด€ ์ธ์ฆ์„œ ID (ENV/SIG ๊ณตํ†ต ์„œ๋ฒ„ ID) + targetServerId: "SVR1611000006" # ๋ณด์œ ๊ธฐ๊ด€ ์ธ์ฆ์„œ ID(๊ตํ†ต์•ˆ์ „๊ณต๋‹จ) + # ์•„๋ž˜๋Š” ๋„ค์ดํ‹ฐ๋ธŒ GPKI ์œ ํ‹ธ(NewGpkiUtil) ์„ค์ •๊ฐ’ (ํ•„์š” ์‹œ ์‚ฌ์šฉ) + ldap: true # LDAP ์‚ฌ์šฉ ์—ฌ๋ถ€ (true: LDAP์—์„œ ๋Œ€์ƒ์„œ๋ฒ„ ์ธ์ฆ์„œ ์กฐํšŒ) + gpkiLicPath: "C:/gpki2/gpkisecureweb/conf" + certFilePath: "C:/gpki2/gpkisecureweb/certs" # LDAP ๋ฏธ์‚ฌ์šฉ ์‹œ ๋Œ€์ƒ์„œ๋ฒ„ ์ธ์ฆ์„œ ํŒŒ์ผ ํด๋” + envCertFilePathName: "C:/gpki2/gpkisecureweb/certs/SVRxxxx_env.cer" + envPrivateKeyFilePathName: "C:/gpki2/gpkisecureweb/certs/SVRxxxx_env.key" + envPrivateKeyPasswd: "change-me" + sigCertFilePathName: "C:/gpki2/gpkisecureweb/certs/SVRxxxx_sig.cer" + sigPrivateKeyFilePathName: "C:/gpki2/gpkisecureweb/certs/SVRxxxx_sig.key" + sigPrivateKeyPasswd: "change-me" + gov: + scheme: "http" + host: "localhost:18080" # ํ™˜๊ฒฝ๋ณ„ yml์—์„œ ์žฌ์ •์˜ + basePath: "/piss/api/molit" + connectTimeoutMillis: 5000 + readTimeoutMillis: 10000 + services: + basic: # ์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ + path: "/SignguCarBassMatterInqireService" + cntcInfoCode: "AC1_FD11_01" + apiKey: "change-me" + cvmisApikey: "change-me" + ledger: # ์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€(๊ฐ‘) + path: "/SignguCarLedgerFrmbkService" + cntcInfoCode: "AC1_FD11_02" + apiKey: "change-me" + cvmisApikey: "change-me" diff --git a/์ฐธ๊ณ ์ž๋ฃŒ/gpki ์•”ํ˜ธํ™” ์›์‹œ์†Œ์Šค/N0000001589_์ฐจ์„ธ๋Œ€๊ตํ†ต์•ˆ์ „๊ณต๋‹จ_์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„_์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ_SignguCarBassMatterInqireService.java b/์ฐธ๊ณ ์ž๋ฃŒ/gpki ์•”ํ˜ธํ™” ์›์‹œ์†Œ์Šค/N0000001589_์ฐจ์„ธ๋Œ€๊ตํ†ต์•ˆ์ „๊ณต๋‹จ_์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„_์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ_SignguCarBassMatterInqireService.java new file mode 100644 index 0000000..06da35d --- /dev/null +++ b/์ฐธ๊ณ ์ž๋ฃŒ/gpki ์•”ํ˜ธํ™” ์›์‹œ์†Œ์Šค/N0000001589_์ฐจ์„ธ๋Œ€๊ตํ†ต์•ˆ์ „๊ณต๋‹จ_์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„_์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ_SignguCarBassMatterInqireService.java @@ -0,0 +1,316 @@ + + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.net.HttpURLConnection; +import java.net.InetAddress; +import java.net.MalformedURLException; +import java.net.URL; +import java.nio.charset.Charset; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Random; + +import util.NewGpkiUtil; +import util.ShareGpki; + +public class N0000001589_์ฐจ์„ธ๋Œ€๊ตํ†ต์•ˆ์ „๊ณต๋‹จ_์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„_์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ_SignguCarBassMatterInqireService { + + /** + * IF-LI-AC1-FD11-01-GSR0 + * ์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ + */ + + // ์ด์šฉ๊ธฐ๊ด€์˜ ๋„คํŠธ์›Œํฌ๋ง์— ๋”ฐ๋ผ์„œ ํ˜ธ์ถœ host ์ •๋ณด๊ฐ€ ๋‹ค๋ฆ„. (๋„คํŠธ์›Œํฌ๋ง๊ณผ ๊ฐœ๋ฐœ or ์šด์˜์˜ ์šฉ๋„์— ๋”ฐ๋ผ์„œ ํ•ด๋‹นํ•˜๋Š” host๋กœ ์„ค์ •) + + // ์ด์šฉ๊ธฐ๊ด€ : ํ–‰์ •๋ง + static String host = "10.188.225.94:29001"; // ๊ฐœ๋ฐœ(DEV) +// static String host = "10.188.225.25:29001"; // ์šด์˜(OP) + + // ์ด์šฉ๊ธฐ๊ด€ : ์ธํ„ฐ๋„ท +// static String host = "116.67.73.153:39011"; // ๊ฐœ๋ฐœ(DEV) +// static String host = "116.67.73.153:29001"; // ์šด์˜(OP) + + static String targetUrl = "http://"+host+"/piss/api/molit/SignguCarBassMatterInqireService"; + static String method = "POST"; + + //--------------Client Setting--------------- + //http Header Setting + static String requestType = "json"; + static String apiKey = "ํ–‰์ •์ •๋ณด๊ณต๋™์ด์šฉ์„ผํ„ฐ API KEY"; // ํ–‰์ •์ •๋ณด๊ณต๋™์ด์šฉ์„ผํ„ฐ์—์„œ ๋ฐœ๊ธ‰ + static String cvmis_apikey = "๊ตํ†ต์•ˆ์ „๊ณต๋‹จ cvmis_apikey"; // ๊ตํ†ต์•ˆ์ „๊ณต๋‹จ์—์„œ ๋ฐœ๊ธ‰ + static boolean useMockResponse = true; // true false + //http Body Setting + static String charset = "UTF-8"; + + //Gpki Setting + static boolean useGpki = true; + static boolean useSign = true; + static String gpkiCharset = "UTF-8"; + static String certServerId = "์ด์šฉ๊ธฐ๊ด€ ์ธ์ฆ์„œ"; // ์ด์šฉ๊ธฐ๊ด€ ์ธ์ฆ์„œ ID + static String targetServerId = "SVR1611000006"; // ๋ณด์œ ๊ธฐ๊ด€ ์ธ์ฆ์„œ ID(๊ตํ†ต์•ˆ์ „๊ณต๋‹จ) + public static void main(String[] args) { + + N0000001589_์ฐจ์„ธ๋Œ€๊ตํ†ต์•ˆ์ „๊ณต๋‹จ_์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„_์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ_SignguCarBassMatterInqireService.executeClient(); + } + public static void executeClient(){ + String requestBody = makeBody(); + String tx_id = getTx_Id(); + + Map requestHeader = new LinkedHashMap(); + try { + requestHeader.put("Host", InetAddress.getLocalHost().toString()); + requestHeader.put("User-Agent", "java-net-httpclient"); + } catch (Exception e) { + e.printStackTrace(); + } + requestHeader.put("Content-Type", "application/"+requestType); + requestHeader.put("Accept", "application/"+requestType); + requestHeader.put("gpki_yn",useGpki ? "Y":"N"); +// requestHeader.put("mock_yn",useMockResponse ? "Y":"N"); + requestHeader.put("tx_id", tx_id); + requestHeader.put("cert_server_id",certServerId); + requestHeader.put("api_key", apiKey); + requestHeader.put("cvmis_apikey", cvmis_apikey); + + System.out.println("-------- Request Header -----------"); + for(Map.Entry entry : requestHeader.entrySet()){ + System.out.println(entry.getKey() + " : " + entry.getValue()); + } + System.out.println("--------- Request Body ------------"); + System.out.println(requestBody); + + // body ์•”ํ˜ธํ™” + if(useGpki) { + System.out.println("----- Request Body Encrypt --------"); + String bodyEncryptTarget = requestBody; + String bodyEncrypt = ""; + try { + bodyEncrypt = gpkiEncrypt(bodyEncryptTarget.toString()); + requestBody = requestBody.replace(bodyEncryptTarget, bodyEncrypt); + System.out.println("Encrypt Body : " + requestBody); + } catch (Exception e) { + e.printStackTrace(); + } + } + System.out.println("------------ Response -------------"); + N0000001589_์ฐจ์„ธ๋Œ€๊ตํ†ต์•ˆ์ „๊ณต๋‹จ_์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„_์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ_SignguCarBassMatterInqireService.Response response = sendRequest(targetUrl, method, requestHeader, requestBody, charset); + + int responseCode = response.getResponseCode(); + Map responseHeader = response.getHeaderMap(); + String responseBody = response.getBody(); + + System.out.println("-> response : " + response); + System.out.println("-> responseCode : " + responseCode); + System.out.println("-> responseHeader : " + responseHeader); + System.out.println("-> responseBody : " + responseBody); + + // Body ๋ณตํ˜ธํ™” + if(useGpki && responseCode == HttpURLConnection.HTTP_OK) { + System.out.println("----- Response Body Decrypt --------"); + + try { + String bodyDecryptTarget = responseBody; + String bodyDecrypt = ""; + + bodyDecrypt = gpkiDecrypt(bodyDecryptTarget); + responseBody = responseBody.replace(bodyDecryptTarget, bodyDecrypt); + } catch (Exception e) { + e.printStackTrace(); + } + } + System.out.println("-------- Response Message ---------"); + System.out.println(responseBody); + } + private static Response sendRequest(String targetUrl, String method, + Map requestHeader, String body, String charset) { + Response response = new Response(); + + HttpURLConnection con = null; + try { + URL url = new URL(targetUrl); + con = (HttpURLConnection) url.openConnection(); + } catch (MalformedURLException e) { + e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } + + try { + for(Map.Entry entry : requestHeader.entrySet()){ + con.setRequestProperty(entry.getKey(), entry.getValue()); + } + con.setRequestMethod(method); + con.setDefaultUseCaches(false); + con.setAllowUserInteraction(false); + con.setReadTimeout(15000); + con.setConnectTimeout(3000); + con.setDoInput(true); + con.setDoOutput(true); + + con.connect(); + + OutputStream os = null; + OutputStreamWriter osw = null; + StringBuffer responseBodyBuffer = new StringBuffer(""); + Map headerMap = response.getHeaderMap(); + + os = con.getOutputStream(); + osw = new OutputStreamWriter(os, Charset.forName(charset)); + osw.write(body); + osw.flush(); + + int code = con.getResponseCode(); + response.setResponseCode(code); + + InputStream is = null; + InputStreamReader isr = null; + if(code == HttpURLConnection.HTTP_OK){ + is = con.getInputStream(); + }else{ + is = con.getErrorStream(); + } + + Map> headerFields = con.getHeaderFields(); + for(Map.Entry> headerEntry : headerFields.entrySet()){ + String key = headerEntry.getKey(); + List values = headerEntry.getValue(); + if(values.size()<=1){ + headerMap.put(key, values.get(0)); + }else{ + headerMap.put(key, values); + } + } + try { + isr = new InputStreamReader(is, Charset.forName(charset)); + int len = -1; + char[] ch = new char[32]; + while((len = isr.read(ch, 0, ch.length))!= -1){ + responseBodyBuffer.append(new String(ch, 0, len)); + } + response.setBody(responseBodyBuffer.toString()); + } catch (IOException e) { + e.printStackTrace(); + }finally{ + isr.close(); + is.close(); + os.close(); + osw.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally{ + if(con != null){ + con.disconnect(); + } + } + return response; + } + private static String makeBody() { + StringBuffer sb = new StringBuffer(); + // request data + sb.append("{\n"); + sb.append(" \"data\": [\n"); + sb.append(" {\n"); + sb.append(" \"CNTC_INFO_CODE\": \"\",\n"); + sb.append(" \"ONES_INFORMATION_OPEN\": \"\",\n"); + sb.append(" \"VHRNO\": \"\",\n"); + sb.append(" \"CPTTR_NM\": \"\",\n"); + sb.append(" \"CPTTR_IHIDNUM\": \"\",\n"); + sb.append(" \"CPTTR_LEGALDONG_CODE\": \"\",\n"); + sb.append(" \"ROUTE_SE_CODE\": \"\",\n"); + sb.append(" \"DETAIL_EXPRESSION\": \"\",\n"); + sb.append(" \"INQIRE_SE_CODE\": \"\"\n"); + sb.append(" }\n"); + sb.append(" ]\n"); + sb.append("}\n"); + return sb.toString(); + } + + // ์•”ํ˜ธํ™” + private static String gpkiEncrypt(String str) throws Exception { + NewGpkiUtil g = ShareGpki.getGpkiUtil(targetServerId); + + byte[] encrypted = g.encrypt(str.getBytes(gpkiCharset), targetServerId); // ์•”ํ˜ธํ™” + byte[] signed = encrypted; + if(useSign) { + signed = g.sign(encrypted); // digital sign + } + String encoded = g.encode(signed); // base64 encode + return encoded; + } + + // ๋ณตํ˜ธํ™” + public static String gpkiDecrypt(String str) throws Exception { + NewGpkiUtil g = ShareGpki.getGpkiUtil(targetServerId); + byte[] decode = g.decode(str); // base64 decode + byte[] validate = decode; + if(useSign) { + validate = g.validate(decode); + } + byte[] decrypt = g.decrypt(validate); // ๋ณตํ˜ธํ™” + String decrypted = new String(decrypt,gpkiCharset); +// System.out.println("body(encrypted) : " + str); // Testing log +// System.out.println("body(decrypt) : " + decrypted); // Testing log + return decrypted; + } + private static String getTx_Id() { + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS",Locale.KOREA); + String cur = sdf.format(new Date()); + String transactionUniqueId = cur + keyGen(8); + return transactionUniqueId; + } + private static Random r = new Random(System.currentTimeMillis()); + public static String keyGen(int length) { + char[] key = new char[length]; + int tmp = 0; + for (int i = 0; i < length; i++) { + tmp = r.nextInt(3); + if (tmp == 0) + key[i] = (char) (r.nextInt(26) + 65); + else if (tmp == 1) + key[i] = (char) (r.nextInt(10) + 48); + else if (tmp == 2) + key[i] = (char) (r.nextInt(26) + 97); + else { + key[i] = (char) r.nextInt(256); + } + } + return String.valueOf(key); + } + + /* + * Response + */ + public static class Response { + int responseCode; + String body; + Map headerMap = new LinkedHashMap(); + + public int getResponseCode() { + return responseCode; + } + public void setResponseCode(int responseCode) { + this.responseCode = responseCode; + } + public String getBody() { + return body; + } + public void setBody(String body) { + this.body = body; + } + public Map getHeaderMap() { + return headerMap; + } + public void setHeaderMap(Map headerMap) { + this.headerMap = headerMap; + } + } +} diff --git a/์ฐธ๊ณ ์ž๋ฃŒ/gpki ์•”ํ˜ธํ™” ์›์‹œ์†Œ์Šค/N0000002006_์ฐจ์„ธ๋Œ€๊ตํ†ต์•ˆ์ „๊ณต๋‹จ_์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„_์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€๊ฐ‘_SignguCarLedgerFrmbkService.java b/์ฐธ๊ณ ์ž๋ฃŒ/gpki ์•”ํ˜ธํ™” ์›์‹œ์†Œ์Šค/N0000002006_์ฐจ์„ธ๋Œ€๊ตํ†ต์•ˆ์ „๊ณต๋‹จ_์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„_์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€๊ฐ‘_SignguCarLedgerFrmbkService.java new file mode 100644 index 0000000..d4a66af --- /dev/null +++ b/์ฐธ๊ณ ์ž๋ฃŒ/gpki ์•”ํ˜ธํ™” ์›์‹œ์†Œ์Šค/N0000002006_์ฐจ์„ธ๋Œ€๊ตํ†ต์•ˆ์ „๊ณต๋‹จ_์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„_์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€๊ฐ‘_SignguCarLedgerFrmbkService.java @@ -0,0 +1,311 @@ +package _์ฐจ์„ธ๋Œ€๊ตํ†ต์•ˆ์ „๊ณต๋‹จ_์‹œ๊ตฐ๊ตฌ_์ด์šฉ๊ธฐ๊ด€์šฉ; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; +import java.io.OutputStreamWriter; +import java.net.HttpURLConnection; +import java.net.InetAddress; +import java.net.MalformedURLException; +import java.net.URL; +import java.nio.charset.Charset; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Random; + +import util.NewGpkiUtil; +import util.ShareGpki; + +public class N0000002006_์ฐจ์„ธ๋Œ€๊ตํ†ต์•ˆ์ „๊ณต๋‹จ_์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„_์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€๊ฐ‘_SignguCarLedgerFrmbkService { + + /** + * IF-LI-AC1-FD11-02-GSR0 + * ์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€(๊ฐ‘) + */ + + // ์ด์šฉ๊ธฐ๊ด€์˜ ๋„คํŠธ์›Œํฌ๋ง์— ๋”ฐ๋ผ์„œ ํ˜ธ์ถœ host ์ •๋ณด๊ฐ€ ๋‹ค๋ฆ„. (๋„คํŠธ์›Œํฌ๋ง๊ณผ ๊ฐœ๋ฐœ or ์šด์˜์˜ ์šฉ๋„์— ๋”ฐ๋ผ์„œ ํ•ด๋‹นํ•˜๋Š” host๋กœ ์„ค์ •) + + // ์ด์šฉ๊ธฐ๊ด€ : ํ–‰์ •๋ง + static String host = "10.188.225.94:29001"; // ๊ฐœ๋ฐœ(DEV) +// static String host = "10.188.225.25:29001"; // ์šด์˜(OP) + + // ์ด์šฉ๊ธฐ๊ด€ : ์ธํ„ฐ๋„ท +// static String host = "116.67.73.153:39011"; // ๊ฐœ๋ฐœ(DEV) +// static String host = "116.67.73.153:29001"; // ์šด์˜(OP) + + static String targetUrl = "http://"+host+"/piss/api/molit/SignguCarLedgerFrmbkService"; + static String method = "POST"; + + //--------------Client Setting--------------- + //http Header Setting + static String requestType = "json"; + static String apiKey = "ํ–‰์ •์ •๋ณด๊ณต๋™์ด์šฉ์„ผํ„ฐ API KEY"; // ํ–‰์ •์ •๋ณด๊ณต๋™์ด์šฉ์„ผํ„ฐ์—์„œ ๋ฐœ๊ธ‰ + static String cvmis_apikey = "๊ตํ†ต์•ˆ์ „๊ณต๋‹จ cvmis_apikey"; // ๊ตํ†ต์•ˆ์ „๊ณต๋‹จ์—์„œ ๋ฐœ๊ธ‰ + static boolean useMockResponse = true; // true false + //http Body Setting + static String charset = "UTF-8"; + + //Gpki Setting + static boolean useGpki = true; + static boolean useSign = true; + static String gpkiCharset = "UTF-8"; + static String certServerId = "์ด์šฉ๊ธฐ๊ด€ ์ธ์ฆ์„œ"; // ์ด์šฉ๊ธฐ๊ด€ ์ธ์ฆ์„œ ID + static String targetServerId = "SVR1611000006"; // ๋ณด์œ ๊ธฐ๊ด€ ์ธ์ฆ์„œ ID(๊ตํ†ต์•ˆ์ „๊ณต๋‹จ) + public static void main(String[] args) { + + N0000002006_์ฐจ์„ธ๋Œ€๊ตํ†ต์•ˆ์ „๊ณต๋‹จ_์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„_์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€๊ฐ‘_SignguCarLedgerFrmbkService.executeClient(); + } + public static void executeClient(){ + String requestBody = makeBody(); + String tx_id = getTx_Id(); + + Map requestHeader = new LinkedHashMap(); + try { + requestHeader.put("Host", InetAddress.getLocalHost().toString()); + requestHeader.put("User-Agent", "java-net-httpclient"); + } catch (Exception e) { + e.printStackTrace(); + } + requestHeader.put("Content-Type", "application/"+requestType); + requestHeader.put("Accept", "application/"+requestType); + requestHeader.put("gpki_yn",useGpki ? "Y":"N"); +// requestHeader.put("mock_yn",useMockResponse ? "Y":"N"); + requestHeader.put("tx_id", tx_id); + requestHeader.put("cert_server_id",certServerId); + requestHeader.put("api_key", apiKey); + requestHeader.put("cvmis_apikey", cvmis_apikey); + + System.out.println("-------- Request Header -----------"); + for(Map.Entry entry : requestHeader.entrySet()){ + System.out.println(entry.getKey() + " : " + entry.getValue()); + } + System.out.println("--------- Request Body ------------"); + System.out.println(requestBody); + + // body ์•”ํ˜ธํ™” + if(useGpki) { + System.out.println("----- Request Body Encrypt --------"); + String bodyEncryptTarget = requestBody; + String bodyEncrypt = ""; + try { + bodyEncrypt = gpkiEncrypt(bodyEncryptTarget.toString()); + requestBody = requestBody.replace(bodyEncryptTarget, bodyEncrypt); + System.out.println("Encrypt Body : " + requestBody); + } catch (Exception e) { + e.printStackTrace(); + } + } + System.out.println("------------ Response -------------"); + N0000002006_์ฐจ์„ธ๋Œ€๊ตํ†ต์•ˆ์ „๊ณต๋‹จ_์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„_์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€๊ฐ‘_SignguCarLedgerFrmbkService.Response response = sendRequest(targetUrl, method, requestHeader, requestBody, charset); + + int responseCode = response.getResponseCode(); + Map responseHeader = response.getHeaderMap(); + String responseBody = response.getBody(); + + System.out.println("-> response : " + response); + System.out.println("-> responseCode : " + responseCode); + System.out.println("-> responseHeader : " + responseHeader); + System.out.println("-> responseBody : " + responseBody); + + // Body ๋ณตํ˜ธํ™” + if(useGpki && responseCode == HttpURLConnection.HTTP_OK) { + System.out.println("----- Response Body Decrypt --------"); + + try { + String bodyDecryptTarget = responseBody; + String bodyDecrypt = ""; + + bodyDecrypt = gpkiDecrypt(bodyDecryptTarget); + responseBody = responseBody.replace(bodyDecryptTarget, bodyDecrypt); + } catch (Exception e) { + e.printStackTrace(); + } + } + System.out.println("-------- Response Message ---------"); + System.out.println(responseBody); + } + private static Response sendRequest(String targetUrl, String method, + Map requestHeader, String body, String charset) { + Response response = new Response(); + + HttpURLConnection con = null; + try { + URL url = new URL(targetUrl); + con = (HttpURLConnection) url.openConnection(); + } catch (MalformedURLException e) { + e.printStackTrace(); + } catch (Exception e) { + e.printStackTrace(); + } + + try { + for(Map.Entry entry : requestHeader.entrySet()){ + con.setRequestProperty(entry.getKey(), entry.getValue()); + } + con.setRequestMethod(method); + con.setDefaultUseCaches(false); + con.setAllowUserInteraction(false); + con.setReadTimeout(15000); + con.setConnectTimeout(3000); + con.setDoInput(true); + con.setDoOutput(true); + + con.connect(); + + OutputStream os = null; + OutputStreamWriter osw = null; + StringBuffer responseBodyBuffer = new StringBuffer(""); + Map headerMap = response.getHeaderMap(); + + os = con.getOutputStream(); + osw = new OutputStreamWriter(os, Charset.forName(charset)); + osw.write(body); + osw.flush(); + + int code = con.getResponseCode(); + response.setResponseCode(code); + + InputStream is = null; + InputStreamReader isr = null; + if(code == HttpURLConnection.HTTP_OK){ + is = con.getInputStream(); + }else{ + is = con.getErrorStream(); + } + + Map> headerFields = con.getHeaderFields(); + for(Map.Entry> headerEntry : headerFields.entrySet()){ + String key = headerEntry.getKey(); + List values = headerEntry.getValue(); + if(values.size()<=1){ + headerMap.put(key, values.get(0)); + }else{ + headerMap.put(key, values); + } + } + try { + isr = new InputStreamReader(is, Charset.forName(charset)); + int len = -1; + char[] ch = new char[32]; + while((len = isr.read(ch, 0, ch.length))!= -1){ + responseBodyBuffer.append(new String(ch, 0, len)); + } + response.setBody(responseBodyBuffer.toString()); + } catch (IOException e) { + e.printStackTrace(); + }finally{ + isr.close(); + is.close(); + os.close(); + osw.close(); + } + } catch (Exception e) { + e.printStackTrace(); + } finally{ + if(con != null){ + con.disconnect(); + } + } + return response; + } + private static String makeBody() { + StringBuffer sb = new StringBuffer(); + // request data + sb.append("{\n"); + sb.append(" \"data\": [\n"); + sb.append(" {\n"); + sb.append(" \"CHARGER_ID\": \"\",\n"); + sb.append(" \"CHARGER_IP\": \"\",\n"); + sb.append(" \"CHARGER_NM\": \"\",\n"); + sb.append(" \"REQUST_VHRNO\": \"\"\n"); + sb.append(" }\n"); + sb.append(" ]\n"); + sb.append("}\n"); + return sb.toString(); + } + + // ์•”ํ˜ธํ™” + private static String gpkiEncrypt(String str) throws Exception { + NewGpkiUtil g = ShareGpki.getGpkiUtil(targetServerId); + + byte[] encrypted = g.encrypt(str.getBytes(gpkiCharset), targetServerId); // ์•”ํ˜ธํ™” + byte[] signed = encrypted; + if(useSign) { + signed = g.sign(encrypted); // digital sign + } + String encoded = g.encode(signed); // base64 encode + return encoded; + } + + // ๋ณตํ˜ธํ™” + public static String gpkiDecrypt(String str) throws Exception { + NewGpkiUtil g = ShareGpki.getGpkiUtil(targetServerId); + byte[] decode = g.decode(str); // base64 decode + byte[] validate = decode; + if(useSign) { + validate = g.validate(decode); + } + byte[] decrypt = g.decrypt(validate); // ๋ณตํ˜ธํ™” + String decrypted = new String(decrypt,gpkiCharset); +// System.out.println("body(encrypted) : " + str); // Testing log +// System.out.println("body(decrypt) : " + decrypted); // Testing log + return decrypted; + } + private static String getTx_Id() { + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS",Locale.KOREA); + String cur = sdf.format(new Date()); + String transactionUniqueId = cur + keyGen(8); + return transactionUniqueId; + } + private static Random r = new Random(System.currentTimeMillis()); + public static String keyGen(int length) { + char[] key = new char[length]; + int tmp = 0; + for (int i = 0; i < length; i++) { + tmp = r.nextInt(3); + if (tmp == 0) + key[i] = (char) (r.nextInt(26) + 65); + else if (tmp == 1) + key[i] = (char) (r.nextInt(10) + 48); + else if (tmp == 2) + key[i] = (char) (r.nextInt(26) + 97); + else { + key[i] = (char) r.nextInt(256); + } + } + return String.valueOf(key); + } + + /* + * Response + */ + public static class Response { + int responseCode; + String body; + Map headerMap = new LinkedHashMap(); + + public int getResponseCode() { + return responseCode; + } + public void setResponseCode(int responseCode) { + this.responseCode = responseCode; + } + public String getBody() { + return body; + } + public void setBody(String body) { + this.body = body; + } + public Map getHeaderMap() { + return headerMap; + } + public void setHeaderMap(Map headerMap) { + this.headerMap = headerMap; + } + } +} diff --git a/์ฐธ๊ณ ์ž๋ฃŒ/์ธํ„ฐํŽ˜์ด์Šค ์ •์˜์„œ/0000001589.๋ณ„์ฒจ.์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค ๋ฉ”์‹œ์ง€ ๊ทœ๊ฒฉ.hwp b/์ฐธ๊ณ ์ž๋ฃŒ/์ธํ„ฐํŽ˜์ด์Šค ์ •์˜์„œ/0000001589.๋ณ„์ฒจ.์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค ๋ฉ”์‹œ์ง€ ๊ทœ๊ฒฉ.hwp new file mode 100644 index 0000000000000000000000000000000000000000..56abf9ddd125242988ed2e59177c6c163c0e83c9 GIT binary patch literal 147456 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
RKRZ69%x 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

HP7^CMBKh34m1NxA8S4DpED z3(-oHT)5VvT0b#?4%*Xy`$|@+Ix=n=^x5l&0`{rwFW4?XHQl;hJA8grM7q236rmC`N9V>%Xb`-WGw;g=#;WoHVk=6+!<^ zHoS0vp~EAasYkvz=w}Tqqq2%z`SlgC+U@*I_fEzukD5hXs_jEaWYu!X7Td{EiFnl! zS9jxSJKEY=Ar;RE>*)OAN5}N$$UB?c@oY|M&+t@TkuV3idd+a8%ATt6j>fQn*oAF9 z)3Ptin{!$H0z)B^(U@?p6-5|>#9aB(LyBWi=Ik>)=|8`B0{VCRi+^QvkYlygUMFGH ztk)Ms*3;W*r?GV1(rrOtJacN*y z-;{hs6X&D9iWU&xx|#USHA_`2?^d(7*Bs)5=qXo5+Le+Jys@(Vkbu3dReb9~uNora zBN8&LiS6hzq?CHK9KA-EBV~`NUN_`u`Xshc+6M9|re8^fQdzklQs><9=fj|bSvkc% zw445ImdTjW2kJH<1Pizh<^CO}7M$GU&&mx_H<7v3KBO!b4>>4DdV!86eK=2{5b{YH zxqHH#nW}YF@5JqBev$N&{5YfGatM?h-<1|ALKt)#S#Cc`6US3}VH+MIx}uCaK$0GJ z6clq5pU+H#ac*&bJz^!bb-74!qTc!h>xr%>v8E^Uz_Fh6uvhJt$@zV2Y`sjH=6#>Z zuykWXS5==*56iG(x)a))-ni1%0jFWffi@^&qZ7YlPr>8vJZJ{33|I|(VeDU<`5Ofy zARs`95!jz1IDPMo>Q{jGzY^SgW`YA}NGie|mD_3XG~uB_VzurkcVIP6L_eX5fdbd7 z@>s)gSiiyaMnuw5X2N-ooz6U}lv7`*6RsPcjvIcP%QLugx=1*zB(lD?qtAGs{d_rL zN&7P^2t+HGIPF>A^{+dfz?t3Jx*){Ryf0-leFr0gg+TTiy)l$<1GzEid44Eb+oED< z$1Q?t`xeV5*$%T7I5|gj^K}j!m|@$KrrXuOPO5?*^Y7vBErG`c_IUmt>{|W1{|_vK J|7!hz{|&4rq>umr literal 0 HcmV?d00001 diff --git a/์ฐธ๊ณ ์ž๋ฃŒ/์ธํ„ฐํŽ˜์ด์Šค ์ •์˜์„œ/0000001589.๋ณ„์ฒจ.์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค ๋ฉ”์‹œ์ง€ ๊ทœ๊ฒฉ.pdf b/์ฐธ๊ณ ์ž๋ฃŒ/์ธํ„ฐํŽ˜์ด์Šค ์ •์˜์„œ/0000001589.๋ณ„์ฒจ.์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค ๋ฉ”์‹œ์ง€ ๊ทœ๊ฒฉ.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e6da2f6e727b414d5350c32e386d073c1f5d04c2 GIT binary patch literal 145584 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 z%0D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 L^}qjp*Z=+lD0VP% literal 0 HcmV?d00001 diff --git a/์ฐธ๊ณ ์ž๋ฃŒ/์ธํ„ฐํŽ˜์ด์Šค ์ •์˜์„œ/0000002006.๋ณ„์ฒจ.์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€(๊ฐ‘) ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค ๋ฉ”์‹œ์ง€ ๊ทœ๊ฒฉ.pdf b/์ฐธ๊ณ ์ž๋ฃŒ/์ธํ„ฐํŽ˜์ด์Šค ์ •์˜์„œ/0000002006.๋ณ„์ฒจ.์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๋“ฑ๋ก์›๋ถ€(๊ฐ‘) ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค ๋ฉ”์‹œ์ง€ ๊ทœ๊ฒฉ.pdf new file mode 100644 index 0000000000000000000000000000000000000000..88ce064448e6880d79786e9b36777efc6414a249 GIT binary patch literal 142553 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ⅅ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 literal 0 HcmV?d00001 diff --git a/์ฐธ๊ณ ์ž๋ฃŒ/์ฐธ๊ณ ๋‚ด์šฉ.txt b/์ฐธ๊ณ ์ž๋ฃŒ/์ฐธ๊ณ ๋‚ด์šฉ.txt new file mode 100644 index 0000000..3d75525 --- /dev/null +++ b/์ฐธ๊ณ ์ž๋ฃŒ/์ฐธ๊ณ ๋‚ด์šฉ.txt @@ -0,0 +1,30 @@ + โ— [์ด์šฉ๊ธฐ๊ด€ ๋ฐฉํ™”๋ฒฝ ์˜คํ”ˆ] + - ์ด์šฉ๊ธฐ๊ด€์—์„œ ๋ฐฉํ™”๋ฒฝ ํฌํŠธ์˜คํ”ˆ ๊ณต๋ฌธ์š”์ฒญ ์ˆ˜ํ–‰ + - ๋ฐฉํ™”๋ฒฝ ์˜คํ”ˆ ๊ฐ€์ด๋“œ(์ˆ˜์‹ ์ฒ˜ ํฌํ•จ).hwp + + โ— [๊ฐœ๋ฐœ๊ฐ€์ด๋“œ] + - ๋ฏธ๋ž˜ํ–‰๊ณต ์‹ค์‹œ๊ฐ„ ์—ฐ๊ณ„ ๊ฐ€์ด๋“œ_์ด์šฉ๊ธฐ๊ด€.hwp + - ์„œ๋น„์Šค ๋ณ„ ๋ฉ”์„ธ์ง€๊ทœ๊ฒฉ์„œ (์˜ˆ์‹œ: 0000001589.๋ณ„์ฒจ.์‹œ๊ตฐ๊ตฌ์—ฐ๊ณ„ ์ž๋™์ฐจ๊ธฐ๋ณธ์‚ฌํ•ญ์กฐํšŒ ์‹ค์‹œ๊ฐ„ ์„œ๋น„์Šค ๋ฉ”์‹œ์ง€ ๊ทœ๊ฒฉ.hwp) + + โ— [API-KEY, ํ˜ธ์ถœ URL ์ •๋ณด] + - ๊ตํ†ต์•ˆ์ „๊ณต๋‹จ ์ธํ„ฐํŽ˜์ด์Šค๋ณ„ ํ–‰์ •์ •๋ณด๊ณต๋™์ด์šฉ์„ผํ„ฐ ํ˜ธ์ถœ URL ๋ฐ API-KEY์ •๋ณด.hwp + + โ— [๊ตํ†ต์•ˆ์ „๊ณต๋‹จ cvmis key] + - ๊ตํ†ต์•ˆ์ „๊ณต๋‹จ ์ฐจ์„ธ๋Œ€ ์‚ฌ์—…๋‹จ์œผ๋กœ ๋ฌธ์˜ + + โ— ์ด์šฉ๊ธฐ๊ด€ ํด๋ผ์ด์–ธํŠธ(์ด์šฉ๊ธฐ๊ด€์šฉClient_์‹œ๊ตฐ๊ตฌ.zip) ๊ธฐ๊ด€ ๋ณ„ ์ˆ˜์ •์‚ฌํ•ญ + (1) apiKey : ํ–‰์ •์ •๋ณด๊ณต๋™์ด์šฉ์„ผํ„ฐ API KEY ์ž…๋ ฅ + (2) cvmis_apikey : ๊ตํ†ต์•ˆ์ „๊ณต๋‹จ cvmis_apikey ์ž…๋ ฅ (๊ตํ†ต์•ˆ์ „๊ณต๋‹จ ์ฐจ์„ธ๋Œ€์‚ฌ์—…๋‹จ์œผ๋กœ ๋ฌธ์˜) + (3) certServerId : ์ด์šฉ๊ธฐ๊ด€ GPKI ์ธ์ฆ์„œ ์ž…๋ ฅ + (4) src/util/ShareGpki.java : ์„œ๋ฒ„์— ์žˆ๋Š” ๋ผ์ด์„ผ์Šค(.lic)์™€ GPKI ์ธ์ฆ์„œ ๊ฒฝ๋กœ ์ž…๋ ฅ + (ShareGpki์— ์ ํ˜€์žˆ๋Š” ๊ฒฝ๋กœ๋Š” ์ƒ˜ํ”Œ์„ ์ ์€๊ฒƒ์ด๋ฏ€๋กœ ๊ธฐ๊ด€ ์‚ฌ์ •์— ๋งž์ถ”์–ด ์ˆ˜์ •ํ•˜์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค) +++ ์ด์šฉ๊ธฐ๊ด€์ด ์ธํ„ฐ๋„ท๋ง์ธ๊ฒฝ์šฐ 5,6๋ฒˆ ์ถ”๊ฐ€์ž‘์—… + (5) host : 116.67.73.153 ์œผ๋กœ ์ˆ˜์ • (์ฃผ์„์ฒ˜๋ฆฌ ํ•ด๋†“์•˜์œผ๋ฏ€๋กœ ์ฃผ์„๋ณ€๊ฒฝ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค) + (6) com.vmis.interfaceapp.util.NewGpkiUtil.java : ldapUrl 152.99.57.127:389๋กœ ์ˆ˜์ • (์ฃผ์„์ฒ˜๋ฆฌ ํ•ด๋†“์•˜์œผ๋ฏ€๋กœ ์ฃผ์„๋ณ€๊ฒฝ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค) + + + +๋ฌธ์˜ ์žˆ์œผ์‹œ๋ฉด ์•„๋ž˜ ๋ฒˆํ˜ธ๋กœ ์—ฐ๋ฝ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค. + + +๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. \ No newline at end of file

=N7_ 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�YQg(xFf2ojb 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