In order to build the sample from source, you need to have access to coreBuildDistributionImage and have Gradle 4.8 or higher.
- Extract coreBuildDistributionImage.zip/archives/pegadbinstall-classes.zip to a temporary folder
- Copy jar file to the libs folder:
- pegadbinstall-classes/lib/pega/prpublic.jar → libs/prpublic.jar
- Run
./gradlew clean build -x test
to generate build/libs/file-dataset-PGP-1.0-SNAPSHOT.jar component jar, which can be imported into Pega platform
- Copy jar files to the libs folder:
- pegadbinstall-classes/lib/pega/prpublic.jar → libs/prpublic.jar
- Run
./gradlew clean test
- 8.4
- 8.5
- 8.6
- 8.7
This implementation is compatible with GnuPGP version 2.2
Following jars need to be uploaded to the Pega Platform versions 8.6 and earlier for custom processing to work:
- org.bouncycastle:bcpg-jdk15on:1.66
- org.bouncycastle:bcprov-jdk15on:1.66
- name.neuhalfen.projects.crypto.bouncycastle.openpgp:bouncy-gpg:2.2.0
Keys need to be generated using AES256 algorithm and encoded in base 64.
The keys used for encryption are referenced from data page "D_PGPKeys". The page must have the following properties:
- PrivateKey
- PublicKey
- Passphrase
Steps required to use PGP encryption in file data set:
- In "File configuration" section of file data set configuration select "Custom stream processing"
- In "Java class with reader implementation" put "com.pega.bigdata.dataset.file.processor.PgpDecryptor"
- In "Java class with writer implementation" put "com.pega.bigdata.dataset.file.processor.PgpEncryptor"