# File lib/dnsruby/resource/RRSIG.rb, line 145
      def from_string(input)
        if (input.length > 0)
          data = input.split(" ")
          self.type_covered=(data[0])
          self.algorithm=(data[1])
          self.labels=data[2].to_i
          self.original_ttl=data[3].to_i
          self.expiration=get_time(data[4])
          #  Brackets may also be present
          index = 5
          end_index = data.length - 1
          if (data[index]=="(")
            index = 6
            end_index = data.length - 2
          end
          self.inception=get_time(data[index])
          self.key_tag=data[index+1].to_i
          self.signers_name=(data[index+2])
          #  signature can include whitespace - include all text
          #  until we come to " )" at the end, and then gsub
          #  the white space out
          buf=""
          (index+3..end_index).each {|i|
            if (comment_index = data[i].index(";"))
              buf += data[i].slice(0, comment_index)
              #  @TODO@ We lose the comments here - we should really keep them for when we write back to string format?
              break
            else
            buf += data[i]
            end
          }
          buf.gsub!(/\n/, "")
          buf.gsub!(/ /, "")
          # self.signature=Base64.decode64(buf)
          self.signature=buf.unpack("m*")[0]
        end
      end