# File lib/openshift-origin-controller/lib/openshift/auth_service.rb, line 33
    def generate_broker_key(app)
      cipher = OpenSSL::Cipher::Cipher.new("aes-256-cbc")
      cipher.encrypt
      cipher.key = OpenSSL::Digest::SHA512.new(@salt).digest
      cipher.iv = iv = cipher.random_iv
      token = {:app_name => app.name,
               @token_login_key => app.user.login,
               :creation_time => app.creation_time}
      encrypted_token = cipher.update(token.to_json)
      encrypted_token << cipher.final

      public_key = OpenSSL::PKey::RSA.new(File.read(@pubkeyfile), @privkeypass)
      encrypted_iv = public_key.public_encrypt(iv)

      # Base64 encode the iv and token
      encoded_iv = Base64::encode64(encrypted_iv)
      encoded_token = Base64::encode64(encrypted_token)

      [encoded_iv, encoded_token]
    end