Method: LDAP::Control.encode

Defined in:
lib/ldap/control.rb

.encode(*vals) ⇒ Object

Take vals, produce an Array of values in ASN.1 format and then convert the Array to DER.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/ldap/control.rb', line 18

def Control.encode( *vals )
  encoded_vals = []

  vals.each do |val|
    encoded_vals <<
      case val
      when Integer
        OpenSSL::ASN1::Integer( val )
      when String
        OpenSSL::ASN1::OctetString.new( val )
      else
        # What other types may exist?
      end
  end

  OpenSSL::ASN1::Sequence.new( encoded_vals ).to_der
end