利用シナリオ

ユーザーアクセス用の暗号化された URL の書式
http://DomainName/Filename?auth_key=timestamp-rand-uid-md5hash
認証フィールド
  • PrivateKey フィールドを設定できます。
  • 有効期間は 1,800 秒です。事前に設定されたアクセス時間から 1,800 秒以内にクライアントソースサーバーにアクセスできない場合に認証が失敗したことを示します。 たとえば、アクセス有効期限を 2020-08-15 15:00:00 に設定した場合、実際にリンクが失敗するのは、2020-08-15 15:30:00 です。
    フィールド 説明
    timestamp 有効期限です。 固定長 10 桁の正の整数です。1970 年 1 月 1 日からの秒単位の経過時間です。

    この 10 桁の整数は、有効期限を制御する場合に使用します。 実効時間は 1,800 秒です。

    rand ランダムな数値です。 UUID (ハイフン “-” を含みません。例 : 477b3bbc253f467b8def6711128c7bec 形式) を推奨します。
    uid 使用しません (0 に設定)。
    md5hash MD5 アルゴリズムで計算した検証文字列です。数字 0〜9 と英小文字 a〜z の組み合わせで、固定長 は 32 文字です。
    CDN サーバーがリクエストを受信すると 、最初にリクエスト内の timestamp が現在時刻より早い時刻かどうかを判断します。
    • timestamp が現在時間よりも早い時刻である場合、URL は有効期限切れとみなされ、CDN サーバーは HTTP 403 エラーを返します。
    • timestamp が現在時間より遅い時刻である場合、CDN サーバーは等価な文字列 (後述の sstring フィールドの構成をご参照ください) を作成します。 MD5 アルゴリズムで HashValue を計算し、md5hash と比較します。 一致する場合、リクエストは認証を通過して、リクエストされたファイルが返されます。 一致しない場合、 リクエストは認証に失敗し、HTTP 403 エラーが返されます。
  • "HashValue" は、以下の文字列に基づいて計算されます。
    sstring = "URI-Timestamp-rand-uid-PrivateKey" (URI はユーザーのリクエストオブジェクトの相対アドレスです。 /Filename などパラメーターは含みません) It does not contain parameters such as /Filename.)
    HashValue = md5sum(sstring)

認証例

  1. 以下のとおり req_auth でオブジェクトをリクエストします。
    http:// cdn.example.com/video/standard/1K.html
  2. キーを aliyuncdnexp1234 に設定します (自分で設定できます)。
  3. 認証設定ファイルの有効期限は、2015 年 10 月 10 日 00:00:00 です。 秒単位で計算した数値は 1,444,435,200 です。
  4. CDN サーバーは、以下の HashValue 計算用の署名文字列を作成します。
    /video/standard/1K.html-1444435200-0-0-aliyuncdnexp1234"
  5. 署名文字列に応じて、CDN サーバーは HashValue を評価します。
    HashValue = md5sum("/video/standard/1K.html-1444435200-0-0-aliyuncdnexp1234") = 80cd3862d699b7118eed99103f2a3a4f
  6. リクエスト時の URL は以下のとおりです。
    http://cdn.example.com/video/standard/1K.html?auth_key=1444435200-0-0-80cd3862d699b7118eed99103f2a3a4f

    計算した HashValue がユーザーリクエスト内の md5hash = (80cd3862d699b7118eed99103f2a3a4f) の値と一致している場合、認証が成功します。