# File lib/nanite/security/secure_serializer.rb, line 31
    def self.dump(obj)
      raise "Missing certificate identity" unless @identity
      raise "Missing certificate" unless @cert
      raise "Missing certificate key" unless @key
      raise "Missing certificate store" unless @store || !@encrypt
      json = obj.to_json
      if @encrypt
        certs = @store.get_recipients(obj)
        json = EncryptedDocument.new(json, certs).encrypted_data if certs
      end
      sig = Signature.new(json, @cert, @key)
      { 'id' => @identity, 'data' => json, 'signature' => sig.data, 'encrypted' => !certs.nil? }.to_json
    end