// 3 - Create Content Key $contentKey = createCommonCBCTypeContentKey($restProxy, $encodedAsset); // 4 - Create the ContentKey Authorization Policy $tokenTemplateString = null; if ($tokenRestriction) { $tokenTemplateString = addTokenRestrictedAuthorizationPolicy($restProxy, $contentKey, $tokenType, $fairPlayASK, $fairPlayPFXPassword, $fairPlayPFXFile, $fairPlayIV); } else { addOpenAuthorizationPolicy($restProxy, $contentKey, $fairPlayASK, $fairPlayPFXPassword, $fairPlayPFXFile, $fairPlayIV); } // 5 - Create the AssetDeliveryPolicy createAssetDeliveryPolicy($restProxy, $encodedAsset, $contentKey, $fairPlayIV); // 6 - Publish publishEncodedAsset($restProxy, $encodedAsset); // 7 - Generate Test Token if ($tokenRestriction) { generateTestToken($tokenTemplateString, $contentKey); } // Done echo "Done!"; //////////////////// // Helper methods // //////////////////// function uploadFileAndCreateAsset($restProxy, $mezzanineFileName) { // 1.1. create an empty "Asset" by specifying the name $asset = new Asset(Asset::OPTIONS_NONE); $asset->setName('Mezzanine ' . basename($mezzanineFileName)); $asset = $restProxy->createAsset($asset); $assetId = $asset->getId(); echo "Asset created: name={$asset->getName()} id={$assetId}" . PHP_EOL; // 1.3. create an Access Policy with Write permissions
function applyAesDynamicEncryption($restProxy, $asset, $options) { $testToken = null; // 1 - Create Content Key $contentKey = createEnvelopeTypeContentKey($restProxy, $asset); // 2 - Create the ContentKey Authorization Policy and Options if ($options->tokenRestriction) { // 2.1 - Apply Token restriction $template = addTokenRestrictedAuthorizationPolicy($restProxy, $contentKey, $options->tokenType); // 2.2 - Generate Test Token $testToken = generateTestToken($template, $contentKey); } else { // 2.1 - Apply Open restriction addOpenAuthorizationPolicy($restProxy, $contentKey); } // 3 - Create the AssetDeliveryPolicy createAssetDeliveryPolicy($restProxy, $asset, $contentKey); return $testToken; }