In general, it is impossible un-revoke a certificate unless the revoke reason is certificateHold, But puppet can hack it. The solution is to recover all revoked certificates then revoke other certificates which don’t need to be recovered
$rm /etc/puppetlabs/puppet/ssl/ca/ca_crl.pem $rm /etc/puppetlabs/puppet/ssl/crl.pem #At this point, all revoked certificates become valid certificates. #So you need to revoke all certificates which don’t need to be recovered $puppet cert --revoke fooThe following method of regenerating new certificate seems to be a better.
The following is tested in Puppet Enterprise 2, but it should work for puppet open source as well.
$ puppet --version
2.7.6 (Puppet Enterprise 2.0.0)
Force agent to regenerate certificate request by generate command
If the above doesn’t work for you, the last resort is to clean agent’s ssl files[puppet agent]$ puppet certificate generate web1 --ca-location remotewarning: peer certificate won't be verified in this SSL session
err: Error 400 on SERVER: web1 already has a revoked certificate; ignoring certificate requesterr: Try 'puppet help certificate generate' for usage
#It because the revoked certificate still exist in the server, it need to be deleted
[puppet master]$ puppet cert list –all- web1 (BA:18:D1:86:D6:5E:9E:99:55:39:3D:67:79:BF:BD:D0) (certificate revoked)[puppet master]$ puppet cert clean web1#re-run the command, the warning is expected because the request hasn’t been signed by master yet
[puppet agent]$puppet certificate generate web1 --ca-location remotewarning: peer certificate won't be verified in this SSL session
true
#The pending request appears in master
[puppet master]$ puppet cert listweb1 (3B:ED:D9:8D:2F:C2:A1:D3:89:B4:D0:FD:41:7E:5E:0C)#Sign the certificate
[puppet master]# puppet cert sign web1
[puppet agent]$ puppet --genconfig | grep certdircertdir = /etc/puppetlabs/puppet/ssl/certs$cd /etc/puppetlabs/puppet/ssl/$find . –type f –exec rm {} \;
$service pe-puppet restart[puppet master]$ puppet cert listweb1 (3B:ED:D9:8D:2F:C2:A1:D3:89:B4:D0:FD:41:7E:5E:0C)#Sign the certificate
puppet master]# puppet cert sign web1
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.