# Appendix
# Data Size
Database에 저장될 수 있는 data의 크기에 대한 정보입니다.
DID
60 byte 이상
내부에 network ID와 같이 가변 data를 포함 (ICON DID Method Specification (opens new window) 참조)
data max size: 80 byte 권장
VC ID
길이: 86 byte ~ 88 byte
data max size: 100 byte 권장
# Message Result Code
Entity간 Message 전송의 결과 코드 입니다.
Category | Return Code | Message | Description |
---|---|---|---|
성공 | 0 | Success | 성공 |
JWT 관련 | 100 | Signature Verification Failed | 서명 검증 실패 |
101 | Message Syntax Error | JWT문법 에러 | |
102 | Not Found Mandatory Property : "nonce" | JWT 필수 속성이 없는 경우. | |
103 | JWE Decryption Failed | JWE 복호화 실패 | |
104 | JWT Sign Failed | JWT 서명 실패 | |
VC 관련 (JSON-LD) | 200 | Verifiable Credential Syntax Error | VC 문법 에러 (JSON-LD) |
201 | Not Found Mandatory Property : “purpose” | VC, VP에서 필수 속성이 없는 경우 | |
202 | Not Found Credential in Blockchain | 블록체인에 등록된 VC를 찾지 못함 | |
203 | Already Revoked Credential | 블록체인에 등록된 VC가 폐기 됨 | |
VP 관련 | 300 | Not Found Verifiable Credential | 요청한 VPR에 맞는 VC가 없는 경우, 또는 VC는 있지만 요청한 claim이 없는 경우 |
301 | Expired Verifiable Credential | 요청한 VPR에 맞는 VC가 있지만 만료된 경우 | |
302 | Revoked Verifiable Credential | 요청한 VPR에 맞는 VC가 있지만 폐기된 경우 | |
시나리오 관련 | 400 | User Reject | 사용자가 거부하거나, 앱에서 어떤 상황 때문에 요청을 거절한 경우 |
401 | Rejected by Unauthorized DID | 여러가지 이유로 요청자의 DID가 거부되는 경우. 예를 들어, 쯩앱이 신뢰하는 DID 목록에 요청자의 DID가 존재하지 않는 경우 등 | |
추가 | 800 | User Authentication Failed | 사용자 인증 실패. 사용자 세션이 만료 되거나 없는 경우. 예를 들어 서버에서 DID init 을 전달 할 때 사용한 유저 세션 (token)이 만료된 상태에서 DID auth가 수신 된 경우. 서버에 접속한 사용자를 식별할 수 없는 경우. |
801 | Blockchain Network ID Error | 상대방 DID의 network ID를 수용할 수 없는 경우 | |
900 | Connection Failed | 다른 entity 에 연결 실패. Issuer나 Verifier App에서 쯩앱으로의 연결을 실패 하는 경우등 | |
901 | Blockchain Connection Failed | 블록체인으로 연결 실패. DID document나 VC 조회등을 위해 블록체인을 연결하다가 실패하는 경우 | |
그 외 | 1000 | Undefined Error | 그 외 에러들 |
# 쯩 앱과의 메시지 규격
다음은 issuer 혹은 verifier에서 쯩 앱으로 보내는 요청 메시지와 그 답변 메시지에 대한 설명입니다.
# DID init & DID auth
DID init message, DID auth message를 참고하십시오.
Response Result Code
Return Code | Description |
---|---|
0 | 성공. JWE[DID_AUTH] 가 전달 됨 |
100 | DID init JWT 검증 실패 |
101 | DID init의 JWT 문법 에러 |
102 | DID init에서 JWT 필수 속성이 없는 경우 |
400 | 사용자가 인증을 거부 |
401 | DID init의 Issuer DID를 사용자가 거부 |
801 | DID init의 Issuer DID를 발급한 blockchain network ID를 수용하지 못함 |
# Credential & Credential Result
Credential message을 참고하십시오.
Response Result Code
Return Code | Description |
---|---|
0 | 성공. JWE[CREDENTIAL] 가 전달 됨 |
100 | Credential JWT 검증 실패 |
101 | Credential JWT 문법 에러 |
102 | Credential JWT 필수 속성이 없는 경우 |
103 | Credential JWE 복호화 실패 |
200 | Credential의 JSON-LD 문법 에러 |
201 | Credential의 내용 중 필수 속성이 없는 경우 |
400 | 사용자가 Credential 저장을 거부 |
401 | Credential의 Issuer DID를 사용자가 거부 : DID init 과 다른 DID 가 오는 경우 |
# Presentation Request (VPR) & Presentation
Presentation request message와 presentation message을 참고하십시오.
Response Result Code
Return Code | Description |
---|---|
0 | 성공. JWE[PRESENTATION] 가 전달 됨 |
100 | VPR JWT 검증 실패 |
101 | VPR JWT 문법 에러 |
102 | VPR JWT 필수 속성이 없는 경우 |
200 | VPR JSON-LD 문법 에러 |
201 | VPR JSON-LD 내용 중 필수 속성이 없는 경우 |
300 | 요청한 VPR에 맞는 VC가 없거나, VC는 있지만 요청한 claim이 없는 경우 |
301 | 요청한 VPR에 맞는 VC는 있지만 만료 되었음 |
302 | 요청한 VPR에 맞는 VC는 있지만 폐기 되었음 |
400 | 사용자가 인증을 거부 |
401 | VPR의 Verifier DID를 사용자가 거부 |
900 | 쯩 앱과의 연결 실패 |
# Revocation Request & Revocation Result
Revocation request message와 revocation response message을 참고하십시오.
Return Code | Description |
---|---|
0 | 성공. |
100 | JWT 서명 검증 실패 |
101 | JWT 문법 에러 |
102 | JWT 필수 속성이 없는 경우 |
104 | JWT 서명 실패 |
202 | 블록체인에 등록된 VC를 찾지 못함 |
203 | 블록체인에 등록된 VC가 폐기 됨 |
800 | Holder의 DID를 찾을 수 없음 |
901 | 블록체인 연결 실패 (Holder DID 조회, VC 조회) |
1000 | 그 외 에러들 |
# Presentation Reject Code
Code | Description |
---|---|
31001 | Presentation에 포함된 Claim 실데이터가 verifier가 알고 있는 정보와 다름 |
32001 | AML 의심고객 |