Class PGPPipe

All Implemented Interfaces:
HasTransactionAttribute, IConfigurable, IConfigurationAware, IForwardTarget, INamedObject, IPipe, IScopeProvider, IWithParameters, EventThrowing, HasStatistics, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware

@ElementType(TRANSLATOR) public class PGPPipe extends FixedForwardPipe

Performs various PGP (Pretty Good Privacy) actions such as Encrypt, Sign, Decrypt, Verify.

To use this pipe action parameter has to be set to one of the actions above.

Note: When secret key is required in any of the actions, the related public key should also be included in public keys.

Note: For fields that require multiple input (such as recipients, senders and publicKey -in certain actions-) you can seperate multiple values with ";" (semicolon).

  • Constructor Details

    • PGPPipe

      public PGPPipe()
  • Method Details

    • configure

      public void configure() throws ConfigurationException
      Description copied from class: FixedForwardPipe
      checks for correct configuration of forward
      Specified by:
      configure in interface IConfigurable
      Specified by:
      configure in interface IPipe
      Overrides:
      configure in class FixedForwardPipe
      Throws:
      ConfigurationException
    • doPipe

      public PipeRunResult doPipe(Message message, PipeLineSession session) throws PipeRunException
      Description copied from interface: IPipe
      This is where the action takes place. Pipes may only throw a PipeRunException, to be handled by the caller of this object. Implementations must either consume the message, or pass it on to the next Pipe in the PipeRunResult. If the result of the Pipe does not depend on the input, like for the FixedResultPipe, the Pipe can schedule the input to be closed at session exit, by calling Message.closeOnCloseOf(PipeLineSession, String) This allows the previous Pipe to release any resources (e.g. connections) that it might have kept open until the message was consumed. Doing so avoids connections leaking from pools, while it enables efficient streaming processing of data while it is being read from a stream.
      Throws:
      PipeRunException
    • setAction

      public void setAction(PGPPipe.Action action)
      Action to be taken when pipe is executed.
    • setRecipients

      public void setRecipients(String recipients)
      Recipients to be used during encryption stage. If multiple, separate with ';' (semicolon)
    • setVerificationAddresses

      public void setVerificationAddresses(String verificationAddresses)
      Emails of the senders. This will be used to verify that all the senders have signed the given message. If not set, and the action is verify; this pipe will validate that at least one person has signed. For signing action, it needs to be set to the email that was used to generate the private key "that is being used for this process.
    • setSecretKey

      public void setSecretKey(String secretKey)
      Path to the private key. It will be used when signing or decrypting.
    • setSecretPassword

      public void setSecretPassword(String secretPassword)
      Password for the private key.
    • setPublicKeys

      public void setPublicKeys(String publicKeys)
      Path to the recipient's public key. It will be used for encryption and verification.