20Transferring Encrypted Data

This chapter contains the following:

Set up Encryption for File Transfer

You use encryption keys to encrypt files for secure transfer between Oracle HCM Cloud and your own servers through the Oracle WebCenter Content server. This PGP-based encryption support is available for secure file transfer using HCM Data Loader and HCM Extracts.

The process for inbound files (into Oracle HCM Cloud) is:

  1. You encrypt files using the Oracle HCM Cloud public key.

  2. The data-loading process decrypts files using the Oracle HCM Cloud private key.

The process for outbound files (generated by Oracle HCM Cloud) is:

  1. Oracle HCM Cloud encrypts files using your public key.

  2. You decrypt files using your private key.

Therefore, before you can encrypt or decrypt files, you must:

  1. Import your public key to Oracle HCM Cloud.

  2. Generate the PGP encryption key pair and download the Oracle HCM Cloud public key.

You can also sign the files, as follows:

  • Outbound files are signed using the HCM Cloud private key. You verify these files using the HCM Cloud public key.

  • Inbound files are signed using your private key. The data-loading process verifies inbound files using your public key.

This topic describes how to set up encryption, decryption, and signing of files.

Encryption and Signature Keys

This table shows you the keys that are used for encryption, decryption, signing, and verification in each supported encryption mode.

Encryption Mode Encryption Key Decryption Key Signing Key Verification Key

Outbound PGP Signed

customer-key_pub

customer-key_priv

fusion-key_priv

fusion-key_pub

Outbound PGP Unsigned

customer-key_pub

customer-key_priv

N/A

N/A

Inbound PGP Signed

fusion-key_pub

fusion-key_priv

customer-key_priv

customer-key_pub

Inbound PGP Unsigned

fusion-key_pub

fusion-key_priv

N/A

N/A

Importing Your Public Key

You use your public key (customer-key_pub) for encrypting outbound files. You can decrypt the files using your private key (customer-key_priv). If you also want outbound files to be signed, then use the HCM Cloud private key (fusion-key_priv) for signing. You can verify signed outbound files using the HCM Cloud public key (fusion-key_pub).

To import the customer public key:

  1. Sign in to Oracle HCM Cloud with the IT Security Manager job role or privileges.

  2. Select Navigator > Tools > Security Console to open the Security Console.

  3. Click the Certificates tab to open the Certificates page.

  4. Click Import to open the Import page.

  5. Set Certificate Type to PGP.

  6. In the Alias field, enter customer-key.

    Note: You must enter customer-key in this field. Otherwise, the encryption APIs can't use this key for encrypting outbound files.
  7. Click Browse to identify the location of the customer public key.

  8. Click Import and Close to import the public key into the Oracle HCM Cloud keystore.

Your public key now appears on the Security Console Certificates page.

Generating the PGP Encryption Key Pair

You generate the PGP key pair on the Security Console. You download the public key to encrypt files that are inbound into HCM Cloud (for example, input data files for HCM Data Loader). To sign these inbound files, you can use your private key (customer-key_priv), which is verified using your public key (customer-key_pub) in Oracle HCM Cloud. You must have imported the customer public key.

To generate the PGP Encryption Key Pair:

  1. Sign in to Oracle HCM Cloud with the IT Security Manager job role or privileges.

  2. Select Navigator > Tools > Security Console to open the Security Console.

  3. Click the Certificates tab to open the Certificates page.

  4. Click Generate to open the Generate dialog box.

  5. In the Generate dialog box, set Certificate Type to PGP.

  6. In the Alias field, enter fusion-key.

    Note: You must enter fusion-key in this field. Otherwise, the encryption APIs can't use this key to decrypt all encrypted inbound files.
  7. In the Passphrase field, enter a passphrase for the private key. This passphrase is needed when you edit, delete, or download the private key.

    Note: If you forget the passphrase, then you may have to raise a service request for help to delete the private key. Once the old key is deleted, you can generate a new key using the process described here.
  8. In the Key Algorithm field, select RSA.

  9. In the Key Length field, select either 1024 or 2048.

  10. Click Save and Close. The fusion-key pair is generated and ready for download. You can see the fusion-key pair on the Certificates page of the Security Console.

  11. In the Status actions for the fusion-key pair on the Certificates page, select Export > Public key. Save the HCM Cloud public key (fusion-key_pub.asc) to your desktop. Use the downloaded key to encrypt files that are inbound to Oracle HCM Cloud.

Encrypt and Upload Files Automatically

Encrypt files of data with PGP encryption and transfer them automatically between your servers and Oracle WebCenter Content using APIs and web services. For example, you can encrypt and decrypt files that contain sensitive employee data or confidential documents. You write programs to collect the encrypted files from your file server. You then place them on the Oracle WebCenter Content server and call a data loader to decrypt and load the data to Oracle HCM Cloud.

Note: You must set up your encryption keys before you perform these tasks.

Supported Encryption Algorithms

Oracle HCM Cloud supports the following encryption algorithms. You must ensure that you use only supported encryption algorithms.

  • Cipher: AES-128, Blowfish, CAST5, 3DES

    Note: These cipher algorithms aren't supported: Twofish, IDEA, AES-192, and AES-256
  • Compression: bzip2, zlib, .zip, uncompressed

  • Hash: SHA-1, SHA-256, SHA-224, SHA-512, MD5, SHA-384, RIPEMD-160

Encrypting Files

This section provides the commands to encrypt files in Microsoft Windows and Linux environments using the GnuPG encryption tool. For other tools and platforms, work with your suppliers to find the necessary commands for setting the cipher algorithm.

  • Gpg4win, the official GnuPG distribution for Microsoft Windows, provides both a command-line interface and a graphical user interface for encryption, decryption, signing, and verification. For encryption, use the command-line interface. You can find Gpg4win here: https://www.gpg4win.org/about.html.

  • You can download GnuPG for Linux from various sources, depending on the Linux distribution that you're using. Commonly used GnuPG versions can be found here: https://www.gnupg.org/index.html.

After installing the Gpg4win or GnuPG tool, follow these steps to encrypt or encrypt and sign a file:

  1. Import the HCM Cloud public key (downloaded from the Security Console) using this command at the command prompt:

    gpg --import <fusion public key file>
  2. Perform one of these steps.

    • To encrypt a file without signing, use this command:

      gpg --cipher-algo <one_of_the_supported_algorithms> -r fusion-key --encrypt <inbound_file_name>
    • To both encrypt and sign a file, use this command:

      gpg --cipher-algo <one_of_the_supported_algorithms> -r fusion-key -se <inbound_file_name>
      Note: When signing files, ensure that your private key is imported into the keystore that's used for signing.

Loading Encrypted Files

Perform the following steps to load encrypted files to Oracle HCM Cloud from the Oracle WebCenter Content server.

  1. Write programs to send your encrypted files to Oracle WebCenter Content, using the Oracle WebCenter Content Web Services. If your home page is: https://Hostname/homePage/faces/AtkHomePageWelcome, then the Oracle WebCenterContent Server WSDL is: https://Hostname/idcws/GenericSoap?wsdl.

  2. Call the loader program to pass the encryption parameter with other required parameters. The loaderIntegrationService uses the submitEncryptedBatch method, which has an additional parameter named encryptType. This parameter has the following values, which are defined in the ORA_HRC_FILE_ENCRYPT_TYPE lookup type:

    • NONE

    • PGPSIGNED

    • PGPUNSIGNED