#2677 pkispawn of clone install fails with InvalidBERException
Closed: fixed 6 years ago Opened 6 years ago by cheimes.

Installation of a IPA replica with CA fails during pkispawn of the CA instance. Both master and replica are brand new VMs with latest updates. The master is configured with DNS, CA and KRA. The problem is reproducible and occurs for both a fresh replica and uninstall+install after a failed installation.

version

tomcatjss-7.2.1-3.el7.noarch
ipa-server-4.5.0-9.el7.x86_64
jss-4.4.0-6.el7.x86_64
nss-3.28.4-6.el7.x86_64
pki-ca-10.4.1-3.el7.noarch

install log

2017-05-04T18:23:42Z DEBUG stdout=Log file: /var/log/pki/pki-ca-spawn.20170504202323.log
Loading deployment configuration from /tmp/tmpkIM43O.
Installing CA into /var/lib/pki/pki-tomcat.
Storing deployment configuration into /etc/sysconfig/pki/tomcat/pki-tomcat/ca/deployment.cfg.
Importing certificates from /tmp/ca.p12:
---------------
4 entries found
---------------
  Certificate ID: 8cbf838f25c917abb4e887bb2b89ef49236799ed
  Serial Number: 0x2
  Nickname: ocspSigningCert cert-pki-ca
  Subject DN: CN=OCSP Subsystem,O=IPA.EXAMPLE
  Issuer DN: CN=Certificate Authority,O=IPA.EXAMPLE
  Trust Flags: u,u,u
  Has Key: true

  Certificate ID: 9a42a36a787ca560eef5dc234473bc4a11d88ae6
  Serial Number: 0x1
  Nickname: caSigningCert cert-pki-ca
  Subject DN: CN=Certificate Authority,O=IPA.EXAMPLE
  Issuer DN: CN=Certificate Authority,O=IPA.EXAMPLE
  Trust Flags: CTu,Cu,Cu
  Has Key: true

  Certificate ID: 59b959ce6bc25a35c204f40d61e578f6c703fac0
  Serial Number: 0x4
  Nickname: subsystemCert cert-pki-ca
  Subject DN: CN=CA Subsystem,O=IPA.EXAMPLE
  Issuer DN: CN=Certificate Authority,O=IPA.EXAMPLE
  Trust Flags: u,u,u
  Has Key: true

  Certificate ID: dc2eb4ca173e118ab9adc936045b346b3b63c361
  Serial Number: 0x5
  Nickname: auditSigningCert cert-pki-ca
  Subject DN: CN=CA Audit,O=IPA.EXAMPLE
  Issuer DN: CN=Certificate Authority,O=IPA.EXAMPLE
  Trust Flags: u,u,u
  Has Key: true
---------------
Import complete
---------------
Imported certificates in /etc/pki/pki-tomcat/alias:

Certificate Nickname                                         Trust Attributes
                                                             SSL,S/MIME,JAR/XPI

ocspSigningCert cert-pki-ca                                  u,u,u
subsystemCert cert-pki-ca                                    u,u,u
caSigningCert cert-pki-ca                                    CTu,Cu,Cu
auditSigningCert cert-pki-ca                                 u,u,Pu

Installation failed:
<html><head><title>Apache Tomcat/7.0.76 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - org.mozilla.jss.asn1.InvalidBERException: SEQUENCE(item #0) &gt;&gt; Missing item #0: found UNIVERSAL 16</h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u>org.mozilla.jss.asn1.InvalidBERException: SEQUENCE(item #0) &gt;&gt; Missing item #0: found UNIVERSAL 16</u></p><p><b>description</b> <u>The server encountered an internal error that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>org.jboss.resteasy.spi.UnhandledException: org.mozilla.jss.asn1.InvalidBERException: SEQUENCE(item #0) &gt;&gt; Missing item #0: found UNIVERSAL 16
        org.jboss.resteasy.core.ExceptionHandler.handleApplicationException(ExceptionHandler.java:76)
        org.jboss.resteasy.core.ExceptionHandler.handleException(ExceptionHandler.java:212)
        org.jboss.resteasy.core.SynchronousDispatcher.writeException(SynchronousDispatcher.java:149)
        org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:372)
        org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179)
        org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220)
        org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
        org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:498)
        org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:288)
        org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:285)
        java.security.AccessController.doPrivileged(Native Method)
        javax.security.auth.Subject.doAsPrivileged(Subject.java:549)
        org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:320)
        org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:175)
        java.security.AccessController.doPrivileged(Native Method)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:498)
        org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:288)
        org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:285)
        java.security.AccessController.doPrivileged(Native Method)
        javax.security.auth.Subject.doAsPrivileged(Subject.java:549)
        org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:320)
        org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:260)
</pre></p><p><b>root cause</b> <pre>org.mozilla.jss.asn1.InvalidBERException: SEQUENCE(item #0) &gt;&gt; Missing item #0: found UNIVERSAL 16
        org.mozilla.jss.asn1.SEQUENCE$Template.decode(SEQUENCE.java:357)
        org.mozilla.jss.pkix.primitive.PBEParameter$Template.decode(PBEParameter.java:110)
        org.mozilla.jss.pkix.primitive.PBEParameter$Template.decode(PBEParameter.java:104)
        org.mozilla.jss.asn1.ASN1Util.decode(ASN1Util.java:38)
        org.mozilla.jss.pkix.primitive.EncryptedPrivateKeyInfo.decrypt(EncryptedPrivateKeyInfo.java:273)
        com.netscape.cms.servlet.csadmin.ConfigurationUtils.restoreCertsFromP12(ConfigurationUtils.java:891)
        org.dogtagpki.server.rest.SystemConfigService.configureClone(SystemConfigService.java:878)
        org.dogtagpki.server.rest.SystemConfigService.configureSubsystem(SystemConfigService.java:1008)
        org.dogtagpki.server.rest.SystemConfigService.configure(SystemConfigService.java:153)
        org.dogtagpki.server.rest.SystemConfigService.configure(SystemConfigService.java:110)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:498)
        org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:137)
        org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:280)
        org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:234)
        org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:221)
        org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:356)
        org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:179)
        org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:220)
        org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
        org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
        javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:498)
        org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:288)
        org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:285)
        java.security.AccessController.doPrivileged(Native Method)
        javax.security.auth.Subject.doAsPrivileged(Subject.java:549)
        org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:320)
        org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:175)
        java.security.AccessController.doPrivileged(Native Method)
        org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        java.lang.reflect.Method.invoke(Method.java:498)
        org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:288)
        org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:285)
        java.security.AccessController.doPrivileged(Native Method)
        javax.security.auth.Subject.doAsPrivileged(Subject.java:549)
        org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:320)
        org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:260)
</pre></p><p><b>note</b> <u>The full stack trace of the root cause is available in the Apache Tomcat/7.0.76 logs.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.76</h3></body></html>

Please check the CA logs in /var/log/pki/pki-tomcat/ca.

2017-05-04T18:23:42Z DEBUG stderr=
2017-05-04T18:23:42Z CRITICAL Failed to configure CA instance: Command '/usr/sbin/pkispawn -s CA -f /tmp/tmpkIM43O' returned non-zero exit status 1

Metadata Update from @mharmsen:
- Custom field component adjusted to General
- Custom field feature adjusted to ''
- Custom field origin adjusted to Community
- Custom field proposedmilestone adjusted to ''
- Custom field proposedpriority adjusted to ''
- Custom field reviewer adjusted to ''
- Custom field type adjusted to defect
- Custom field version adjusted to ''
- Issue priority set to: critical
- Issue set to the milestone: 10.4

6 years ago

Metadata Update from @mharmsen:
- Custom field rhbz adjusted to https://bugzilla.redhat.com/show_bug.cgi?id=1448204

6 years ago

Metadata Update from @ftweedal:
- Issue assigned to ftweedal

6 years ago

I have verified that the patch fixes unpatched master on RHEL 7.4 to patched replica on RHEL 7.4. I'm going to test master on RHEL 7.3 to patched replica on RHEL 7.4 now.

Installation of a 10.4 CA replica against a 10.3 master works successfully.

master: ipa-server-4.4.0-12.el7.x86_64, pki-ca-10.3.3-10.el7.noarch
replica: ipa-server-4.5.0-10.el7.x86_64, pki-ca-10.4.1-3.el7.noarch + fix

On May 5, 2017, ftweedal:

commit 3fb95590cdf0e45418fa0be7a020691567ef152a
Author: Fraser Tweedale ftweedal@redhat.com
Date: Fri May 5 20:13:07 2017 +1000

Delete unused methods

Change-Id: I81d3aa98a05208b2f5b1be3700c2e0759b387203

commit 62a78bfa227b5e75a7cb931d7e65e824f5fe01ec
Author: Fraser Tweedale ftweedal@redhat.com
Date: Fri May 5 19:54:15 2017 +1000

Fix PKCS #12 import during clone installation

PKCS #12 export was updated to use AES / PBES2 encryption for the
key bags, but an import code path used when spawning a clone was
missed, and now fails (because it doesn't grok PBES2).

Update it to use CryptoStore.importEncryptedPrivateKeyInfo()
instead, fixing the problem.

Fixes: https://pagure.io/dogtagpki/issue/2677
Change-Id: I11f26ae8a4811f27690541f2c70b3a2adb6264e9

Metadata Update from @mharmsen:
- Issue close_status updated to: fixed
- Issue status updated to: Closed (was: Open)

6 years ago

Metadata Update from @mharmsen:
- Issue set to the milestone: 10.4.0 (was: 10.4)

6 years ago

Metadata Update from @mharmsen:
- Issue set to the milestone: 10.4.4 (was: 10.4.0)

6 years ago

Metadata Update from @mharmsen:
- Custom field fixedinversion adjusted to pki-core-10.4.1-4.el7

6 years ago

Dogtag PKI is moving from Pagure issues to GitHub issues. This means that existing or new
issues will be reported and tracked through Dogtag PKI's GitHub Issue tracker.

This issue has been cloned to GitHub and is available here:
https://github.com/dogtagpki/pki/issues/2797

If you want to receive further updates on the issue, please navigate to the
GitHub issue and click on Subscribe button.

Thank you for understanding, and we apologize for any inconvenience.

Login to comment on this ticket.

Metadata