Module: Amiral::Message
- Included in:
- Agent
- Defined in:
- lib/amiral/message.rb
Instance Method Summary collapse
- #deserialize(data) ⇒ Object
- #hostname ⇒ Object
- #serialize(data) ⇒ Object
- #timestamp ⇒ Object
- #uuidgen ⇒ Object
Instance Method Details
#deserialize(data) ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/amiral/message.rb', line 17 def deserialize data (sig, json) = data.split(':', 2) raise "wrong format" unless (sig && json) sig = Base64.decode64(sig) unless @privkey.sysverify(OpenSSL::Digest::SHA1.digest(json), sig) raise "invalid signature" end JSON.parse json end |
#hostname ⇒ Object
27 28 29 |
# File 'lib/amiral/message.rb', line 27 def hostname `hostname`.strip end |
#serialize(data) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/amiral/message.rb', line 10 def serialize data json = data.to_json digest = OpenSSL::Digest::SHA1.digest(json) sig = Base64.encode64(@privkey.syssign(digest)).chomp "#{sig}:#{json}" end |
#timestamp ⇒ Object
35 36 37 |
# File 'lib/amiral/message.rb', line 35 def Time.new.to_i end |
#uuidgen ⇒ Object
31 32 33 |
# File 'lib/amiral/message.rb', line 31 def uuidgen UUIDTools::UUID.random_create.to_s end |