code: public void setSSECustomerKeyAlgorithm(SSEAlgorithm sseAlgorithm) {
          if (sseAlgorithm == null)
              this.sseCustomerKey = null;
          else if (sseAlgorithm.getAlgorithm().equals(SSEAlgorithm.AES256.getAlgorithm())) {
              this.sseCustomerKey =
                  SSECustomerKey.generateSSECustomerKeyForPresignUrl(sseAlgorithm.getAlgorithm());
          } else {
              throw new IllegalArgumentException(
                  "Currently the only supported Server Side Encryption algorithm is "
                  + SSEAlgorithm.AES256);
          }
      }
docs: Sets the use of SSE-C (Server Side Encryption with Customer Key) using
  the given encryption algorithm.
  
  @param sseAlgorithm
  The server-side encryption algorithm to use with this
  customer-provided server-side encryption key; or null if SSE-C
  is disabled. "AES256" is currently the only
  supported SSE-C encryption algorithm.