카테고리 없음

모바일신분증 연계서비스 연동하기-2

godsangin 2023. 9. 9. 15:36
반응형

안녕하세요.

오늘은 지난시간에 이어 모바일신분증 연계서비스를 이용하는 방법에 대해 알아보도록 하겠습니다.

 

>> 지난 포스팅

https://in-idea.tistory.com/71

 

모바일신분증 연계서비스 연동하기-1

안녕하세요. 이번에는 행정안전부에서 운영하고 있는 모바일신분증 서비스를 이용하여 우리서비스에서 본인확인 등 여러 수단으로 이용하는 방법에 대해 알아보려 합니다. 모바일신분증은 지

in-idea.tistory.com

 

위의 게시물을 참고하여 연계신청, wallet&DID 생성을 완료하고 개발지원센터를 통해 블록체인에 DID등록까지 마쳤다면 이제 실제 라이브러리를 다운받아 우리 예제에 적용해보면 되겠습니다.

이번시간에는 라이브러리 다운로드, 개발용 DID를 적용한 WAS를 구축하는 방법까지 알아보도록 하겠습니다.

 

우선 모바일신분증 연계를 위한 샘플 라이브러리를 다음 URL을 통해 다운로드 받습니다.

https://dev.mobileid.go.kr/mip/dfs/downapi/useguidedown.do

 

모바일신분증 개발지원센터

활용가이드 다운로드 연계서비스를 활용하기 위한 신청서, 라이브러리 등 자료들이 제공됩니다. 총0건 활용 가이드 번호 분류 제목 버전 등록일 조회수

dev.mobileid.go.kr

샘플 소스코드를 다운로드 받아 Spring Project로 로드합니다.

(본 예제는 Eclipse IDE를 사용하였고, Java 및 Spring Framework가 설치되어 있다고 가정합니다.)

 

샘플예제는 다음과 같은 파일구조를 가지고 있습니다.

여기 각 인터페이스 별 API 및 설정파일이 정의되어 있는데 여기서 저희가 주목할부분은 표시한 application.properties와 data.sql입니다.

두 파일을 열어 우리 SP(이용기관)서버에 맞도록 설정파일을 수정합니다.

수정이 필요한 부분만 추출하여 보여드리도록 하겠습니다.

#################################################################################
# Spring Boot Settings
#################################################################################
#(서비스가 필행될 포트번호)
server.port=8081

#################################################################################
# Server Settings
#################################################################################
# HttpClient connect timeout, read timeout. default 값은 60000
app.httpclient-conn-time-out=60000
app.httpclient-read-time-out=60000
# blockchain node address. 2중화 구성시 ","로 구분 ex) https://bcg.mobileid.go.kr:18888,https://bcc.mobileid.go.kr:18888
app.blockchain-server-domain=https://bcdev.mobileid.go.kr:18888
# SP Server Address(이 서비스가 실행될 SP서버의 주소 및 포트)
app.sp-server=http://49.50.162.227:8081
# Proxy Server URI
app.proxy-server=wss://mvadev.mobileid.go.kr:9090/proxyServer
# Proxy Server Connect Timeout
app.proxy-conn-time-out=60
# Push Server URI
app.push-server-domain=https://psh.mobileid.go.kr:8443/api/sendVPAPI.do
# Push Server mscode(조폐공사에 등록하여 할당 받음)
app.push-ms-code=PT_TEST
app.push-type=MIP-USP-001


#################################################################################
# SP & Wallet
(이 부분은 지난시간에 wallet&did를 생성할 때 설정한 비밀번호를 참고하여 작성하고,
서비스의 실행경로에 맞도록 wallet과 did파일을 지정합니다.)
#################################################################################
# Wallet file path
app.keymanager-path=./sp.wallet
# Wallet password
app.keymanager-password=mypassword
# ECC key id
app.sp-key-id=omni.sp
# RSA key id
app.sp-rsa-key-id=omni.sp.rsa
# SP blockchain account 
app.sp-account=sangin.sp
# SP DID file path
app.sp-did-path=./sp.did

app.sp-service-code=sangin.1
# BI image path
app.sp-bi-image-url=https://www.mobileid.go.kr/resources/images/main/mdl_ico_homepage.ico
# BI image Base64 data
app.sp-bi-image-base64=iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAACOElEQVRIia2Wz04TURSHv3MrwWADTcqfQIKUdOGGxDY2umChazeOiQ8wyEOQrqyrxvgOMo0vMGwwcePaRFMIxLAhVmowRDGtgapA73FRC0qZ6TT0t5t7z_1-587MuecKISq65ZTQfAA4AglEMgCorinUAF-JreS9bCWIIcFg-0QENyyBtlTxFPP0IqMOg2fuOwdkGSERBX7mQg10YcnL-YEGRfe9a4TlnsDnZJWFvHfL6zDoB_xUqg_bO5EWvJwy2HLPryXQgJrFZPNetmIAjDQLfYMDCAkjzQKAFN1yyoj92Bk1w-KLJElg780mpZdHZ1PJGRafJ0nyi43HH3gV4GPVzBqDdcKSOTm2TKQnGP5nbPpRnGSEjRisYxDCDRpNuD7M3RvtkTi59CAH9ePuDoJjgFRo0JcGewwydS_eep6fYHL0N9XtZncD1REDzIRH_WBr2zKSHmcamLs9RPzbIWuN7nxEMiZCGG_LPzkZvcad-THm0gPsb-1SjbIQMMCnrlGrX9mpDzB-f4ypoQbVlaOuSwAU1g0QeBKe6TtbO8fEJ69yZeeA1_uR-AjUDIrfPRQ2Vw-pY9nd-ByNDqD4IYV2eVk1s6Z1hmup_3gtnZ5FVmMFRet9Q6N1q7ECtP4i8l62Ihqte0WRKG67u53WwZKX862ycFm4Vf7rahe2TBU8QUZ6AStaF8U93zI7KnnJy_mqsUxvH15LqrHMeTgE3Cra-tvpHARHISFws5Ut6wI1FN9i_LBryx8ui9qqWLNPmAAAAABJRU5ErkJggg
# 시작시 Profile 포함 여부
app.include-profile=false
# CI 제공 여부
app.sp-ci=false
# Issuer 서명 검증 여부
app.issuer-check-vc=true

<application.properties>

 

//svcCode는 조폐공사로 신청한 신청서를 기반으로 회신받은 서비스코드를 작성하고 spName, serviceName은 모바일신분증 앱에서 제출정보를 선택할 때 표출되는 기관 및 서비스의 명칭입니다.)
INSERT INTO tb_service (svcCode,presentType,authType,spName,serviceName,attrList,predList,callBackUrl,regDt,udtDt) VALUES
    ('sangin.1', 1, NULL, '상추', '서비스1-일반인증', NULL, NULL, NULL, '2023-08-01 15:08:15.0', NULL);

<data.sql>

 

여기까지 완료하신 뒤에 스프링 프로젝트를 실행해보시면 기본적으로 모바일신분증 연계서비스를 이용할 sp서버의 흐름을 파악해볼 수 있습니다.

 

다음으로는 신분증 제출 이후 sp서버에서 개인정보를 추출하는 방법에 대해 알아보도록 하겠습니다.

 

오늘도 긴글 읽어주셔서 감사합니다.