Cryptographic Operations
Native PGP encryption supports cryptographic operations such as encryption, decryption, signing, and verification using Bouncy Castle APIs.
You can create Business Processes to execute PGPPackageService
and
PGPUnpackageServices
during runtime to perform the cryptographic operations.
PGP Encryption
The business process uses
PGPPackageService
to encrypt the primary document.
<process name="NativePGP_Encryption">
<sequence>
<operation name="PGP Package Service">
<participant name="PGPPackageService"/>
<output message="PGPPackageServiceTypeInputMessage">
<assign to="." from="*"></assign>
<assign to="compress">on</assign>
<assign to="profile_name">AFTPGPProfile</assign>
<assign to="public_user">0x3D89E40867379E96</assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>
PGP Decryption
The business process uses
PGPUnpackageService
to decrypt and (decrypt + verify)
the primary document.Note:
- The decryption key is mandatory in Sterling File Gateway for a partner to verify the signature.
- In a clustered environment, you must have a common NFS location where a processed (encrypted and signed) file is stored and the decryption service takes the file from the stored location and decrypts and verifies it.
For decryption, you must pass
secret_keymap_name
, which is in
AFTPGPProfile
.
PGP Decryption
<process name="Native_PGP_Decrypt">
<sequence name="optional">
<operation name="One">
<participant name="PGPUnpackageService"/>
<output message="Xout">
<assign to="." from="*"></assign>
<assign to="profile_name">AFTPGPProfile</assign>
<assign to="secret_keymap_name">IMDADKEY000</assign>
</output>
<input message="Xin">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>
PGP Decryption with verification
Decryption with verification
<process name="Native_pgp_dec_ver">
<sequence name="optional">
<operation name="One">
<participant name="PGPUnpackageService"/>
<output message="Xout">
<assign to="." from="*"></assign>
<assign to="profile_name">AFTPGPProfile</assign>
<assign to="secret_keymap_name">Decryption</assign>
</output>
<input message="Xin">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>
PGP Encryption with digital signature
The business process uses
PGPPackageService
to encrypt and sign the primary
document. For signing, you must pass secret_keymap_name
, which is in
AFTPGPProfile
.
<process name="Native_PGP_Enc_Sign">
<sequence>
<operation name="PGP Package Service">
<participant name="PGPPackageService"/>
<output message="PGPPackageServiceTypeInputMessage">
<assign to="." from="*"></assign>
<assign to="compress">on</assign>
<assign to="profile_name">AFTPGPProfile</assign>
<assign to="public_user">0x3D89E40867379E96</assign>
<assign to="secret_keymap_name">SignKey</assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>
PGP Signing
The business process uses the
PGPPackageService
to sign the primary document.
For signing, you must pass secret_keymap_name
, which is in
AFTPGPProfile
.
<process name="Native_PGP_Sign">
<sequence>
<operation name="PGP Package Service">
<participant name="PGPPackageService"/>
<output message="PGPPackageServiceTypeInputMessage">
<assign to="." from="*"></assign>
<assign to="compress">on</assign>
<assign to="profile_name">AFTPGPProfile</assign>
<assign to="secret_keymap_name">SignKey</assign>
</output>
<input message="inmsg">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>
PGP Verification
The business process uses the
PGPUnpackageService
to verify the digitally signed
primary
document.
<process name="Native_PGP_SignVerification">
<sequence name="optional">
<operation name="One">
<participant name="PGPUnpackageService"/>
<output message="Xout">
<assign to="." from="*"></assign>
<assign to="profile_name">AFTPGPProfile</assign>
</output>
<input message="Xin">
<assign to="." from="*"></assign>
</input>
</operation>
</sequence>
</process>
Clear Signature
Clear Signature and signature verification of files is supported only for text and xml files. Binary files are not supported. It also does not support SHA224 algorithm.
Attention: When encrypting or signing binary files like
.doc
or
.docx
using Sterling B2B Integrator CLA2 adapter and decrypting
or verifying the same document using Native PGP Server, it is recommended not to enable
textmode
, irrespective of ASCII Armor being enabled.