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 Content Format (.dcf) and Rights Object (.dr) Files Python example script to create a separate delivery 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. DRM Rights Object (file extension *.dr) contains the rights object, specified in clear text, as well as the key used to encrypt the content in the DCF file. The MIME type for this file type is "application/vnd.oma.drm.rights+xml"
# file: omaDrmCreate.py
import chilkat
# Python example program to create an OMA DRM DCF file.
omaDrm = 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 = 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.