]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/puppetmaster/lib/puppet/parser/functions/hmac.rb
Always remove acpi packages from jessie hosts
[dsa-puppet.git] / modules / puppetmaster / lib / puppet / parser / functions / hmac.rb
1 module Puppet::Parser::Functions
2   newfunction(:hmac, :type => :rvalue) do |args|
3     secretfile = args.shift()
4     data = args.shift()
5
6     require 'openssl'
7     secret = ""
8     begin
9       secret = File.new(secretfile, "r").read
10     rescue => e
11       raise Puppet::ParseError, "Error loading secret from #{secretfile}: #{e.message}\n#{e.backtrace}"
12     end
13
14     return OpenSSL::HMAC.hexdigest(OpenSSL::Digest::Digest.new('sha256'), secret, data)
15   end
16 end
17 # vim:set ts=2:
18 # vim:set et:
19 # vim:set shiftwidth=2: