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 puppet-dev+unsubscr...@googlegroups.com.
To post to this group, send email to puppet-dev@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-dev?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to