전자서명(단건) API
전자서명(단건) API
네이버 앱을 사용하여 이용자의 개인정보(이름, 생년월일, 휴대폰번호)로 1건의 계약 체결 수단으로 사용되는 네이버 전자서명 API 입니다. 개발하는 웹/앱 방식에 따라 네이버 앱으로 네이버 인증 메시지를 전송하여 인증하는 "채널메시지 인증"과 네이버 앱을 즉시 실행하여 네이버 인증 메시지 전송없이 비밀번호 입력만으로 인증하는 "앱투앱 인증" 방식 중 선택하여 연동할 수 있습니다.
1. RequestSign - 전자서명(단건) 요청
네이버 이용자에게 단건(1건) 문서의 전자서명을 요청합니다.
public SignReceipt requestSign(String clientCode, Sign sign) throws BarocertException
Parameter
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
clientCode | String | 12 | Y | 이용기관 코드 | |
sign | Sign | - | Y | 전자서명 요청 정보 |
Return SignReceipt Throws BarocertException
2. GetSignStatus - 전자서명(단건) 상태확인
전자서명(단건) 요청 후 반환받은 접수아이디로 인증 진행 상태를 확인합니다.
public SignStatus getSignStatus(String clientCode, String receiptID) throws BarocertException
Parameter
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
clientCode | String | 12 | Y | 이용기관 코드 | |
receiptID | String | 32 | Y | 접수 아이디 |
Return SignStatus Throws BarocertException
3. VerifySign - 전자서명(단건) 검증
완료된 전자서명을 검증하고 전자서명값(signedData)을 반환 받습니다.
네이버 보안정책에 따라 검증 API는 1회만 호출할 수 있습니다. 재시도시 오류가 반환됩니다.
전자서명 만료일시 이후에 검증 API를 호출하면 오류가 반환됩니다.
public SignResult verifySign(String clientCode, String receiptID) throws BarocertException
Parameter
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
clientCode | String | 12 | Y | 이용기관 코드 | |
receiptID | String | 32 | Y | 접수 아이디 |
Return SignResult Throws BarocertException
4. 객체정보
4.1. BarocertException
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
Code | Long | - | Y | API 처리에 대한 응답코드 | |
message | String | - | Y | API 처리에 대한 응답메시지 |
4.2. Sign
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
receiverHP | String | 11 | Y | 수신자 휴대폰번호 → 하이픈(-) 제외하고 입력 |
|
receiverName | String | 80 | Y | 수신자 성명 | |
receiverBirthday | String | 8 | Y | 수신자 생년월일 → 형식: yyyyMMdd |
|
reqTitle | String | 40 | Y | 인증요청 메시지 제목 | |
reqMessage | String | 500 | Y | 인증요청 메시지 내용 | |
callCenterNum | String | 12 | Y | 고객센터 연락처 | |
expireIn | Integer | 4 | Y | 요청 만료시간 → 최대: 1000초(s) / 권장: 300초(s) |
|
tokenType | String | 4 | Y |
원문 유형
|
|
token | String | 2800 | Y |
원문
tokenType="PDF" 경우, Hash(SHA-256), Base64(URL Safe No Padding) |
|
appUseYN | Boolean | - | N |
앱투앱 인증 방식 이용 여부
|
|
deviceOSType | String | 7 | 조건부 |
모바일장비 운영체제
|
|
returnURL | String | 1000 | 조건부 |
복귀 URL → 앱투앱 인증 이용시 호출할 URL 또는 앱스킴 → "http", "https"등의 웹프로토콜 사용 불가 |
4.3. SignReceipt
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
receiptID | String | 32 | Y | 접수아이디 | |
scheme | String | - | N | 앱스킴 | |
marketUrl | String | - | N | 앱 다운로드 URL |
4.4. SignStatus
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
receiptID | String | 32 | Y | 접수아이디 | |
clientCode | String | 12 | Y | 이용기관 코드 | |
state | Integer | 1 | Y |
상태
|
|
expireDT | String | 14 | Y | 전자서명 만료일시 → 형식: yyyyMMddHHmmss |
4.5. SignResult
순번 | 변수명 | 타입 | 길이 | 필수 | 설명 |
---|---|---|---|---|---|
receiptID | String | 32 | Y | 접수아이디 | |
state | Integer | 1 | Y |
상태
|
|
receiverName | String | 80 | Y | AES 암호화 수신자 성명 | |
receiverYear | String | 4 | Y |
AES 암호화
수신자 출생년도
→ 형식 : yyyy |
|
receiverDay | String | 4 | Y |
AES 암호화
수신자 출생월일
→ 형식 : MMdd |
|
receiverHP | String | 11 | Y | AES 암호화 수신자 휴대폰번호 | |
receiverGender | String | 1 | Y |
AES 암호화
수신자 성별
|
|
receiverEmail | String | - | Y | AES 암호화 수신자 이메일 | |
receiverForeign | string | 1 | Y |
AES 암호화
외국인 여부
|
|
signedData | String | - | Y | 전자서명값 | |
ci | String | - | N | AES 암호화 CI |