API Reference
네이버 인증
PHP
전자서명
단건 API
전자서명(단건) API
전자서명(단건) API
네이버 앱을 사용하여 이용자의 개인정보(이름, 생년월일, 휴대폰번호)로 1건의 계약 체결 수단으로 사용되는 네이버 전자서명 API 입니다. 개발하는 웹/앱 방식에 따라 네이버 앱으로 푸시(Push) 인증 메시지를 전송하여 인증하는 “푸시(Push) 인증”과 이용기관 앱에서 네이버 앱을 실행하여 네이버 인증 메시지 전송없이 비밀번호 입력만으로 인증하는 “앱투앱 인증” 방식 중 선택하여 연동할 수 있습니다.
1. RequestSign - 전자서명(단건) 요청
function RequestSign($ClientCode, $NaverSign)
Parameter
| 순번 |
변수명 |
타입 |
길이 |
필수 |
설명 |
|
ClientCode |
String |
12 |
Y |
이용기관 코드 |
|
NaverSign |
NaverSign |
- |
Y |
전자서명 요청 정보 |
Return
NaverSignReceipt
Throws
BarocertException
2. GetSignStatus - 전자서명(단건) 상태확인
function getSignStatus($ClientCode, $ReceiptID)
Parameter
| 순번 |
변수명 |
타입 |
길이 |
필수 |
설명 |
|
ClientCode |
String |
12 |
Y |
이용기관 코드 |
|
ReceiptID |
String |
32 |
Y |
접수 아이디 |
Return
NaverSignStatus
Throws
BarocertException
3. VerifySign - 전자서명(단건) 검증
완료된 전자서명을 검증하고 전자서명값(signedData)을 반환 받습니다.
네이버 보안정책에 따라 검증 API는 1회만 호출할 수 있습니다. 재시도시 오류가 반환됩니다.
전자서명 만료일시 이후에 검증 API를 호출하면 오류가 반환됩니다.
이용기관 서버에서는 전자서명 검증을 통해 반환받은 이용자의 개인정보(CI, 성명, 생년월일, 휴대폰번호 등)와 전자서명을 요청한 이용자의 개인정보를 비교해 올바른 이용자인지 검증해야 합니다.
function verifySign($ClientCode, $ReceiptID)
Parameter
| 순번 |
변수명 |
타입 |
길이 |
필수 |
설명 |
|
ClientCode |
String |
12 |
Y |
이용기관 코드 |
|
ReceiptID |
String |
32 |
Y |
접수 아이디 |
Return
NaverSignResult
Throws
BarocertException
4. 객체정보
4.1. BarocertException
| 순번 |
변수명 |
타입 |
길이 |
필수 |
설명 |
|
Code |
Integer |
- |
Y |
API 처리에 대한 응답코드 |
|
message |
String |
- |
Y |
API 처리에 대한 응답메시지 |
4.2. NaverSign
| 순번 |
변수명 |
타입 |
길이 |
필수 |
설명 |
|
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 |
원문 유형
- └TEXT원문 텍스트 데이터
- └HASH원문을 해쉬한 데이터
- └PDFPDF를 해쉬한 데이터
|
|
token |
String |
2800 |
Y |
원문
tokenType="PDF" 경우,
Hash(SHA-256), Base64(URL Safe No Padding)
|
|
appUseYN |
Boolean |
- |
N |
앱투앱 인증 방식 이용 여부
- └True앱투앱 인증
- └False푸시(Push) 인증 : 기본값
|
|
deviceOSType |
String |
7 |
조건부 |
모바일장비 운영체제
appUseYN=True 경우 필수
|
|
returnURL |
String |
1000 |
조건부 |
복귀 URL → 앱투앱 인증 이용시 호출할 URL 또는 앱스킴 → "http", "https"등의 웹프로토콜 사용 불가
appUseYN=True 경우 필수
|
4.4. NaverSignStatus
| 순번 |
변수명 |
타입 |
길이 |
필수 |
설명 |
|
receiptID |
String |
32 |
Y |
접수아이디 |
|
clientCode |
String |
12 |
Y |
이용기관 코드 |
|
state |
Integer |
1 |
Y |
상태
|
|
expireDT |
String |
14 |
Y |
전자서명 만료일시 → 형식: yyyyMMddHHmmss |
4.5. NaverSignResult
| 순번 |
변수명 |
타입 |
길이 |
필수 |
설명 |
|
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
|