class OpenPGP::Packet::SymmetricSessionKey

OpenPGP Symmetric-Key Encrypted Session Key packet (tag 3).

@see tools.ietf.org/html/rfc4880#section-5.3

Attributes

algorithm[RW]
s2k[RW]
version[RW]

Public Class Methods

new(options = {}, &block) click to toggle source
Calls superclass method OpenPGP::Packet::new
# File lib/openpgp/packet.rb, line 212
def initialize(options = {}, &block)
  defaults = {
    :version   => 4,
    :algorithm => Cipher::DEFAULT.to_i,
    :s2k       => S2K::DEFAULT.new,
  }
  super(defaults.merge(options), &block)
end
parse_body(body, options = {}) click to toggle source
# File lib/openpgp/packet.rb, line 203
def self.parse_body(body, options = {})
  case version = body.read_byte
    when 4
      self.new({:version => version, :algorithm => body.read_byte, :s2k => body.read_s2k}.merge(options))
    else
      raise "Invalid OpenPGP symmetric-key ESK packet version: #{version}"
  end
end

Public Instance Methods

write_body(buffer) click to toggle source
# File lib/openpgp/packet.rb, line 221
def write_body(buffer)
  buffer.write_byte(version)
  buffer.write_byte(algorithm.to_i)
  buffer.write_s2k(s2k)
end