This really can't be broken out into another method as the logic depends on variables created in the current method. I can make several methods and pass these variables to the methods, but that just seems even uglier to me.
The logic here is really 3 distinct components. If any of the 3 conditions are true, then sign the cert. I can think of 2 ways of clarifying this a bit.

1) line breaks to clarify the components

      if auto == true or 
        ( !store_auto.nil? && store_auto.allowed?(csr.name, "127.1.1.1") ) or 
        ( !store_auto_cmd.nil? && store_auto_cmd.allowed?(csr.name, "127.1.1.1") )
      then
        sign(csr.name)
      end

2) break it out into separate blocks

      if auto == true then
        sign(csr.name)
      elsif !store_auto.nil? and store_auto.allowed?(csr.name, "127.1.1.1") then
        sign(csr.name)
      elsif !store_auto_cmd.nil? and store_auto_cmd.allowed?(csr.name, "127.1.1.1") then
        sign(csr.name)
      end

3) use explicit returns

      return sign(csr.name) if auto == true
      return sign(csr.name) if !store_auto.nil? and store_auto.allowed?(csr.name, "127.1.1.1")
      return sign(csr.name) if !store_auto_cmd.nil? and store_auto_cmd.allowed?(csr.name, "127.1.1.1")