code: def download_encrypted_file(job, input_args, name):
      
      work_dir = job.fileStore.getLocalTempDir()
      key_path = input_args['ssec']
      file_path = os.path.join(work_dir, name)
      url = input_args[name]
  
      with open(key_path, 'r') as f:
          key = f.read()
      if len(key) != 32:
          raise RuntimeError('Invalid Key! Must be 32 bytes: {}'.format(key))
  
      key = generate_unique_key(key_path, url)
  
      encoded_key = base64.b64encode(key)
      encoded_key_md5 = base64.b64encode(hashlib.md5(key).digest())
      h1 = 'x-amz-server-side-encryption-customer-algorithm:AES256'
      h2 = 'x-amz-server-side-encryption-customer-key:{}'.format(encoded_key)
      h3 = 'x-amz-server-side-encryption-customer-key-md5:{}'.format(encoded_key_md5)
      try:
          subprocess.check_call(['curl', '-fs', '--retry', '5', '-H', h1, '-H', h2, '-H', h3, url, '-o', file_path])
      except OSError:
          raise RuntimeError('Failed to find "curl". Install via "apt-get install curl"')
      assert os.path.exists(file_path)
      return job.fileStore.writeGlobalFile(file_path)
docs: Downloads encrypted files from S3 via header injection
  
      input_args: dict    Input dictionary defined in main()
      name: str           Symbolic name associated with file