Yes, very observant. I noticed that as well. The difference was that
client.pem had some bag information in it:
*Bag Attributes    friendlyName: PKI Administrator for 
test.org
<
http://test.org>    localKeyID: 4F E5 46 3D foo 64 1F
E4subject=/O=test.org <
http://test.org> Security
Domain/emailAddress=caadmin(a)test.org/CN=PKI
<
http://caadmin@test.org/CN=PKI> Administratorissuer=/O=test.org
<
http://test.org> Security Domain/CN=CA Signing Certificate*
while cert.pem does not. otherwise, they contain the same cert data.
--password was just in there because it was in my command history, I have
since stripped the password off of the key (openssl --norsa) and curl does
work without the --password switch.
I'm actually planning on using automatically approved certs eventually and
so it is my desire to use either username/password or cert/key
authentication to facilitate that. I just noticed that the dogtag-submit
does not seem to use my cert/key pair when I specify them.
Does certificate authentication work for you in dogtag-submit?
On Tue, Apr 7, 2015 at 2:22 PM, Nalin Dahyabhai <nalin(a)redhat.com> wrote:
 On Tue, Apr 07, 2015 at 01:58:24PM -0500, Steve Neuharth wrote:
 > HA! yep, re-requesting the cert using version 0.77.1 solved this... I can
 > request a cert and after a manual approval, I'm able to download and
 > monitor the cert. THANK YOU!
 >
 > I'm also having another problem. When I try to use dogtag-submit like
 this:
 >
 > */usr/libexec/certmonger/dogtag-submit -E
 > 
https://dogtag.test.org:8443/ca/ee/ca
 > <
https://dogtag.test.org:8443/ca/ee/ca> -A
 > 
https://dogtag.test.org:8443/ca/agent/ca
 > <
https://dogtag.test.org:8443/ca/agent/ca> -T caAgentServerCert -i
 > /tmp/test/ca.crt -c /tmp/test/cert.pem -k /tmp/test/key.pem*
 >
 > I get this:
 >
 > *Request ID '20150404113812':        status: CA_REJECTED        ca-error:
 > Server at "https://dogtag.test.org:8443/ca/ee/ca/profileSubmit
 > <
https://dogtag.test.org:8443/ca/ee/ca/profileSubmit>" replied: Invalid
 > Credential.        stuck: yes        key pair storage:
 > type=FILE,location='/etc/ssl/get2cert.key'        certificate:
 > type=FILE,location='/etc/ssl/get2cert.crt'        CA: DogtagAuto
 > issuer:        subject:        expires: unknown        pre-save
 > command:        post-save command:        track: yes        auto-renew:
 yes*
 > however, when I use curl like this:
 >
 > *curl
 > "
https://dogtag.test.org:8443/ca/ee/ca/profileSubmit?profileId=caAgentServ...
 > --pass password --cacert /tmp/test/ca.crt --key /tmp/test/key.pem --cert
 > /tmp/test/client.pem*
 >
 > I get a valid response.
 Hmm, those two runs may not be using the same agent credentials.
 Is there a difference between the cert.pem that's being passed to
 dogtag-submit and the client.pem that's passed to curl?
 If the private key (key.pem) is encrypted, and curl is being passed the
 encryption password for it using its --pass option, dogtag-submit
 probably needs a -P or -p option to provide it with the same value.
 Alternately, if you're going to do manual approval at the server, you
 can skip the -A, -c, and -k flags when you run dogtag-submit, and it'll
 just poll periodically until the CA tells it that the request was either
 approved or rejected.
 HTH,
 Nalin