Class: CertificateAuthority::Extensions::CertificatePolicies
- Inherits:
-
Object
- Object
- CertificateAuthority::Extensions::CertificatePolicies
- Includes:
- ExtensionAPI
- Defined in:
- lib/certificate_authority/extensions.rb
Constant Summary collapse
- OPENSSL_IDENTIFIER =
"certificatePolicies"
Instance Attribute Summary collapse
-
#cps_uris ⇒ Object
Returns the value of attribute cps_uris.
-
#critical ⇒ Object
Returns the value of attribute critical.
-
#explicit_text ⇒ Object
User notice.
-
#notice_numbers ⇒ Object
Returns the value of attribute notice_numbers.
-
#organization ⇒ Object
Returns the value of attribute organization.
-
#policy_identifier ⇒ Object
Returns the value of attribute policy_identifier.
Class Method Summary collapse
Instance Method Summary collapse
- #config_extensions ⇒ Object
-
#initialize ⇒ CertificatePolicies
constructor
A new instance of CertificatePolicies.
- #openssl_identifier ⇒ Object
- #to_s ⇒ Object
- #user_notice=(value = {}) ⇒ Object
Methods included from ExtensionAPI
Constructor Details
#initialize ⇒ CertificatePolicies
Returns a new instance of CertificatePolicies.
491 492 493 494 |
# File 'lib/certificate_authority/extensions.rb', line 491 def initialize self.critical = false @contains_data = false end |
Instance Attribute Details
#cps_uris ⇒ Object
Returns the value of attribute cps_uris.
485 486 487 |
# File 'lib/certificate_authority/extensions.rb', line 485 def cps_uris @cps_uris end |
#critical ⇒ Object
Returns the value of attribute critical.
483 484 485 |
# File 'lib/certificate_authority/extensions.rb', line 483 def critical @critical end |
#explicit_text ⇒ Object
User notice
487 488 489 |
# File 'lib/certificate_authority/extensions.rb', line 487 def explicit_text @explicit_text end |
#notice_numbers ⇒ Object
Returns the value of attribute notice_numbers.
489 490 491 |
# File 'lib/certificate_authority/extensions.rb', line 489 def notice_numbers @notice_numbers end |
#organization ⇒ Object
Returns the value of attribute organization.
488 489 490 |
# File 'lib/certificate_authority/extensions.rb', line 488 def organization @organization end |
#policy_identifier ⇒ Object
Returns the value of attribute policy_identifier.
484 485 486 |
# File 'lib/certificate_authority/extensions.rb', line 484 def policy_identifier @policy_identifier end |
Class Method Details
.parse(value, critical) ⇒ Object
553 554 555 556 557 558 559 560 561 562 563 564 |
# File 'lib/certificate_authority/extensions.rb', line 553 def self.parse(value, critical) obj = self.new return obj if value.nil? obj.critical = critical value.split(/,\s*/).each do |v| c = v.split(':', 2) obj.policy_identifier = c.last if c.first == "policyIdentifier" obj.cps_uris << c.last if c.first =~ %r{CPS.\d+} # TODO: explicit_text, organization, notice_numbers end obj end |
Instance Method Details
#config_extensions ⇒ Object
506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 |
# File 'lib/certificate_authority/extensions.rb', line 506 def config_extensions config_extension = {} custom_policies = {} notice = {} unless self.policy_identifier.nil? custom_policies["policyIdentifier"] = self.policy_identifier end if !self.cps_uris.nil? and self.cps_uris.is_a?(Array) self.cps_uris.each_with_index do |cps_uri,i| custom_policies["CPS.#{i}"] = cps_uri end end unless self.explicit_text.nil? notice["explicitText"] = self.explicit_text end unless self.organization.nil? notice["organization"] = self.organization end unless self.notice_numbers.nil? notice["noticeNumbers"] = self.notice_numbers end if notice.keys.size > 0 custom_policies["userNotice.1"] = "@notice" config_extension["notice"] = notice end if custom_policies.keys.size > 0 config_extension["custom_policies"] = custom_policies @contains_data = true end config_extension end |
#openssl_identifier ⇒ Object
496 497 498 |
# File 'lib/certificate_authority/extensions.rb', line 496 def openssl_identifier OPENSSL_IDENTIFIER end |
#to_s ⇒ Object
545 546 547 548 549 550 551 |
# File 'lib/certificate_authority/extensions.rb', line 545 def to_s return "" unless @contains_data res = [] res << "ia5org" res += @config_extensions["custom_policies"] unless @config_extensions.nil? res.join(',') end |
#user_notice=(value = {}) ⇒ Object
500 501 502 503 504 |
# File 'lib/certificate_authority/extensions.rb', line 500 def user_notice=(value={}) value.keys.each do |key| self.send("#{key}=".to_sym, value[key]) end end |