So After re-reading the docs 
http://docs.puppetlabs.com/puppet/latest/reference/ssl_autosign.html#policy-executable-api

I've made the following modification which works.

 #!/bin/bash
 
HOST=$1
CUSTOM_ATTR=$(openssl req -noout -text -in 
"/var/lib/puppet/ssl/ca/requests/$HOST.pem" | grep "challengePassword" | 
awk -F ":" '{print$2}')
 
if [[ "$CUSTOM_ATTR" == "foo" ]]
then
  exit 0
else
  exit 1
fi

I'd still be interested to see what others are doing with policy based auto 
signing though.

On Monday, February 17, 2014 3:20:50 PM UTC+1, George Brown wrote:
>
> Hi,
>
> I'm trying to create an autosign policy which checks for a custom 
> attribute in the CSR but I'm having some issue with the master not signing 
> the request.
>
> My client has the following in /etc/puppet/csr_attributes.yaml
>
> custom_attributes:
>   1.2.840.113549.1.9.7: foo
>
>
> My policy is a simple bash script, in this case checking for foo
>
> #!/bin/bash
>  
> CUSTOM_ATTR=$(echo "$(cat)" | grep "challengePassword" | awk -F ":" 
> '{print$2}')
>  
> if [[ "$CUSTOM_ATTR" == "foo" ]]
> then
>    exit 0
> else
>    exit 1
> fi
>     
> I had tested with the following, I'm guessing the issue is with my script 
> not reading in the CSR from puppet? If anyone has any examples of policies 
> they have created I would love to see them (this seems to be lacking in the 
> puppet documentation).
>
> sudo openssl req -noout -text -in  
> /var/lib/puppet/ssl/ca/requests/mynode.pem | /etc/puppet/autosign.sh; echo 
> $? 
> 0
>
> Many thanks,
> George
>

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/puppet-users/fdff0a68-c613-47ac-9910-002b15b34598%40googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to