Resolving Issues with PGP Decryption in SAP BTP iFlow
Hey there! I want to address an issue that may arise in projects involving encryption/decryption within the SAP BTP iFlow and its embedded PGP engine.
Scenario description
Imagine you've installed the latest version of the gpg4win application (version 4.3.1) to generate public and secret keys for business requirements.
You share the public key with a 3rd party and deploy the secret PGP key to your BTP tenant.
Next, you develop a simple iFlow to decrypt information provided by the 3rd party, who encrypts the information using the public PGP key you shared earlier.
However, upon triggering the iFlow endpoint, you encounter an error.
In the ABAP monitor, you observe the following error for the failed message:
Attempt to resolve the issue
To address this, let's explore the root cause of the problem. While researching through various resources, including SAP notes, you may find that SAP recommends using a specific version of gpg4win for PGP key management—version 2.3.4.
See Installing gpg4win
See https://files.gpg4win.org/gpg4win-2.3.4.exe
It seems that installing this older version of gpg4win and encrypting the file with the public key generated using the newer version might resolve the issue. You can then request the 3rd party to encrypt the information using the same public key but with the older version of the application.
No changes are required for the iFlow itself. Simply trigger it again with the new payload.
The issue should now be resolved. However, it's important to note that SAP recommends using specific versions of gpg4win for both key generation and encryption. Additionally, SAP advises against using the Kleopatra tool for key management. For additional context, please refer to Note 3276828 - Updating pgp keys in pubring/secring of Cloud Integration tenant results in exception during decrypting/verifying a PGP message . This SAP Note contains useful references for investigating the issue.
See PDF version of SAP Note 3276828 - Updating pgp keys in pubring/secring of Cloud Integration tenant results in exception during decrypting/verifying a PGP message
Thank you.