Problem: JasperReports Server uses a Web Services call to communicate with RiskVision server which requires SSL Certificate. If the certificate is not installed you will not be able to access the JasperReport repository in RiskVision. You can check whether the certificate is installed property or not by following these steps.
- Go to “Administration” -> “Users” -> “Roles” and go to detail of any roles.
- Edit the role.
- Click on “Analytics” button to set Default Home Page.
If you are not able to see the ‘+’ sign next to Agiliance folder then certificate is not installed.
You will also see the below error message in the log file. You can download the log file from “Administration” -> “Server Administration” -> “Support” -> “Server Log” -> “Download” link.
05-23 16:06:54.167|Efirstname.lastname@example.org|AglRunReportServlet|getJasperContentParameterURL - javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
This means the JRE Certificate Authority does not contain the certification and you will have to import it manually, below is the solution.
Solution: To install a third party SSL certificate.
- Copy the server .crt file to the %AGILIANCE_HOME%\apache2\conf directory.
- Navigate to the working directory with the following command:
> cd %JAVA_HOME%/jre/bin
- Run the following command to import the SSL certificate:
> keytool –import –alias server.crt –keystore ../lib/security/cacerts –file %AGILIANCE_HOME%\apache2\conf \server.crt
When the commands execute successfully, enter the default password “changeit.”
- (Optional.) To verify whether the import was successful, run the following command:
> keytool –list keystore ..\lib\security\cacerts –alias server.crt
Once you install the certificate, the HTTPS is used for communication between the JasperReports Server and Agiliance RiskVision server. But, if you need to connect the JasperReports Server over HTTP, you should add:
- The jaser.use.secure.connection=false property to the agiliance.properties file, available in the %AGILIANCE_HOME%\config directory.
- The jasper.admin.port=8480 property to the agiliance.properties file, available in the %AGILANCE_HOME%\config directory.
- The riskvision.host.ipaddress=<IP_Address> property to the agiliance.properties file, available in the %JASPERREPORTS_HOME% \apache-tomcat\webapps\jasperserver-pro\WEB-INF directory.