DAT
문서

DAT CMS ​

DAT CMS는 인증서를 생성·보관하고 클라이언트 매니저에 전달하는 선택형 서비스입니다. 이 문서는 클라이언트와 서버 사이의 동기화 계약을 설명합니다. 설치와 운영은 DAT CMS 서비스 가이드를 참고합니다.

인증서 동기화
클라이언트
DAT CMS
현재 버전과 인증서 요청
버전과 인증서 응답
전체 검증 후 원자적으로 반영
requestresponse

역할별 엔드포인트 ​

역할경로용도
전체 인증서 조회GET /v1/certs?version=<n>DAT를 발급하는 서비스
검증 전용 인증서 조회GET /v1/certs/verify-only?version=<n>검증과 복호화만 하는 서비스
인증서 등록POST /v1/cert/{signature}/{crypto}/{propagation}/{issuance}/{ttl}운영자 또는 인증서 생성 작업

전체 조회와 검증 전용 조회는 서로 다른 토큰 역할로 보호할 수 있습니다. 검증 전용 서비스가 전체 인증서를 요청하지 않도록 클라이언트 매니저의 verifyOnly 옵션을 설정합니다.

버전 커서 ​

클라이언트는 마지막으로 반영한 버전을 서버에 전달합니다. 서버 상태가 같으면 인증서를 다시 내려보내지 않아도 됩니다. 새로운 상태가 있으면 첫 줄에 버전을, 다음 줄부터 인증서를 반환합니다.

성공 응답에 버전만 있고 인증서가 없다면 기존 인증서와 발급자를 보존합니다. 서버 버전이 클라이언트보다 낮아진 응답은 상태를 되돌리지 않고 오류로 처리합니다.

인증서 반영 규칙 ​

  • 응답 안에 같은 cid가 반복되면 응답 전체를 거부합니다.
  • 이미 보유한 cid와 새 응답의 cid가 같으면 기존 인증서를 유지합니다.
  • 모든 인증서를 파싱하고 검증한 뒤 한 번에 상태를 반영합니다.
  • 일부 인증서만 성공한 상태로 남기지 않습니다.
  • 현재 시각에 발급 가능한 인증서 중 적절한 인증서를 발급자로 선택합니다.

초기 동기화와 수동 동기화 ​

클라이언트 매니저 생성 시 첫 동기화는 대체로 best-effort입니다. 실패해도 매니저를 만들고 구체적인 마지막 오류를 보관합니다. 애플리케이션 시작을 실패시켜야 한다면 각 라이브러리의 즉시 동기화 API를 호출해 오류를 호출자에게 전달합니다.

자동 동기화를 사용하지 않는 환경은 interval을 끄고 필요한 시점에 직접 동기화할 수 있습니다. 자동 동기화를 사용한다면 애플리케이션 종료 시 매니저를 닫거나 중지합니다.

네트워크와 오류 ​

연결 및 전체 요청 타임아웃을 운영 환경에 맞게 설정합니다. 리디렉션 정책은 런타임마다 다르므로 라이브러리 문서를 확인합니다. 비-2xx CMS 응답은 현재 클라이언트에서 HTTP 상태에 해당하는 DAT_CMS_* 오류로 분류하며, 서버 JSON의 세부 오류 코드를 그대로 보존하지 않습니다.

일시적인 저장소 장애는 서버가 마지막으로 성공한 인증서 스냅샷을 제공할 수 있습니다. 아직 성공한 스냅샷이 없다면 DAT_STORE_UNAVAILABLE로 응답합니다.

서비스 문서 ​

배포, 데이터베이스, 접근 토큰과 실행 구성은 DAT CMS 서비스 가이드에서 이어집니다.