« The beauty of separating rights from content | Main | Using Oracle IRM to secure your sensitive emails »

Protecting large amounts of files with Oracle IRM

I am often asked how it is possible to seal en mass lots of files against an Oracle IRM server. There are many ways to do this via our APIs and prebuilt tools.

Sealing a folder with the Windows Explorer integration

The simplest method by far is by simply right clicking on a folder in Windows and selecting "Seal To..." Installing the Oracle IRM Desktop gives the user the ability to seal an entire folder structure of content directly from Windows Explorer. All you need are rights to seal in a context (be given a Contributor role) and have the Oracle IRM Desktop installed.

Limitations of this method are being able to insert any form of logic in the process. Performance wise it should be just as quick via this method as any other. I tried this on my little laptop, I have a documents folder of about 600mb in size and made a copy. This folder contains all sorts of content, some already sealed and some in a format Oracle IRM doesn't support. I timed how long it took to seal 445 supported files by a right click and seal, it completed in about 45 seconds. Not a bad result on a little laptop hard disk (320GB, 5300RPM).

smBatch.exe

For slightly more control you can use the command line driven utility that is available in the Oracle IRM Developers SDK. This tool uses the C++ interface and the source code for it is included as part of the SDK. It takes a set of parameters as follows. This allows for a really easy way to include sealing as part of an existing batch process that can call out to the shell passing in the details of the content to be sealed.


smBatch (DSE v5.5.9.95), Copyright (c) 1996, 2007, Oracle. All rights reserved.
use: smBatch
   -licserv <license server URL>
   -publisher <publisher ID>
   -aemail <administrator email>
   -apwd <administrator password>
   -contentset <content set name>
   -category <category>
   [-sealedfileschema <major.minor.revision>]
   [-dryrun <Run the program without sealing the files. For debug purpose>
   [-batch <Batch file for multiple sealing of i/o files, mime and item code>
   [-metadata <full path to metatdata file>]
   [-mime <sealed MIME type>]
   [-version <version code>]
   [-item <item code>]
   [-time <publication time in format 25 Aug 2000 16:30:00 EST>]
   [-cipherlen <number>]
   [-plainlen <number>]
   [-period <number>]
   [-streaming <on|off Disable chunking if switched to off; default is on.]
   [-semail <source email>]
   [-spwd <source password>]
   [-pxuser <proxy username>]
   [-pxpwd <proxy password>]
   [-pxhost <proxy host url>]
   [-pxport <proxy port number>]
   [-impersonate <login name of user to impersonate>]
   [-simpersonate <login name of source user to impersonate>]
   <infile> [<outfile>]

e.g. smBatch -lic seal://licence.www.oracle.com:80 -pub mypub-001
-aem myname@mydomain.com -apw topsecret -cont cs_1 -cat cat_1
-pxhost 10.2.3.54 -pxport 77 -stream off -pxuser mickey.mouse -pxpwd disney
-t "25 Aug 2000 16:30:00 EST" example.pdf

Calling the Dynamic Sealing Engine (DSE) API

For the ultimate in control you can use the DSE API which is available in Java, C++ and COM. An example of this use in a Javascript function is;


function fnSealFileActiveX (strLicenseURL, strPublisher, strAdminAccount, strAdminPassword, strContentSet, strCategory, strItemCode, strFilePathname, strSealedFilePathname)
{
   try {
      var objSealer = new ActiveXObject ("SealedMedia.DynamicSealingEngine");
      objSealer.SetLicenceServerURL (strLicenseURL,30);
      objSealer.ItemCode = strItemCode;
      objSealer.username = strAdminAccount;
      objSealer.password = strAdminPassword;
      objSealer.publisherID = strPublisher;
      objSealer.contentSet = strContentSet;
      objSealer.category = strCategory;

      objSealer.SealFile (strFilePathname, strSealedFilePathname);
   }
   catch (e) {
      throw e.description + " " + e.number;
   }
return true
}

Using Web Services to seal files

Finally there is the option to be totally platform and language independant by using the Web Services interfaces on the Oracle IRM server. There is an excellent tutorial of how to get this up and running over on OTN. Using Oracle IRM Web Services with Eclipse WTP 1.5.4. However this is not going to be the best bet for performance as you will be sending all the content over the network to the IRM server, which will seal it and then pass the entire, encrypted file back to the calling client over the network.

So in summary, plenty of options to fine ways of sealing existing repositories of files using Oracle IRM.

Comments (4)

Georg:

Thanks for the summary - but is there an easy way (not using the web services) to "reseal" (unseal and then seal in another context on another server) many documents?

Martin A:

There is indeed an easy way to reseal or reclassify content without using the programmatic methods described by Simon. In the same way that the IRM Desktop provides a Seal To... option in the Windows Explorer menus, it also provides a Reseal To... option. This option may be applied to multiple documents and even to a cascade of folders.

Of course, the users' rights control the extent to which they may use this option. A user needs to have the right to reseal information from its current classification into the target classification. This is another advantage of the classification-based approach that Oracle IRM takes - you can control, for example, whether Board documents may be reclassified as Company Internal documents, and if so by whom.

Note that this task typically does NOT involving unsealing the documents - that would create a sizable security risk.

Sofya:

May be you know how to delete unsealed files after sealling using smBatch.
I've tried to find some information in Internet, but I don't successed.

Sofya, I would recommend looking into using our HotFolders code, this allows you to mass seal content and it automatically deletes content. You can get access to the project here...

http://blogs.oracle.com/irm/2009/09/oracle_irm_hot_folders_now_in.html

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

Oracle IRM resources

IRM at oracle.com
Online demonstration
Oracle MIX group
Downloads on OTN
Technical white paper
Business white paper
More...

Want to evaluate how Oracle IRM works? Please contact us and we can quickly setup you up with a hosted evaluation.

About This Entry

This page contains a single entry from the blog posted on February 18, 2009 5:10 PM.

The previous post in this blog was The beauty of separating rights from content.

The next post in this blog is Using Oracle IRM to secure your sensitive emails.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type and Oracle