Class AbstractDecryptionService

    • Constructor Detail

      • AbstractDecryptionService

        public AbstractDecryptionService​(String aNamespace,
                                         DecryptionServer aDecryptionServer)
        Constructs the service with the required services and configuration. The cipher versions expire time is set to 0 (expire immediately). See setCipherVersionsExpireTimeInMs(long).
        Parameters:
        aNamespace - The name space to which service belongs
        aDecryptionServer - The server to which the service is being "connected"
    • Method Detail

      • setCipherVersionsExpireTimeInMs

        public void setCipherVersionsExpireTimeInMs​(long aCipherVersionsExpireTimeInMs)
        Injection method for setting the the expire time (in milliseconds) after which once loaded cipher versions expire. A value of 0 indicates that them cipher versions are always reloaded upon accessing the cipher versions. A value of -1 indicates that the cipher versions are just loaded once and then never reloaded (them never expire).
        Parameters:
        aCipherVersionsExpireTimeInMs - The time in milliseconds after which them loaded cipher versions expire and are reloaded. A value of 0 indicates that them cipher versions expire immediately. A value of -1 indicate that them cipher versions expire never.
      • toSignature

        protected abstract String toSignature​(String aMessage)
        Creates a signature for the given message.
        Parameters:
        aMessage - The message for which a signature is to be generated
        Returns:
        The signature for the message
      • createMessage

        protected abstract String createMessage()
        Creates a message for which a signature is to be created in order to authenticate for the retrieval of the cipher versions. A decryption server should deny any requests to get cipher versions in case the same message is used twice.
        Returns:
        The message
      • toDecryptedCipherVersion

        protected abstract <CV extends CipherVersion> CV toDecryptedCipherVersion​(CV aEncyrptedCipherVersion)
        Hook factory method to be implemented by subclasses. The provided cipher is to be decrypted (e.g. with the private key of an asymmetric encryption approach) so that an decryption server only receives encrypted data.
        Type Parameters:
        CV - The type of the CipherVersion to be used.
        Parameters:
        aEncyrptedCipherVersion - The CipherVersion to be decrypted.
        Returns:
        The decrypted CipherVersion.