콘텐츠로 이동

빠른 시작

Signox 통합은 크게 세 단계입니다: 대시보드에서 발급 준비 → SDK 통합 → 엔드유저에게 키 전달.

  1. 제품(Product) 을 만듭니다. 제품을 만들면 서명 키쌍이 자동 생성됩니다.
  2. 제품에 기능(Feature) 을 등록합니다 — 예: advanced_rendering(bool), max_export(int).
  3. 정책(Policy) 을 만듭니다 — 라이센스 타입(영구/기간/트라이얼), 디바이스 한도, 포함할 기능과 값.
  4. 정책으로 라이센스를 발급합니다. 테스트용으로 하나 발급해 두세요.

앱에 SDK를 설치하고 제품 공개키를 임베드합니다. SDK는 Node.js(@signox/sdk) · Java(kr.signox:signox-sdk) · C#(Signox.Sdk) 세 가지가 있으며 API 표면과 판정 코드가 동일합니다. Node.js 기준:

import { SignoxClient } from '@signox/sdk';
const client = new SignoxClient({
productPublicKey: '…대시보드 제품 상세의 공개키(SPKI PEM)…',
});
// 최초 1회 — 엔드유저가 키를 입력하면 이 기기를 활성화
await client.activate(licenseKey);
// 앱 시작 시 — 검증 (로컬 캐시·오프라인 자동 폴백)
const lic = await client.validate(licenseKey);
if (!lic.valid) {
// lic.code: EXPIRED / DEVICE_LIMIT_REACHED / REVOKED / NETWORK_ERROR …
showActivationScreen(lic.code);
}
// 기능 게이팅 — 정책이 부여한 기능값 사용
if (lic.features.advanced_rendering) enableAdvancedRendering();
const exportLimit = lic.features.max_export; // 10

통합 시 알아둘 것:

  • 활성화는 멱등입니다 — 같은 기기에서 다시 호출해도 슬롯을 추가로 쓰지 않습니다.
  • 검증 결과는 서명 검증을 거친 값입니다 — SDK가 자동 수행하므로 그대로 신뢰하면 됩니다.
  • 한 번 활성화되면 네트워크 없이도 동작합니다 — SDK가 서명된 상태를 로컬에 저장합니다.
  • 네트워크 실패(NETWORK_ERROR)는 무효 판정이 아닙니다 — 재시도·유예 UX로 처리하세요. SDK가 코드로 구분해 줍니다.

발급한 라이센스 키를 구매 완료 메일 등으로 엔드유저에게 전달하면, 엔드유저는:

  • 앱에 키를 입력해 활성화하고,
  • 셀프서비스 포털에서 자기 라이센스·기기를 직접 관리합니다(기기 해제·오프라인 파일 발급 등).