module R509::OIDMapper

Helps map raw OIDs to friendlier short names

Public Class Methods

batch_register(oids) click to toggle source

Register a batch of OIDs so we have friendly short names @param [Array] oids An array of hashes @example

R509::OIDMapper.batch_register([
 {:oid => "1.2.3.4.5", :short_name => "sName", :long_name => "lName"},
 {:oid => "1.2.3.4.6", :short_name => "oName"}

]

# File lib/r509/oid_mapper.rb, line 30
def self.batch_register(oids)
  oids.each do |oid_hash|
    self.register(oid_hash[:oid], oid_hash[:short_name], oid_hash[:long_name])
  end
  nil
end
register(oid, short_name, long_name = nil) click to toggle source

Register an OID so we have a friendly short name @param [String] oid A string representation of the OID you want to map (e.g. “1.6.2.3.55”) @param [String] short_name The short name (e.g. CN, O, OU, emailAddress) @param [String] long_name Optional long name. Defaults to the same as short_name @return [Boolean] success/failure

# File lib/r509/oid_mapper.rb, line 11
def self.register(oid, short_name, long_name = nil)
  if long_name.nil?
    long_name = short_name
  end

  begin
    OpenSSL::ASN1::ObjectId.register(oid, short_name, long_name)
  rescue OpenSSL::ASN1::ASN1Error
    false
  end
end
register_from_yaml(name, yaml_data) click to toggle source

Load YAML and register OIDs @param [String] name Name of the config within the file @param [String] yaml_data YAML data to load @example

custom_oids:
  - :oid: 1.4.3.2.1.2.3.4.4.4.5
    :short_name: testOIDName
  - :oid: 1.4.3.2.1.2.5.4.4.4.5
    :short_name: anotherOIDName
# File lib/r509/oid_mapper.rb, line 46
def self.register_from_yaml(name, yaml_data)
  conf = YAML.load(yaml_data)
  self.batch_register(conf[name])
end