Class: R509::CRL::SignedList
- Inherits:
-
Object
- Object
- R509::CRL::SignedList
- Includes:
- IOHelpers
- Defined in:
- lib/r509/crl.rb
Overview
Parses CRLs
Instance Attribute Summary (collapse)
-
- (Object) crl
readonly
Returns the value of attribute crl.
-
- (Object) issuer
readonly
Returns the value of attribute issuer.
Class Method Summary (collapse)
-
+ (R509::CRL::SignedList) load_from_file(filename)
Helper method to quickly load a CRL from the filesystem.
Instance Method Summary (collapse)
-
- (SignedList) initialize(crl)
constructor
A new instance of SignedList.
-
- (Time) last_update
Returns the signing time of the CRL.
-
- (Time) next_update
Returns the next update time for the CRL.
-
- (Hash) revoked
Hash of serial => { :time, :reason } hashes.
- - (Boolean) revoked?(serial)
-
- (Hash) revoked_cert(serial)
Hash with :time and :reason.
- - (String) signature_algorithm
-
- (String) to_der
Returns the CRL in DER format.
-
- (String) to_pem
(also: #to_s)
Returns the CRL in PEM format.
-
- (Boolean) verify(public_key)
Pass a public key to verify that the CRL is signed by a specific certificate (call cert.public_key on that object).
-
- (Object) write_der(filename_or_io)
Writes the CRL into the PEM format.
-
- (Object) write_pem(filename_or_io)
Writes the CRL into the PEM format.
Methods included from IOHelpers
#read_data, read_data, #write_data, write_data
Constructor Details
- (SignedList) initialize(crl)
A new instance of SignedList
16 17 18 19 |
# File 'lib/r509/crl.rb', line 16 def initialize(crl) @crl = OpenSSL::X509::CRL.new(crl) @issuer = R509::Subject.new(@crl.issuer) end |
Instance Attribute Details
- (Object) crl (readonly)
Returns the value of attribute crl
13 14 15 |
# File 'lib/r509/crl.rb', line 13 def crl @crl end |
- (Object) issuer (readonly)
Returns the value of attribute issuer
13 14 15 |
# File 'lib/r509/crl.rb', line 13 def issuer @issuer end |
Class Method Details
+ (R509::CRL::SignedList) load_from_file(filename)
Helper method to quickly load a CRL from the filesystem
25 26 27 |
# File 'lib/r509/crl.rb', line 25 def self.load_from_file( filename ) return R509::CRL::SignedList.new( IOHelpers.read_data(filename) ) end |
Instance Method Details
- (Time) last_update
Returns the signing time of the CRL
53 54 55 |
# File 'lib/r509/crl.rb', line 53 def last_update @crl.last_update end |
- (Time) next_update
Returns the next update time for the CRL
60 61 62 |
# File 'lib/r509/crl.rb', line 60 def next_update @crl.next_update end |
- (Hash) revoked
Hash of serial => { :time, :reason } hashes
99 100 101 102 103 104 105 106 107 |
# File 'lib/r509/crl.rb', line 99 def revoked revoked_list = {} @crl.revoked.each do |revoked| reason = get_reason(revoked) revoked_list[revoked.serial.to_i] = { :time => revoked.time, :reason => reason } end revoked_list end |
- (Boolean) revoked?(serial)
74 75 76 77 78 79 80 |
# File 'lib/r509/crl.rb', line 74 def revoked?(serial) if @crl.revoked.find { |revoked| revoked.serial == serial } true else false end end |
- (Hash) revoked_cert(serial)
Hash with :time and :reason
111 112 113 114 115 116 117 118 119 |
# File 'lib/r509/crl.rb', line 111 def revoked_cert(serial) revoked = @crl.revoked.find { |revoked| revoked.serial == serial } if revoked reason = get_reason(revoked) { :time => revoked.time, :reason => reason } else nil end end |
- (String) signature_algorithm
30 31 32 |
# File 'lib/r509/crl.rb', line 30 def signature_algorithm @crl.signature_algorithm end |
- (String) to_der
Returns the CRL in DER format
94 95 96 |
# File 'lib/r509/crl.rb', line 94 def to_der @crl.to_der end |
- (String) to_pem Also known as: to_s
Returns the CRL in PEM format
85 86 87 |
# File 'lib/r509/crl.rb', line 85 def to_pem @crl.to_pem end |
- (Boolean) verify(public_key)
Pass a public key to verify that the CRL is signed by a specific certificate (call cert.public_key on that object)
68 69 70 |
# File 'lib/r509/crl.rb', line 68 def verify(public_key) @crl.verify(public_key) end |
- (Object) write_der(filename_or_io)
Writes the CRL into the PEM format
46 47 48 |
# File 'lib/r509/crl.rb', line 46 def write_der(filename_or_io) write_data(filename_or_io, @crl.to_der) end |
- (Object) write_pem(filename_or_io)
Writes the CRL into the PEM format
38 39 40 |
# File 'lib/r509/crl.rb', line 38 def write_pem(filename_or_io) write_data(filename_or_io, @crl.to_pem) end |