Class PGPDataFormat

    • Constructor Detail

      • PGPDataFormat

        public PGPDataFormat()
    • Method Detail

      • findKeyFileName

        protected String findKeyFileName​(org.apache.camel.Exchange exchange)
      • findEncryptionKeyRing

        protected byte[] findEncryptionKeyRing​(org.apache.camel.Exchange exchange)
      • findKeyPassword

        protected String findKeyPassword​(org.apache.camel.Exchange exchange)
      • findSignatureKeyFileName

        protected String findSignatureKeyFileName​(org.apache.camel.Exchange exchange)
      • findSignatureKeyRing

        protected byte[] findSignatureKeyRing​(org.apache.camel.Exchange exchange)
      • findSignatureKeyPassword

        protected String findSignatureKeyPassword​(org.apache.camel.Exchange exchange)
      • determineSignatureKeyUserId2Password

        public Map<String,​String> determineSignatureKeyUserId2Password​(List<String> sigKeyUserids,
                                                                             String sigKeyPassword)
      • setKeyFileName

        public void setKeyFileName​(String keyFileName)
        Filename of the keyring that will be used for the encryption/decryption, classpathResource. Alternatively you can provide the keyring also as byte array; see method setEncryptionKeyRing(byte[]).
      • getKeyFileName

        public String getKeyFileName()
      • getPassword

        public String getPassword()
      • setSignatureKeyFileName

        public void setSignatureKeyFileName​(String signatureKeyFileName)
        Filename of the signature keyring that will be used, classpathResource.
      • getSignatureKeyFileName

        public String getSignatureKeyFileName()
      • setSignaturePassword

        public void setSignaturePassword​(String signaturePassword)
        Password used to open the signature private key during marshaling.
      • getSignaturePassword

        public String getSignaturePassword()
      • getEncryptionKeyRing

        public byte[] getEncryptionKeyRing()
      • setEncryptionKeyRing

        public void setEncryptionKeyRing​(byte[] encryptionKeyRing)
        Keyring used for encryption/decryption as byte array. Alternatively you can also provide the keyring as a file; see method setKeyFileName(String).
      • getSignatureKeyRing

        public byte[] getSignatureKeyRing()
      • setSignatureKeyRing

        public void setSignatureKeyRing​(byte[] signatureKeyRing)
        Keyring used for signing/verifying as byte array. Alternatively you can also provide the keyring as a file; see method setSignatureKeyFileName(String).
      • setPassphraseAccessor

        public void setPassphraseAccessor​(PGPPassphraseAccessor passphraseAccessor)
        Alternative way to provide the passphrases. Especially useful for the unmarshal (decryption) case . If no passphrase can be found from the parameter password or signaturePassword or from the header SIGNATURE_KEY_PASSWORD or KEY_PASSWORD then we try to get the password from the passphrase accessor. This is especially useful in the decrypt case, where we chose the private key according to the key Id stored in the encrypted data.
      • getEncryptionKeys

        public List<org.bouncycastle.openpgp.PGPPublicKey> getEncryptionKeys​(org.apache.camel.Exchange exchange,
                                                                             List<String> useridParts)
                                                                      throws Exception
        Description copied from interface: PGPPublicKeyAccessor
        Returns the encryption keys for the given user ID parts. This method is used for encryption.
        Specified by:
        getEncryptionKeys in interface PGPPublicKeyAccessor
        Parameters:
        exchange - exchange, can be null
        useridParts - parts of User IDs, must not be null
        Returns:
        list of public keys, must not be null
        Throws:
        Exception
      • getSignerKeys

        public List<PGPSecretKeyAndPrivateKeyAndUserId> getSignerKeys​(org.apache.camel.Exchange exchange,
                                                                      List<String> useridParts)
                                                               throws Exception
        Description copied from interface: PGPSecretKeyAccessor
        Returns the signer keys for the given user ID parts. This method is used for signing.
        Specified by:
        getSignerKeys in interface PGPSecretKeyAccessor
        Parameters:
        exchange - exchange, can be null
        useridParts - parts of User IDs, can be null or empty, then an empty list must be returned
        Returns:
        list of secret keys with their private keys and User Ids which corresponds to one of the useridParts, must not be null, can be empty
        Throws:
        Exception
      • getPrivateKey

        public org.bouncycastle.openpgp.PGPPrivateKey getPrivateKey​(org.apache.camel.Exchange exchange,
                                                                    long keyId)
                                                             throws Exception
        Description copied from interface: PGPSecretKeyAccessor
        Returns the private key with a certain key ID. This method is used for decrypting.
        Specified by:
        getPrivateKey in interface PGPSecretKeyAccessor
        Parameters:
        exchange - exchange, can be null
        keyId - key ID
        Returns:
        private key or null if the key cannot be found
        Throws:
        Exception
      • getPublicKey

        public org.bouncycastle.openpgp.PGPPublicKey getPublicKey​(org.apache.camel.Exchange exchange,
                                                                  long keyId,
                                                                  List<String> userIdParts)
                                                           throws Exception
        Description copied from interface: PGPPublicKeyAccessor
        Returns the public key with a certain key ID. This method is used for verifying the signature. The given User IDs are provided to filter the public key, further. If the User ID parts list is empty, then any public key can be returned which has the specified key ID. If the User ID parts list is not empty then the returned key must have a User ID which contains at least one User ID part.
        Specified by:
        getPublicKey in interface PGPPublicKeyAccessor
        Parameters:
        exchange - exchange
        keyId - key ID
        userIdParts - parts of User IDs, must not be null, but can be empty
        Returns:
        public key or null if the key cannot be found
        Throws:
        Exception