Common-utils-encryption

From Gcube Wiki
Revision as of 22:52, 25 January 2012 by Manuele.simi (Talk | contribs) (Created page with '=== Scope === This library offers an easy way to encrypt and decrypt XML documents and String objects. It is based on a symmetric key based on the AES standard for cryptography. …')

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Scope

This library offers an easy way to encrypt and decrypt XML documents and String objects. It is based on a symmetric key based on the AES standard for cryptography.

Sample Usage

These samples are taken from the exploitation the resource library does of the encryption library for protecting the AccessData content of the RuntimeResource class.

Encryption

<src lang="java">

import org.gcube.common.utils.encryption.StringEncrypter;

//... resource.setAccessData(new StringEncrypter("my sensible data").encrypt());

</src>

After serialization, the resource will appears as follows: <src lang="xml"> <?xml version='1.0' encoding='UTF-8' standalone='yes' ?> <Resource version="0.4.x"> <ID>ac41d0d0-4791-11e1-b442-a3a8a4cd06fd</ID> <Type>RuntimeResource</Type> <Profile> <Category>test category</Category> <Name>resource name</Name> <Description>a description</Description> <Platform> <Name>Test platform</Name> <Version>1</Version> <MinorVersion>1</MinorVersion> </Platform> <RunTime> <HostedOn>macos-manuele</HostedOn> <GHN UniqueID="123456789"/> <Status>READY</Status> </RunTime> <AccessPoint> <Interface> <Endpoint EntryName="ap">http://myaccesspoint.eu</Endpoint> </Interface> <AccessData>dtvKM4JImPLQvboHwBvKEur1tbvdnKXYB82AICLq5/c=</AccessData> </AccessPoint> </Profile> </Resource> </src>

Decryption

<src lang="java">

import org.gcube.common.utils.encryption.StringEncrypter;

//... AccessPoint ap = new AccessPoint(); ap.setAccessData(new StringEncrypter(this.load("AccessData")).decrypt()); System.out.println("Access data's content: " + ap.getAccessData());

</src>

This will print the following line: <src lang="text"> Access data's content: my sensible data </src>