Class: Rex::Proto::CryptoAsn1::Cms::Certificate
- Inherits:
-
Object
- Object
- Rex::Proto::CryptoAsn1::Cms::Certificate
- Defined in:
- lib/rex/proto/crypto_asn1/cms.rb
Instance Attribute Summary collapse
-
#options ⇒ Object
Rather than specifying the entire structure of a certificate, we pass this off to OpenSSL, effectively providing an interface between RASN and OpenSSL.
Instance Method Summary collapse
-
#can_build? ⇒ Boolean
RASN1 Glue method - Say if DER can be built (not default value, not optional without value, has a value).
-
#initialize(options = {}) ⇒ Certificate
constructor
A new instance of Certificate.
- #parse!(str, ber: false) ⇒ Object
-
#primitive? ⇒ Boolean
RASN1 Glue method.
- #to_der ⇒ Object
-
#value ⇒ Object
RASN1 Glue method.
Constructor Details
#initialize(options = {}) ⇒ Certificate
Returns a new instance of Certificate.
16 17 18 |
# File 'lib/rex/proto/crypto_asn1/cms.rb', line 16 def initialize( = {}) self. = end |
Instance Attribute Details
#options ⇒ Object
Rather than specifying the entire structure of a certificate, we pass this off to OpenSSL, effectively providing an interface between RASN and OpenSSL.
14 15 16 |
# File 'lib/rex/proto/crypto_asn1/cms.rb', line 14 def @options end |
Instance Method Details
#can_build? ⇒ Boolean
RASN1 Glue method - Say if DER can be built (not default value, not optional without value, has a value)
27 28 29 |
# File 'lib/rex/proto/crypto_asn1/cms.rb', line 27 def can_build? !to_der.empty? end |
#parse!(str, ber: false) ⇒ Object
41 42 43 44 |
# File 'lib/rex/proto/crypto_asn1/cms.rb', line 41 def parse!(str, ber: false) [:openssl_certificate] = OpenSSL::X509::Certificate.new(str) to_der.length end |
#primitive? ⇒ Boolean
RASN1 Glue method
32 33 34 |
# File 'lib/rex/proto/crypto_asn1/cms.rb', line 32 def primitive? false end |
#to_der ⇒ Object
20 21 22 |
# File 'lib/rex/proto/crypto_asn1/cms.rb', line 20 def to_der [:openssl_certificate]&.to_der || '' end |
#value ⇒ Object
RASN1 Glue method
37 38 39 |
# File 'lib/rex/proto/crypto_asn1/cms.rb', line 37 def value [:openssl_certificate] end |