File Encryption

Looking for suggestions on encrypting user uploaded files server-side, before using an S3-compatible API to upload to a third-party object storage service.

The reason for this is because I will be dealing with confidential documents, possibly even ID documents.

AES-256 seems to be mentioned quite a bit. I would also need a way of decrypting to to show the file to the user that requested it.