# File lib/dnsruby/resource/DNSKEY.rb, line 322
      def rsa_key
        exponentLength = @key[0]
        if (exponentLength.class == String)
          exponentLength = exponentLength.getbyte(0) # Ruby 1.9
        end
        pos = 1
        if (exponentLength == 0)
          key1 = @key[1]
          if (key1.class == String) # Ruby 1.9
            key1 = key1.getbyte(0)
          end
          exponentLength = (key1<<8) + key1
          pos += 2
        end
        exponent = RR::get_num(@key[pos, exponentLength])
        pos += exponentLength

        modulus = RR::get_num(@key[pos, @key.length])
        @key_length = (@key.length - pos) * 8

        pkey = OpenSSL::PKey::RSA.new
        begin
          pkey.set_key(modulus, exponent, nil) # use set_key, present in later versions of openssl gem
        rescue NoMethodError
          pkey.e = exponent # set_key not available in earlier versions, use this approach instead
          pkey.n = modulus
        end
        return pkey
      end