yes, the certificate in the request file has a newline after the certificate data:
cert=-----BEGIN CERTIFICATE-----
MIIDajCCAlKgAwIBAgIBIDANBgkqhkiG9w0BAQsFADBEMSEwHwYDVQQKDBh0ZXN0
...cert data...
lRCw27w7Yw/JUMqJYoE=
<---- extra newline
-----END CERTIFICATE-----
Looks
like that's the problem. When I make a similar request using cURL, I
don't get the '\n' in the xml so it must be an error in parsing the xml
response inside dogtag-submit. I've also tried the v77.1-1 rpm from
rawhide and I get the same behavior.

Hmmmm. I see in line 469 of certread-n.c, it's checking for a
newline and adding one if there isn't one already there. It looks like
that logic is not functioning correctly. I don't get a '\n' in the xml
response from curl so I'm not sure why it would be adding another one.
Please let me know if there's anything I can do to help debug this. I have verified the problem by shutting down certmonger, removing the newline and starting it again. After the restart, the cert was processed as expected.
--steve