com.crystaldecisions.sdk.uri
Class EmbedTokenGenerator

java.lang.Object
  extended by com.crystaldecisions.sdk.uri.EmbedTokenGenerator

public class EmbedTokenGenerator
extends java.lang.Object

security utilities A copy of this class is duplicated in //depot3/platform.client.java.app.portal/applications/java/JavaPortlets/src/com/businessobjects/portlet/common/EmbedTokenGenerator.java If any fix is made for this class please fix the other as well.


Constructor Summary
EmbedTokenGenerator()
           
 
Method Summary
static java.lang.String computeEmbedToken(java.lang.String embedSecret)
          Computes time sensitive embedToken string which can be passed on to BOE as an URL parameter(i.e. http://...
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EmbedTokenGenerator

public EmbedTokenGenerator()
Method Detail

computeEmbedToken

public static java.lang.String computeEmbedToken(java.lang.String embedSecret)
                                          throws java.security.GeneralSecurityException,
                                                 java.io.UnsupportedEncodingException
Computes time sensitive embedToken string which can be passed on to BOE as an URL parameter(i.e. http://.../BOE/BI&embedToken=...) in order to allow for secure embedding of the logon page into other pages, such as portal pages The token is the current system time encrypted using password based encryption with the password being the passed embedSecret, and base 64 encoded. Note: you will have to URL encode the token if passing as a URL parameter. Note: Cipher is being used for encryption instead of bcm since at the time of writing (Aurora 4.0) Netweaver portal 7.01 (which we needed to support) ran on jre 1.4, while bcm.jar is compiled with jre 1.5. Also this is not used to encrypt user data, which is what the crypto standards are intended for, so it's ok.

Parameters:
embedSecret - password to use for encryption, must be identical with the value configured on the receiving side (BOE.war)
bundle - containing warning/error strings
Returns:
embedToken
Throws:
java.security.GeneralSecurityException - if there is an issue encrypting the token
java.io.UnsupportedEncodingException - if there is an issue base 64 encoding with UTF-8 character encoding