최신 업데이트:2023-08-17 15:44:06
CDNetworks의 Media Acceleration Live Broadcast 서비스로 AES-128 암호화를 사용하여 HLS 스트림을 보호할 수 있습니다. 이 문서에서는 HLS 스트림에 대해 AES-128 암호화를 구성하는 단계를 설명합니다.
스트림을 암호화하려면 다음과 같이 Uri에 암호화 키와 키 서버 주소를 사용하여 요청을 전송하여 시작합니다.
curl -i --url "http://ca.haplat.net/wslive/drm/manage.action?n=$username&r=$currentTimeStamp&k=$k" \
-X "POST" \
-H "Content-Type: application/json" \
-d '{
"Host":"streampull.cdnetworks.com",
"data":[
{
"Stream":"live/stream1",
"Action":"add",
"Method":"aes-128",
"Key":"123456789",
"Uri":"http://livestream-aes.com/testaeskey",
"Expire":"1850092464"
}
]
}'
파라미터/헤더 | 필수 여부 | 설명 |
---|---|---|
Host | 예 | 스트림 푸시 도메인. |
n | 예 | 계정 이름입니다. |
r | 예 | 최대 길이가 13인 고유한 임의 문자열, 타임스탬프 사용을 권장합니다. |
k | 예 | MD5 인증 값입니다. k = md5 (r + apikey) 즉, ‘k’ 값을 가져오려면 문자열 ‘r’ 끝에 문자열 apikey를 추가한 후 결과 문자열에 대해 MD5 계산을 수행합니다. 참고: apikey는 고객 서비스에서 검색할 수 있습니다. 예를 들어, 1. 요청(Request) 및 apikey=012f37a3f2952 2. 문자열 r=1409284800 3을 무작위로 생성합니다. apikey를 ‘r’ 끝에 추가하여 문자열 '1409284800012f37a3f2952’ 4를 생성합니다. 새 문자열의 MD5 해시를 계산하여 ‘k’ 값을 가져옵니다, 즉 ‘b9fed80be752551834eec3e52fa94115’ |
요청 본문은 JSON 형식이어야 합니다. 다음과 같은 정보를 포함하는 JSON 객체를 생성할 수 있습니다.
아이템 | 필수 여부 | 설명 |
---|---|---|
Stream | 예 | 스트림 이름 또는 애플리케이션 이름과 함께 사용할 수 있습니다. 예를 들어 “/”, “live” 및 “live/livestream”. 참고: 최상위 애플리케이션 이름만 사용할 수 있습니다. |
Action | 예 | 작업 유형입니다. 세 가지 유형의 값을 지원합니다: “add”, “update” 및 “del”. |
Method | 아니오 | 암호화 알고리즘, ase-128 또는 AES-128. |
Key | 예 | 암호화 키. |
Uri | 예 | 키 서버 주소입니다. |
Expire | 아니오 | 키 만료 날짜는 Linux 타임스탬프(초)로 표시됩니다. 예를 들어: 1646720000. 만료 날짜를 지정하지 않으면 암호화 키는 최대 7일 동안 유효합니다. 키가 만료되면 스트리밍이 더 이상 암호화되지 않습니다. |
HTTP 코드 | 설명 |
---|---|
400 | 요청 본문에 n, r, k의 파라미터 또는 필수 필드가 없습니다. |
403 | 잘못된 k 값입니다. |
404 | 잘못된 URI입니다. |
405 | 요청 방법이 POST가 아닙니다. |
5xx | 내부 서버 오류입니다. |
{ "msg": true, "code": 200, "callTime": "2023-04-13 16:35:45" }
AES 암호화가 제대로 작동하면 스트림이 암호화되어 플레이어가 미디어 세그먼트를 재생할 수 없습니다. 다음 단계에 따라 이를 확인할 수 있습니다.:
http://pullaes128.cdnetworks.com/test/a5ebdd290182100039a7236800000000/playlist.m3u8
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:69
#EXT-X-KEY:METHOD=AES-128,URI="https://cloudvodtest0622.cdnetworks.com/cloudv-material/**********************",IV=0x313233343536******************
#EXTINF:3.989,
1661944371.ts?wsApp=HLS&wsMonitor=0
#EXTINF:3.968,
1661944372.ts?wsApp=HLS&wsMonitor=0
#EXTINF:3.989,
1661944373.ts?wsApp=HLS&wsMonitor=0
http://pullaes128.cdnetworks.com/test/a5ebdd290182100039a7236800000000/1661944371.ts?wsApp=HLS&wsMonitor=0