Class: Pdfrb::Model::Type::Signature

Inherits:
Cos::Dictionary show all
Defined in:
lib/pdfrb/model/type/signature.rb

Overview

Signature dictionary (s12.8.2). Carries the PKCS#7 / CMS signature payload. Lives in a Signature field's /V entry.

Instance Attribute Summary

Attributes inherited from Object

#document, #gen, #oid, #value

Instance Method Summary collapse

Methods inherited from Cos::Dictionary

#[], #[]=, apply_arlington_definition, arlington_default, arlington_key_to_symbol, arlington_one_type_to_ruby, arlington_required?, arlington_scalar, arlington_types_to_ruby, arlington_version, define_field, define_field_from_arlington, #delete, #each, each_field, #each_raw, #empty?, field, #initialize, #key?, #keys, lookup_type, merged_field, own_fields, #pdf_type, register_type, type_map, #validate

Methods included from Cos::ArlingtonBacked

#arlington_object

Methods inherited from Object

#==, define_type, #deref, #indirect?, #initialize, #must_be_indirect?, #pdf_type, pdf_type

Constructor Details

This class inherits a constructor from Pdfrb::Model::Cos::Dictionary

Instance Method Details

#byte_rangeObject



15
# File 'lib/pdfrb/model/type/signature.rb', line 15

def byte_range; self[:ByteRange]; end

#certObject



14
# File 'lib/pdfrb/model/type/signature.rb', line 14

def cert; self[:Cert]; end

#changesObject



17
# File 'lib/pdfrb/model/type/signature.rb', line 17

def changes; self[:Changes]; end

#contact_infoObject



21
# File 'lib/pdfrb/model/type/signature.rb', line 21

def contact_info; self[:ContactInfo]; end

#contentsObject



13
# File 'lib/pdfrb/model/type/signature.rb', line 13

def contents; self[:Contents]; end

#filterObject



11
# File 'lib/pdfrb/model/type/signature.rb', line 11

def filter; self[:Filter]; end

#has_byte_range?Boolean

Returns:

  • (Boolean)


45
46
47
48
49
# File 'lib/pdfrb/model/type/signature.rb', line 45

def has_byte_range?
  range = byte_range
  range = range.to_a if range.is_a?(Pdfrb::Model::PdfArray)
  range.is_a?(::Array) && range.size == 4
end

#locationObject



20
# File 'lib/pdfrb/model/type/signature.rb', line 20

def location; self[:Location]; end

#mObject



22
# File 'lib/pdfrb/model/type/signature.rb', line 22

def m; self[:M]; end

#nameObject



18
# File 'lib/pdfrb/model/type/signature.rb', line 18

def name; self[:Name]; end

#pkcs1?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/pdfrb/model/type/signature.rb', line 41

def pkcs1?
  sub_filter == :"adbe.x509.rsa_sha1"
end

#pkcs7_detached?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/pdfrb/model/type/signature.rb', line 33

def pkcs7_detached?
  sub_filter == :"adbe.pkcs7.detached"
end

#pkcs7_sha1?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/pdfrb/model/type/signature.rb', line 37

def pkcs7_sha1?
  sub_filter == :"adbe.pkcs7.sha1"
end

#prop_auth_timeObject



24
# File 'lib/pdfrb/model/type/signature.rb', line 24

def prop_auth_time; self[:Prop_AuthTime]; end

#prop_auth_typeObject



25
# File 'lib/pdfrb/model/type/signature.rb', line 25

def prop_auth_type; self[:Prop_AuthType]; end

#prop_buildObject



23
# File 'lib/pdfrb/model/type/signature.rb', line 23

def prop_build; self[:Prop_Build]; end

#reasonObject



19
# File 'lib/pdfrb/model/type/signature.rb', line 19

def reason; self[:Reason]; end

#referenceObject



16
# File 'lib/pdfrb/model/type/signature.rb', line 16

def reference; self[:Reference]; end

#signed_timeObject



27
28
29
30
31
# File 'lib/pdfrb/model/type/signature.rb', line 27

def signed_time
  return nil unless m

  m.is_a?(Time) ? m : parse_pdf_date(m)
end

#sub_filterObject



12
# File 'lib/pdfrb/model/type/signature.rb', line 12

def sub_filter; self[:SubFilter]; end

#typeObject



10
# File 'lib/pdfrb/model/type/signature.rb', line 10

def type; self[:Type]; end