Class: EaSSL::SigningRequest
- Inherits:
-
Object
- Object
- EaSSL::SigningRequest
- Defined in:
- lib/eassl/signing_request.rb
Overview
- Author
-
Paul Nicholson ([email protected])
- Co-Author
-
Adam Williams ([email protected])
- Copyright
-
Copyright © 2006 WebPower Design
- License
-
Distributes under the same terms as Ruby
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ SigningRequest
constructor
A new instance of SigningRequest.
- #key ⇒ Object
- #load(pem_string) ⇒ Object
-
#method_missing(method) ⇒ Object
This method is used to intercept and pass-thru calls to openSSL methods and instance variables.
- #ssl ⇒ Object
- #to_pem ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ SigningRequest
Returns a new instance of SigningRequest.
9 10 11 12 13 14 15 |
# File 'lib/eassl/signing_request.rb', line 9 def initialize( = {}) @options = { :name => {}, #required, CertificateName :key => nil, #required }.update() @options[:key] ||= Key.new(@options) end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method) ⇒ Object
This method is used to intercept and pass-thru calls to openSSL methods and instance variables.
38 39 40 |
# File 'lib/eassl/signing_request.rb', line 38 def method_missing(method) ssl.send(method) end |
Class Method Details
.load(pem_file_path) ⇒ Object
42 43 44 |
# File 'lib/eassl/signing_request.rb', line 42 def self.load(pem_file_path) new.load(File.read(pem_file_path)) end |
Instance Method Details
#key ⇒ Object
28 29 30 |
# File 'lib/eassl/signing_request.rb', line 28 def key @options[:key] end |
#load(pem_string) ⇒ Object
46 47 48 49 50 51 52 53 |
# File 'lib/eassl/signing_request.rb', line 46 def load(pem_string) begin @ssl = OpenSSL::X509::Request.new(pem_string) rescue raise "SigningRequestLoader: Error loading signing request" end self end |
#ssl ⇒ Object
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/eassl/signing_request.rb', line 17 def ssl unless @ssl @ssl = OpenSSL::X509::Request.new @ssl.version = 0 @ssl.subject = CertificateName.new(@options[:name].).name @ssl.public_key = key.public_key @ssl.sign(key.private_key, OpenSSL::Digest::SHA1.new) end @ssl end |
#to_pem ⇒ Object
32 33 34 |
# File 'lib/eassl/signing_request.rb', line 32 def to_pem ssl.to_pem end |