Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
OMA DRM DCF - Create Separate Delivery Content Format (.dcf) and Rights Object (.dr) Files Perl example script to create a DCF file for OMA DRM (Open Mobile Alliance Digital Rights Management).
Also creates the corresponding DRM rights object file (.dr).
DRM Content Format (file extension *.dcf) contains the encrypted content. This file type is used in separate delivery where the content is encrypted into this message without the rights. The key used to encrypt the content is sent separately with the rights to the device. The MIME type for this is application/vnd.oma.drm.content.
# file: omaDrmCreate.pl
use chilkat;
# Perl example program to create an OMA DRM DCF file.
$omaDrm = new chilkat::CkOmaDrm();
$omaDrm->UnlockComponent("anything for 30-day trial");
# Set the content type here:
$omaDrm->set_ContentType("image/gif");
# Substitute your own URI here:
$omaDrm->set_ContentUri("cid:my-text-20060925101425-1396302043@site.com");
# Substitute your own information here, but keep the
# Encryption-Method the same.
$omaDrm->set_Headers("Encryption-Method: AES128CBC;padding=RFC2630" .
"\r\n" . "Content-Name: \"Orval\"" .
"\r\n" . "Content-Description: \"Orval\"" .
"\r\n" . "Content-Vendor: \"Orval\"" .
"\r\n" . "Icon-Uri: http://www.site.com/icons/orval2.dcf.png");
# You may set your initialization vector here:
$omaDrm->SetEncodedIV("00010203040506070001020304050607", "hex");
# Your Base64-key for encryption can be set here:
$omaDrm->set_Base64Key("BiVVJOQee6y4PWYL+fbvJA==");
# In this example, the content is a GIF image.
$omaDrm->LoadUnencryptedFile("orval2.gif");
# Finally, write the DCF file:
$omaDrm->CreateDcfFile("orval2.dcf");
# Create a corresponding .dr DRM Rights Object file (which is an XML formatted file).
$dr = new chilkat::CkXml();
$dr->put_Tag("o-ex:rights");
$dr->AddAttribute("xmlns:o-ex","http://odrl.net/1.1/ODRL-EX");
$dr->AddAttribute("xmlns:o-dd","http://odrl.net/1.1/ODRL-DD");
$dr->AddAttribute("xmlns:ds","http://www.w3.org/2000/09/xmldsig#/");
$context = $dr->NewChild("o-ex:context","");
$context->NewChild2("o-dd:version","1.0");
$agreement = $dr->NewChild("o-ex:agreement","");
$asset = $agreement->NewChild("o-ex:asset","");
$context = $asset->NewChild("o-ex:context","");
$context->NewChild2("o-dd:uid",'cid:my-text-20060925101425-1396302043@site.com');
$keyInfo = $asset->NewChild("ds:KeyInfo","");
$keyInfo->NewChild2("ds:KeyValue",'BiVVJOQee6y4PWYL+fbvJA==');
$permission = $agreement->NewChild("o-ex:permission","");
$permission->NewChild2("o-dd:display","");
$dr->SaveXml("orval2.dr");
|
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.