# Appendix

# Data Size

Database에 저장될 수 있는 data의 크기에 대한 정보입니다.

# 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를 참고하십시오.

image alt text

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을 참고하십시오.

image alt text

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 messagepresentation message을 참고하십시오.

image alt text

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 messagerevocation response message을 참고하십시오.

image alt text

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 의심고객