Sha256: 00c6f18c9b0ef1739c3bab96e53d65b2093df357de6a639c4c8aa73093b76148

Contents?: true

Size: 1.11 KB

Versions: 3

Compression:

Stored size: 1.11 KB

Contents

require 'openssl'

module R509
  # Helps map raw OIDs to friendlier short names
  module OIDMapper
    # 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
    def self.register(oid,short_name,long_name=nil)
      if long_name.nil?
        long_name = short_name
      end
      OpenSSL::ASN1::ObjectId.register(oid, short_name, long_name)
    end

    # 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"}
    # ]
    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
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
r509-0.9.2 lib/r509/oid_mapper.rb
r509-0.9.1 lib/r509/oid_mapper.rb
r509-0.9 lib/r509/oid_mapper.rb