Hi guys,
I am hitting a problem during upgrading/testing of Puppet v3, something
I've missed during my earlier testing, affecting AIX 5.3 only (actually
I've only got AIX5.3/6.1 to play with so I can't be certain it only affects
5.3). I can say that it doesn't appear to affect any of my Solaris
(5.8-5.10) or my HP-UX (11.23).
After upgrading to puppet 3.1.0 on both master & client (where master is
running Redhat Linux) I get the following when trying to use the signed
certificate:
myaix53client[/]# /opt/freeware/bin/puppet agent -t
Warning: Unable to fetch my node definition, but the agent run will
continue:
Warning: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate
B: certificate verify failed: [self signed certificate for
/CN=mymaster.mydomain.com]
Info: Retrieving plugin
Error: /File[/var/lib/puppet/lib]: Failed to generate additional resources
using 'eval_generate: SSL_connect returned=1 errno=0 state=SSLv3 read
server certificate B: certificate verify failed: [self signed certificate
for /CN=mymaster.mydomain.com]
Error: /File[/var/lib/puppet/lib]: Could not evaluate: SSL_connect
returned=1 errno=0 state=SSLv3 read server certificate B: certificate
verify failed: [self signed certificate for /CN=mymaster.mydomain.com]
Could not retrieve file metadata for
puppet://mymaster.mydomain.com/plugins: SSL_connect returned=1 errno=0
state=SSLv3 read server certificate B: certificate verify failed: [self
signed certificate for /CN=mymaster.mydomain.com]
Error: Could not retrieve catalog from remote server: SSL_connect
returned=1 errno=0 state=SSLv3 read server certificate B: certificate
verify failed: [self signed certificate for /CN=mymaster.mydomain.com]
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run
Error: Could not send report: SSL_connect returned=1 errno=0 state=SSLv3
read server certificate B: certificate verify failed: [self signed
certificate for /CN=mymaster.mydomain.com]
I've googled and seen numerous hits in both the Puppet Users list and in
blogs suggesting as a root cause either a time synchronisation problem
(ruled out for me as it's affecting my entire AIX 5.3 fleet) or a problem
with the SSL cert that's being presented by the Puppet Master. Posts
suggest blowing away $ssldir on both master/client ought to fix the second
possibility, but hasn't for me.
Experimentation with openssl s_client shows that I get the same response
from the server on AIX 5.3 as I do on AIX 6.1 (where it works).
Here is an example from the AIX5.3 client -
myaix53client[/]# /opt/freeware/bin/openssl s_client -connect mymaster:8140
-CApath /var/lib/puppet/ssl/certs
depth=1 CN = Puppet CA: mymaster.mydomain.com
verify error:num=19:self signed certificate in certificate chain
verify return:0
CONNECTED(00000004)
---
Certificate chain
0 s:/CN=mymaster.mydomain.com
i:/CN=Puppet CA: mymaster.mydomain.com
1 s:/CN=Puppet CA: mymaster.mydomain.com
i:/CN=Puppet CA: mymaster.mydomain.com
---
Server certificate
-----BEGIN CERTIFICATE-----
MIICqzCCAhSgAwIBAgIBAjANBgkqhkiG9w0BAQUFADAwMS4wLAYDVQQDDCVQdXBw
ZXQgQ0E6IHB1cGducGFwcGwwMDEub3B0dXMuY29tLmF1MB4XDTEyMDgwNjA2MDc1
NFoXDTE3MDgwNjA2MDc1NFowJTEjMCEGA1UEAwwacHVwZ25wYXBwbDAwMS5vcHR1
cy5jb20uYXUwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMtJ/p3FmrFTb2Nr
43C2duoizB+8DtHUULjEvgCbg1YCmHemW1mAl3aUjYFbPR4dsEmJh32+IXjZw4Mn
5QeO8H40hJJ2jDj3vyegG/z1HC532WuAV3JEeIw5N6l3z6v4UFkCS29PABzozEKI
7awR7blQOOzt2CQx7bb5khnzwxUnAgMBAAGjgd8wgdwwQgYDVR0RBDswOYIacHVw
Z25wYXBwbDAwMS5vcHR1cy5jb20uYXWCBnB1cHBldIITcHVwcGV0Lm9wdHVzLmNv
bS5hdTAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBSd0VfbkcEwLB9Y8VnWMZrpjZ0A
RjAOBgNVHQ8BAf8EBAMCBaAwNwYJYIZIAYb4QgENBCoWKFB1cHBldCBSdWJ5L09w
ZW5TU0wgSW50ZXJuYWwgQ2VydGlmaWNhdGUwIAYDVR0lAQH/BBYwFAYIKwYBBQUH
AwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4GBAHhsQsX8jfaG51E4aYLOcNO0
ebeSuGY8eglZg903S9PCPPIrpGtfYDBh0YCZpRPxo2Ya3kTU7OnK6mCTslmnLeuS
KQKRv4Fv7VRjaF55PIx8gmiZ3hW68zbVQNb1p3rL0yDOSBYLdUs4KYcQawJQVNog
OBV2mRiyAB04r6APyMjl
-----END CERTIFICATE-----
subject=/CN=mymaster.mydomain.com
issuer=/CN=Puppet CA: mymaster.mydomain.com
---
No client certificate CA names sent
---
SSL handshake has read 1869 bytes and written 418 bytes
---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 1024 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol : TLSv1
Cipher : DHE-RSA-AES256-SHA
Session-ID:
4C5033405A55AEDA43025C1AE1350211811230DCEF6E9F8956492772B7710750
Session-ID-ctx:
Master-Key:
5471D567F94E7EC9AFD96E0D3CEEC26EEB288DCD33246B11FFCF6AD8C8FDA3B1A8CEB47F63881557E4D3F3D3276DC425
Key-Arg : None
PSK identity: None
PSK identity hint: None
Start Time: 1360555895
Timeout : 300 (sec)
Verify return code: 19 (self signed certificate in certificate chain)
---
closed
Variations on this command compared against similar commands from a working
AIX6.1 client show similar output.
I also tried generating the certificate on the master using
https://gist.github.com/ahpook/1182243
mymaster# puppet cert --generate myaix53client.mydomain.com
and then copying to the appropriate directories, and I got the same result.
This leads me to suspect I am encountering a bug in puppet - although I
can't be certain. I can't see any open bug that seems to match.
I note that my AIX 5.3 fleet openssl doesn't support SHA256 - see
http://projects.puppetlabs.com/issues/17295. The patch I submitted there
was only tested on HP-UX, which at the time was the only platform I had
identified the issue on. That said, I can't see how lack of SHA256 could
be the root cause, though, or why would it work fine on my HP-UX, where I
likewise lack SHA256?
So, just wondering if anyone out there can think of anything else I can
try? At worst, this is a showstopper that completely prevents the use of
Puppet on AIX5.3 - which is an old release, I guess, but I suspect lots of
people still use it. At the moment, I can't, at any rate, find a
workaround. At best, it's certainly a showstopper for me. :-)
Kind regards,
Alex Harvey
--
You received this message because you are subscribed to the Google Groups
"Puppet Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/puppet-dev?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.