Error When Importing a certificate into an application
3 years ago
Originally Published: 2008-03-04
Article Number
000054709
Applies To
RKM 2.x server

Issue
Error When Importing a certificate into an application
java.lang.ArrayIndexOutOfBoundsException
at org.apache.commons.codec.binary.Base64.isBase64(Base64.java:173)
at org.apache.commons.codec.binary.Base64.discardNonBase64(Base64.java:522)
at org.apache.commons.codec.binary.Base64.decodeBase64(Base64.java:418)
at com.rsa.kms.key.support.DefaultCertificateParser.getSerialNumber(DashoA10*..:126)
at com.rsa.kms.database.sql.DefaultCertificateFinder.isCertificateUsed(DashoA10*..:41)
at com.rsa.kms.key.application.DefaultApplicationManager.a(DashoA10*..:497)
at com.rsa.kms.key.application.DefaultApplicationManager.updateApplication(DashoA10*..:414)
at com.rsa.kms.transport.servlet.AdminServlet.performPost(DashoA10*..:269)
at com.rsa.kms.transport.servlet.AbstractKeyManagerServlet.doPost(DashoA10*..:65)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at com.rsa.kms.transport.servlet.AbstractKeyManagerServlet.service(DashoA10*..:116)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.rsa.kms.transport.servlet.AbstractKeyManagerServlet.service(DashoA10*..:120)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:272)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at com.rsa.kms.transport.filter.InputSanitizer.doFilter(DashoA10*..:84)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3151)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1973)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1880)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1310)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
Cause
You will receive the above error if trying to import a certificate that is DER encoded
Resolution
Change the certificate encoding to PEM

The easiest way to convert the certificate:

In windows give the file a .cer extension
double click the file
Click the Details tab
Click the Copy to file button
Click the Next button
Choose Base64 from the options and click next
Choose a filename b64cert.cer and click next

Click Finish