FairPlay Streaming License の発行
    • PDF

    FairPlay Streaming License の発行

    • PDF

    記事の要約

    One Click Multi DRM商品を通じて発生するライセンス発行のための APIです。
    本ガイドでは、FairPlay Streamingタイプの DRMライセンス発行 APIの説明であり、Widevineまたは PlayReadyタイプの DRMライセンスは、ライセンス発行 APIをご参照ください。

    参考

    FairPlay Streamingライセンス発行の注意事項は次のとおりです。

    • FairPlay Streamingライセンス発行前にサイト修正などにより FPSライセンスが事前に登録されている必要があります。
    • One Click Multi DRMは FPSライセンス発行時、Binaryタイプと JSONタイプライセンスレスポンスをサポートします。
    • すべてのライセンスリクエストは、DRMコンテンツを再生する端末デバイス情報とプレーヤーの実装によりリクエストします。
    警告
    • Fairplay Streamingライセンスの場合 1)ライセンスリクエスト(POST /api/v1/license)と 2)ライセンスリクエスト処理のための FPS証明書のリクエスト(GET /api/v1/license/fairPlay)の両方をリクエストする必要があります。
    • One Click Multi DRM商品では、X-DRM-TOKENヘッダの有効性を確認し、選択したサイト設定に合ったライセンスを発行します。ヘッダ値が無効であれば、ライセンス発行は行われません。
    • ライセンスレスポンスタイプは、プレーヤーのライセンス解析タイプに合わせて選択してください。
      HTML5プレーヤーのように一般的なマルチ DRM連携のみをサポートするクライアントについては、通常 ORIGINALでライセンスレスポンスをサポートします。
    • One Click Multi DRM商品では、FairPlay Streaming証明書登録をサポートしますが、新規証明書の発行機能はサポートしません。FPS証明書の発行は Apple社から直接取得する必要があり、詳細はガイドをご参照ください。: FairPlay Streaming証明書の発行
    • One Click Multi DRM商品にアップロードした FairPlay Streaming証明書については、有効性のチェックをサポートしていません。
    • One Click Multi DRMライセンスリクエストのための X-DRM-TOKENヘッダには、コンテンツを再生するユーザーの固有 ID(サービスサイトで管理するユーザー IDもしくは DRMコンテンツを利用するユーザーアカウント)である userIdを必ず含める必要があります。
    • Video Player Enhancementを活用して One Click Multi DRMライセンスをリクエストする場合、1.1.1以降のバージョンのみサポートします。

    リクエスト

    MethodEndpoint説明
    POSTPOST https://multi-drm.apigw.ntruss.com/api/v1/licenseFairPlay Streamingライセンス発行リクエスト
    GETGET https://multi-drm.apigw.ntruss.com/api/v1/license/fairPlayFairPlay Streamingライセンス発行のための JSONタイプ証明書をリクエスト
    GETGET https://multi-drm.apigw.ntruss.com/api/v1/license/fairPlayFairPlay Streamingライセンス発行のための ORIGINALタイプ(バイナリ)証明書をリクエスト

    リクエストヘッダ

    ヘッダ名要否説明
    x-ncp-apigw-timestampYES1970年1月1日00:00:00協定世界時(UTC)からの経過時間をミリ秒(Millisecond)で表したもの
    API Gatewayサーバとの時間差が5分以上の場合は無効なリクエストとみなす
    x-ncp-apigw-timestamp:{Timestamp}
    x-ncp-iam-access-keyYESNAVERクラウドプラットフォームポータルで発行した Access Key ID値
    x-ncp-iam-access-key:{Sub Account Access Key}
    x-ncp-apigw-signature-v2YESAccess Key ID値と Secret Keyで暗号化した署名
    x-ncp-apigw-signature-v2:{API Gateway Signature}
    Content-TypeYESRequest body content typeを application/jsonに指定
    Content-Type: application/json
    x-ncp-region_codeYESリージョンコード(KR)
    x-drm-tokenYESOne Click Multi DRMライセンス発行に必要なデータを含む暗号化されたトークン値
    x-drm-token:{X-DRM-TOKEN}

    X-DRM-TOKENヘッダ

    One Click Multi DRM APIを通じてライセンス発行するためには、X-DRM-TOKENヘッダ認証が必要です。
    X-DRM-TOKENヘッダ値の場合、次の JSONデータを Base64文字列に変換した値を入力します。

    • One Click Multi DRM商品では、X-DRM-TOKENヘッダを通じてコンテンツとサイトの権限があるユーザーであることを確認し、リクエストしたサイトに設定されたコンテンツセキュリティポリシーに従って DRMライセンスルールを設定します。
    フィールド名要否有効値説明
    siteIdYESライセンスを発行するためのサイト ID
    contentIdYES再生するコンテンツの固有 ID
    DRMパッケージング時に使用する値で、最低 3文字以上のアルファベット/数字または 「-」(ハイフン)、 「_」(アンダーバー)を含む最大 100文字まで入力可能です。
    drmTypeYESWIDEVINE
    PLAYREADY
    FAIRPLAY
    ライセンスをリクエストする DRMタイプ
    responseFormatYESORIGINAL
    JSON
    ライセンスリクエストに対するレスポンスデータタイプ。(基本値: ORIGINAL)
    * ORIGINAL: リクエストしたバイナリライセンスデータのレスポンス
    * JSON : ライセンスデータと追加情報(クライアントデバイス IDなど)を含む JSONタイプでレスポンス。トークンプロキシまたはクライアント SDKを使用する場合のみ適用可能。
    userIdYESコンテンツを再生するユーザーの固有 ID(サービスサイトで管理するユーザー IDもしくは DRMコンテンツを利用するユーザーアカウント)である userId

    X-DRM-TOKENヘッダの作成

    X-DRM-TOKENを作成する方法は、次のとおりです。

    1. ライセンスリクエストに必要な siteId、contentId、drmType、responseFormat、userIdを JSONで入力します。
    # json
    {"siteId":"drm-20231115142326-nHyNw","contentId":"my-drm-content-sample","drmType":"FAIRPLAY","responseFormat":"ORIGINAL","userId":"d41d8cd98f00b204e9800998ecf8427e"}
    
    1. 入力した JSONデータを Base64 URLにエンコードします。
    # Base64 Encrypted String 
    eyJzaXRlSWQiOiJkcm0tMjAyMzExMTUxNDIzMjYtbkh5TnciLCJjb250ZW50SWQiOiJteS1kcm0tY29udGVudC1zYW1wbGUiLCJkcm1UeXBlIjoiRkFJUlBMQVkiLCJyZXNwb25zZUZvcm1hdCI6Ik9SSUdJTkFMIiwidXNlcklkIjoiZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2UifQ==
    
    注意

    Base64でエンコードされる過程で JSONの空白値やエンター値を含まないようご注意ください。

    x-drm-tokenヘッダを含むライセンスの発行リクエスト例

    POST https://multi-drm.apigw.ntruss.com/api/v1/license 
    
    curl -i -X POST \
       -H "x-ncp-apigw-timestamp:1505290625682" \
       -H "x-ncp-iam-access-key:D78BB444D6D3C84CA38A" \
       -H "x-ncp-apigw-signature-v2:WTPItrmMIfLUk/UyUIyoQbA/z5hq9o3G8eQMolUzTEo=" \
       -H "x-ncp-region_code:KR" \
       -H "accept: application/json" \ 
       -H "X-DRM-TOKEN: eyJzaXRlSWQiOiJkcm0tMjAyMzExMTUxNDIzMjYtbkh5TnciLCJjb250ZW50SWQiOiJteS1kcm0tY29udGVudC1zYW1wbGUiLCJkcm1UeXBlIjoiRkFJUlBMQVkiLCJyZXNwb25zZUZvcm1hdCI6Ik9SSUdJTkFMIiwidXNlcklkIjoiZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2UifQ== \
    'https://multi-drm.apigw.ntruss.com/api/v1/license'
    

    x-drm-tokenヘッダを含む FPS証明書の発行リクエスト例

    GET https://multi-drm.apigw.ntruss.com/api/v1/license/fairPlay
    
    curl -i -X GET \
       -H "x-ncp-apigw-timestamp:1505290625682" \
       -H "x-ncp-iam-access-key:D78BB444D6D3C84CA38A" \
       -H "x-ncp-apigw-signature-v2:WTPItrmMIfLUk/UyUIyoQbA/z5hq9o3G8eQMolUzTEo=" \
       -H "x-ncp-region_code:KR" \
       -H "accept: application/json" \ 
       -H "X-DRM-TOKEN: eyJzaXRlSWQiOiJkcm0tMjAyMzExMTUxNDIzMjYtbkh5TnciLCJjb250ZW50SWQiOiJteS1kcm0tY29udGVudC1zYW1wbGUiLCJkcm1UeXBlIjoiRkFJUlBMQVkiLCJyZXNwb25zZUZvcm1hdCI6Ik9SSUdJTkFMIiwidXNlcklkIjoiZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2UifQ== \
    'https://multi-drm.apigw.ntruss.com/api/v1/license/fairPlay'
    

    レスポンス

    参考
    • ORIGINALタイプのライセンスについては、binaryレスポンスを提供します。
    • binaryライセンスのリクエストのレスポンスについては、レスポンス例は提供されません。

    JSONタイプのライセンスリクエストのレスポンス

    フィールド名要否タイプ説明
    licenseYesStringライセンス JSONデータ
    licenseCreatedTimeYesTimestampライセンス発行時間
    tokenCreatedTimeYesTimestampX-DRM-TOKENヘッダ有効性通過後の有効時間
    tokenExpireTimeYesTimestampリクエストした X-DRM-TOKENヘッダトークン有効時間

    レスポンス例

    HTTP/1.1 200 OK
    Server: nginx
    Date: Fri, 20 Nov 2023 20:53:32 GMT
    Content-Type: application/json;charset=utf-8
    Connection: keep-alive
    Access-Control-Allow-Origin: *
    x-ncp-trace-id: 36c9k60om4p3238cpmc9gm4cj4
    
    {
      "license": "080512BF050AB9020803121044E0A85CB19D0441AC6C66B3D6ABBCC218E39FC48D06228E023082010A0282010100B2FB0D937113004C0F805C6C57DE7B266E2B5E2FE12241FF1421ED55DE2C3F73F62891D7587A8ED153F4009D9522C3609A5DC3C4E43891F8F2D7B448B36E8B77AD96DC795795706D4289F8E61FBDF564AB57E5A5EDDB64FC4EA6891C793B3FC615998CB01214D769F5BC9F93DD96D5ACB7E7239F0C3749309C55C41DD889277B28D74ADA5CB9B3F760318B55EE7FB9336283E3792EA360CC3BD32F4FDB49C4D33A5836DE3428B62D027964A989F42AB37E123BE5EFC15285090B2601F09A93AAD66546D8F85820B882A1AA3D320A8759628BB177484A660D54711FDC338DB6119E34B49F927942A343F5AD069C06DBCAF3958F83F796EAC7BF5C860B893D6CB102030100013A08696E6B612E636F6D400248011280030078BF2DF3FF6F3A488B86023BD961B3FCA718DAA38976B74620A560A8524E53C16F064CB7528F174162F331C32AA0E72296DD15BB79CA986B7739A85C7A4AB4B06D8665CDD166C58C1E030D6232AEC7970801125CC59FB988265FFFD38BD04241AAFEBB91F8C933A9E70A3B52F0FBF29306F10A2AF91B30BD3EBE24D7890778898A4999F0F7D28BFFBBD6647B08D93EDEE309C2B4B9E3080F269A1C3DE899FDA800C277EC6D0882365B1C9805D0FF4DBEB2E8BA5C51F86F910F73C1776761B85F88943E44DDCD7ABF797C4A4BE2489D6BE4FAAE4569A435E5D5E3773636EF872706F155B271D6E49D4C750A51614DBBD5D2A0F9B8E352FA91B52EC19593F215BCEB2E8401CCC9757C48793C9AB4904B93C7D326BFFBB5E24CDBF297599FB22724C95C9D40D44455586B188A6D10658BEBE5F6CE812FABB8CA58282B5D28176D5DFF3B358692CC4FC6895A06C0B90A192D65F69AE07415DCEF6E54A677D5C769BA6E9CC24E2B968BC3E6E4D4E099E446D9F7E38740DBB708023E6D35D99F1B10",
      "licenseCreatedTime": 1700476438204,
      "tokenCreatedTime": 1700476438107,
      "tokenExpireTime": 1700477038107
    }
    

    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.