search cancel

Jasper Reports 7.1.1 - Obtaining report shows Jasper login screen

book

Article ID: 243236

calendar_today

Updated On:

Products

CA Identity Manager

Issue/Introduction

After install of Tibco Jasper 7.1.1 from 6.4.2 and IDM 14.4 we see a Jasper login page when trying to view reports in IDM.  If you login to Jasper you see the report.  It should login to Jasper and show the report without a login page. 

Cause

Possibly a missing or modified file in the Jasper install.  After installing Jasper fresh the integration works properly (after following the IDM documentation on Jasper integration).

Environment

Release : 14.4

Component : Jasper 7.1.1

Resolution

Client did a deinstall/reinstall starting with 6.3.  We then upgraded to 7.1 and reports are now working in the upgraded environment.

Additional Information

Jasper logs show the following:

2022-06-01 05:45:33,825 ERROR Encryptor,https-openssl-nio-8443-exec-1:155 - General Security Exception
2022-06-01 05:45:33,828 ERROR CABIUtil,https-openssl-nio-8443-exec-1:69 - com.ca.bicoe.cajasperserver.common.util.CABIExceptionForRunTime: javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
 at com.ca.bicoe.cajasperserver.preauth.sso.ext.auth.Encryptor.decrypt(Encryptor.java:156)
 at com.ca.bicoe.cajasperserver.preauth.sso.ext.auth.EncryptorService.decryptcabi(EncryptorService.java:94)
 at com.ca.bicoe.cajasperserver.preauth.sso.ext.filter.TokenService.validatePreAuthTokenHistory(TokenService.java:199)

Caused by: javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.
 at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:991)
 at com.sun.crypto.provider.CipherCore.doFinal(CipherCore.java:847)
 at com.sun.crypto.provider.AESCipher.engineDoFinal(AESCipher.java:446)
 at javax.crypto.Cipher.doFinal(Cipher.java:2164)
 at com.ca.bicoe.cajasperserver.preauth.sso.ext.auth.Encryptor.decrypt(Encryptor.java:148)

At the end of the file we see "token is already used".  This occurs once.  they may have entered an incorrect user or password through the US on load of the login page for Jasper at that time:

2022-06-01 05:45:52,149 ERROR TokenService,https-openssl-nio-8443-exec-1:169 - Token is already used
2022-06-01 05:45:52,150 ERROR ExternalAuthenticationProxyFilter,https-openssl-nio-8443-exec-1:90 - Exception processing token
2022-06-01 05:45:52,153 ERROR CABIUtil,https-openssl-nio-8443-exec-1:69 - com.ca.bicoe.cajasperserver.common.util.CABIExceptionForRunTime: org.springframework.security.authentication.BadCredentialsException: Token is already used
 at com.ca.bicoe.cajasperserver.preauth.sso.ext.filter.TokenService.validateTokenTimeStamp(TokenService.java:171)
 at com.ca.bicoe.cajasperserver.preauth.sso.ext.filter.TokenService.processToken(TokenService.java:99)
 at com.ca.bicoe.cajasperserver.preauth.sso.ext.filter.ExternalAuthenticationProxyFilter.doFilterreq(ExternalAuthenticationProxyFilter.java:132)