module PkernelJce::Provider

Constants

BCProvider
DefProvider

Public Class Methods

add_default() click to toggle source
# File lib/pkernel_jce/provider.rb, line 13
def Provider::add_default
  add_provider(DefProvider)
  DefProvider
end
add_provider(prov) click to toggle source
# File lib/pkernel_jce/provider.rb, line 18
def Provider::add_provider(prov)
                    if prov != nil
                            if prov.is_a?(String) and not prov.empty?
      case prov
      when BCProvider.name
        provInst = BCProvider
                                            if not java.security.Security.get_providers.to_a.include?(provInst)
          PkernelJce::GConf.instance.glog.debug "Adding security provider '#{provInst.name}'" 
                                                    java.security.Security.add_provider(provInst)
                                            end
                                            prov
      else
        PkernelJce::GConf.instance.glog.error "Unknown provider by string '#{prov}'. Please use provider object."
        raise Exception, "Unknown provider by string '#{prov}'. Please use provider object."
      end
                            elsif prov.is_a?(java.security.Provider)
                                    if prov != nil
                                            if not java.security.Security.get_providers.to_a.include?(prov)
          PkernelJce::GConf.instance.glog.debug "Adding security provider '#{prov.name}'" 
                                                    java.security.Security.add_provider(prov)
                                            end
                                            prov
                                    else
                                            raise Exception, "Unknown provider object #{prov.inspect}"
                                    end

                            end
                    end
  
end
supported_algo(&block) click to toggle source
# File lib/pkernel_jce/provider.rb, line 49
def Provider::supported_algo(&block)
  prov = DefProvider
  prov.services.each do |ser|
    if block
      block.call(ser)
    else
      STDOUT.puts "Algorithm : #{ser.algorithm}"
    end
  end
end