Class PowerAuthEncryptionProviderBase

java.lang.Object
io.getlime.security.powerauth.rest.api.base.provider.PowerAuthEncryptionProviderBase

public abstract class PowerAuthEncryptionProviderBase
extends Object
Abstract class for PowerAuth encryption provider with common HTTP header parsing logic. The class is available for protocol version 3.0 and newer.
Author:
Roman Strobl, roman.strobl@wultra.com
  • Constructor Details

    • PowerAuthEncryptionProviderBase

      public PowerAuthEncryptionProviderBase()
  • Method Details

    • getEciesDecryptorParameters

      public abstract PowerAuthEciesDecryptorParameters getEciesDecryptorParameters​(String activationId, String applicationKey, String ephemeralPublicKey) throws PowerAuthEncryptionException
      Get ECIES decryptor parameters from PowerAuth server.
      Parameters:
      activationId - Activation ID (only used in activation scope, in application scope use null).
      applicationKey - Application key.
      ephemeralPublicKey - Ephemeral public key for ECIES.
      Returns:
      ECIES decryptor parameters.
      Throws:
      PowerAuthEncryptionException - In case PowerAuth server call fails.
    • decryptRequest

      public <T> PowerAuthEciesEncryption<T> decryptRequest​(javax.servlet.http.HttpServletRequest request, Class<T> requestType, io.getlime.security.powerauth.crypto.lib.encryptor.ecies.model.EciesScope eciesScope) throws PowerAuthEncryptionException
      Decrypt HTTP request body and construct object with ECIES data. Use the requestType parameter to specify the type of decrypted object.
      Type Parameters:
      T - Generic request object type.
      Parameters:
      request - HTTP request.
      requestType - Class of request object.
      eciesScope - ECIES scope.
      Returns:
      Object with ECIES data.
      Throws:
      PowerAuthEncryptionException - In case request decryption fails.
    • encryptResponse

      public EciesEncryptedResponse encryptResponse​(Object responseObject, PowerAuthEciesEncryption<?> eciesEncryption)
      Encrypt response using ECIES.
      Parameters:
      responseObject - Response object which should be encrypted.
      eciesEncryption - PowerAuth encryption object.
      Returns:
      ECIES encrypted response.