콘텐츠로 이동

온라인 활성화

온라인 인증은 SDK가 Signox 서버와 통신해 서명된 라이센스 상태를 받아 로컬에 저장하는 방식입니다.

엔드유저 여러분의 앱 · SDK Signox 서버 라이센스 키 입력 활성화 요청 — 키 + 기기 식별자 Ed25519 서명된 라이센스 상태 서명검증 후 로컬 저장 이후 네트워크 없이도 동작
  1. 엔드유저가 앱에 licenseKey를 입력합니다.
  2. SDK가 활성화를 요청합니다 — 기기 식별과 서명검증은 SDK가 알아서 처리합니다.
  3. 서버가 디바이스를 등록(+한도 검사)하고 서명된 라이센스 상태를 반환합니다.
  4. SDK가 상태를 로컬에 저장합니다. 이후에는 네트워크 없이도 로컬 서명 상태로 동작합니다.
규칙 동작
멱등 재활성화 같은 기기에서 다시 활성화하면 기존 등록을 재사용 — 슬롯 추가 소모 없음
디바이스 한도 활성 기기 수가 정책의 maxDevices에 도달하면 DEVICE_LIMIT_REACHED
기기 판정 디바이스 식별 참고 — 부품 교체는 같은 기기, 메인보드 교체는 새 기기
VM 정책 VM/에뮬레이터 감지 시 정책에 따라 허용/표시/차단(VM_NOT_ALLOWED)

앱 시작 시 SDK로 검증하되, 매번 네트워크에 의존하지 않아도 됩니다:

  • 서버가 검증 성공 시 캐시 TTL 힌트를 함께 주고(서명에 포함), SDK가 TTL 동안 로컬 상태를 신뢰합니다.
  • 네트워크가 안 되면 로컬에 저장된 서명 상태(만료일 포함)로 동작합니다 — 온라인 활성화 한 번이면 이후 오프라인 실행이 가능합니다.
  • 만료가 임박하면 TTL이 자동으로 짧아져 갱신 여부를 더 자주 확인합니다.

SDK의 heartbeat를 주기적으로 호출하면:

  • 대시보드에서 기기의 마지막 활동 시각을 볼 수 있고,
  • 폐기(revoke)·정지(suspend)된 라이센스를 조기에 감지할 수 있습니다.

필수는 아닙니다 — 호출하지 않아도 검증·활성화에 영향이 없습니다.

엔드유저가 기기를 바꿀 때는 기존 기기를 해제해 슬롯을 반환한 뒤 새 기기에서 활성화합니다. 해제는 세 곳에서 가능합니다:

  • 앱 안에서 SDK로 (해제 버튼 제공 권장)
  • 엔드유저가 셀프서비스 포털에서
  • 벤더가 대시보드에서

SDK 검증 결과의 code 값:

VALID IN_GRACE_PERIOD EXPIRED SUSPENDED REVOKED valid: true valid: true — 갱신 안내 종료 복구 가능 영구 만료일 경과 유예 경과 정지 ↔ 복구 폐기 — 영구, 복구 불가
코드 valid 의미
VALID 정상
IN_GRACE_PERIOD 만료됐지만 유예기간 내 — 기능 유지하되 갱신 안내 권장
EXPIRED 만료(+유예 경과)
SUSPENDED 정지(복구 가능)
REVOKED 폐기(영구)
DEVICE_LIMIT_REACHED 기기 한도 초과 — 기존 기기 해제 안내
DEVICE_NOT_ACTIVATED 이 기기에서 활성화되지 않음
VM_NOT_ALLOWED VM 차단 정책
NOT_FOUND 존재하지 않는 키

int 타입 기능을 메터링으로 설정하면(예: 월간 export 횟수), SDK로 사용량을 보고하고 한도를 검사할 수 있습니다. 한도 초과 시 USAGE_LIMIT_REACHED가 반환되고 카운터는 증가하지 않으며, 기간(월/일)이 바뀌면 자동 리셋됩니다.