PallyCon 멀티 DRM 패키징 콜백 게이트웨이 API

개요

PallyCon 클라우드 서버는 콘텐츠 암호화를 위한 패키징 과정 중 해당 콘텐츠에 대한 ID 값을 고객의 서비스 사이트에 요청합니다.

서비스 사이트는 콜백 게이트웨이 웹페이지를 통해 콘텐츠 ID를 설정할 수 있습니다.

본 문서는 패키징 시 Content ID(CID) 요청을 위한 콜백 게이트웨이 API 규격에 대해 설명합니다.

콘텐츠 ID 요청 과정

package workflow

  1. 패키져 실행

    • 콘텐츠 패키징을 위해 PallyCon DRM 패키져를 실행합니다.
  2. Pack 정보 요청

    • 패키져는 콘텐츠 패키징에 필요한 키 정보를 PallyCon 클라우드 서버에 요청합니다.
  3. Content ID 요청

    • PallyCon 클라우드 서버는 콜백 페이지를 통해 해당 서비스 사이트에 Content ID를 요청합니다.
  4. Content ID 발급

    • 서비스 사이트의 게이트웨이 페이지에서 콘텐츠의 파일명과 경로를 이용하여 Content ID 정보를 회신합니다.
  5. Pack 정보 발급

    • PallyCon 클라우드 서버는 게이트웨이 페이지로부터 전달 받은 Content ID 에 해당하는 패키징 키 값들을 패키져로 발급합니다.

패키징 콜백 API (JSON 방식)

요청 데이터 규격

  • Request URI : PallyCon Admin 사이트의 'CID 발급 URL' 세팅에 등록된 URL로 요청됩니다.
  • Request Method : POST
  • Chracter set : UTF-8
  • POST body : request parameters
Key Value
data base64 Encoding ( aes256 Encrypt ( JSON Data string ) )

* AES256 암호화 항목 참조

JSON 데이터 형식

{
    "file_name": "<File name>",
    "file_path": "<File path>",
    "nonce": "<Random String>"
}
Name Value Description
file_name string 파일 이름
file_path string 패키징 시 파일 경로
nonce string One time Random String. 응답을 보낼 때 동일 값으로 회신해야 합니다.

응답 데이터 규격

  • body : base64 Encoding ( aes256 Encrypt ( JSON Data string ) )

JSON 데이터 형식

{
    "error_code": "<Error Code>",
    "error_message": "<Error Message>",
    "cid": "<Content ID>",
    "nonce": "<Random String>"
}
Name Value Description
error_code string 성공:"0000", 실패: 해당 실패에 대한 에러 코드 (서비스 사이트에서 정의)
error_message string 실패한 경우 상세 에러 메시지
cid string 요청 데이터의 콘텐츠 파일에 해당하는 Unique ID (최대 200byte)
nonce string One time Random String. 요청 데이터의 값과 동일한 문자열.

JSON 방식 예제

요청 데이터

{
    "file_name": "sample_content1.mp4",
    "file_path": "d:\content\lecture1\sample_content1.mp4",
    "nonce": "3426u3050329384g"
}

응답 데이터

{  
    "error_code": "0000",
    "error_message": "success",
    "cid": "con-sample-123",
    "nonce": "3426u3050329384g"
}

패키징 콜백 API (XML 방식 구 규격)

요청 데이터 규격

  • Request URI : PallyCon Admin 사이트의 'CID 발급 URL' 세팅에 등록된 URL로 요청됩니다.
  • Request Method : POST
  • Chracter set : UTF-8
  • POST body : request parameters
Key Value
data base64 Encoding ( aes256 Encrypt ( XML Data string ) )

* AES256 암호화 항목 참조

XML 데이터 형식

<?xml version='1.0' encoding='utf-8'?>
<RES>
    <FILENAME>File Name</FILENAME>
    <FILEPATH>File Path</FILEPATH>
    <NONCE>Random String</NONCE>
</RES>
Name Value Description
FILENAME string 파일 이름
FILEPATH string 패키징 시 파일 경로
NONCE string One time Random String. 응답을 보낼 때 동일 값으로 회신해야 합니다.

응답 데이터 규격

  • body : base64 Encoding ( aes256 Encrypt ( XMLData string ) )

XML 데이터 형식

<?xml version='1.0' encoding='utf-8'?>
<RES>
    <ERROR>Error Code</FILENAME>
    <ERRMSG>Error Message</FILEPATH>
    <CID>Content ID</CID>
    <NONCE>Random String</NONCE>
</RES>
Name Value Description
ERROR string 성공:"0000", 실패: 해당 실패에 대한 에러 코드 (서비스 사이트에서 정의)
ERRMSG string 실패한 경우 상세 에러 메시지
CID string 요청 데이터의 콘텐츠 파일에 해당하는 Unique ID (최대 200byte)
NONCE string One time Random String. 요청 데이터의 값과 동일한 문자열.

XML 방식 예제

요청 데이터

<?xml version='1.0' encoding='utf-8'?>
<RES>
    <FILENAME>sample_content1.mp4</FILENAME>
    <FILEPATH>d:\content\lecture1\sample_content1.mp4</FILEPATH>
    <NONCE>3426u3050329384g</NONCE>
</RES>

응답 데이터

<?xml version='1.0' encoding='utf-8'?>
<RES>
    <ERROR>0000</FILENAME>
    <ERRMSG>Success</FILEPATH>
    <CID>con-sample-123</CID>
    <NONCE>3426u3050329384g</NONCE>
</RES>

AES256 암호화

AES256 암호화/복호화 처리는 PallyCon Cloud 서비스 사이트 생성 시 발급되는 사이트 키 값을 이용하여 아래와 같이 처리합니다. ( PallyCon Admin 사이트의 셋팅 페이지에서 확인 )

- mode : CBC
- key : 32 byte (PallyCon 서비스 사이트에서 발급되는 사이트 키)
- iv : 16 byte ( **0123456789abcdef** )
- padding : pkcs7

results matching ""

    No results matching ""