FairPlay DRM

iOS 는 키 시스템 중 com.apple.fps (FairPlay / HLS)만 사용합니다. Widevine·PlayReady(DASH)는 무시됩니다. NCP Multi-DRM 과 PallyCon 을 모두 지원합니다.

실기기 전용 — FairPlay 복호화는 실기기에서만 동작합니다(시뮬레이터 불가). 인증 헤더는 패스스루 방식이라 백엔드가 서명해 내려준 헤더를 그대로 전달하면 되고, 클라이언트에 시크릿을 둘 필요가 없습니다.

drm 설정

"drm": {
  "com.apple.fps": {
    "src": "https://.../index.m3u8",                  // file 없으면 이 src 가 미디어
    "certificateUri": "https://.../fpsKeyManager.do",  // 인증서 URL
    "certificateRequestHeader": {
      "x-ncp-iam-access-key": "...",
      "x-drm-token": "...",
      "accept": "application/json"
    },
    "licenseUri": "https://.../licenseManager.do",     // 라이선스(CKC) URL
    "licenseRequestHeader": {
      "x-ncp-iam-access-key": "...",
      "x-drm-token": "..."
    }
    // PallyCon: licenseRequestHeader 에 "pallycon-customdata-v2" + content-type 포함
  }
}

Swift 딕셔너리 예제

options: [
    "playlist": [
        [
            "drm": [
                "com.apple.fps": [
                    "src": "https://.../index.m3u8",
                    "certificateUri": "https://.../fpsKeyManager.do",
                    "certificateRequestHeader": [
                        "x-ncp-iam-access-key": "...",
                        "x-drm-token": "...",
                        "accept": "application/json"
                    ],
                    "licenseUri": "https://.../licenseManager.do",
                    "licenseRequestHeader": [
                        "x-ncp-iam-access-key": "...",
                        "x-drm-token": "..."
                    ]
                ]
            ]
        ]
    ]
]

DRM 에러

코드의미
E0011DRM 토큰 오류
E0012라이선스 서버 통신 실패
E0013FairPlay 인증서 검증 실패
토큰/서명은 시간 제한이 있으므로 재생 직전 백엔드에서 최신 옵션을 수신해 적용하는 것을 권장합니다. 테스트 URL: https://vpe-api.sgrsoft.com/api/drmTest
iOS SDKBeta