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