Cryptography - Encrypt

Declaration

<AMCRYPTOGRAPHY ACTIVITY="encrypt" SUBFOLDERS="yes/no" KEEPFOLDERSTRUCT="yes/no" OVERWRITE="yes/no" ISNEWER="yes/no" ONLYIFEXIST="yes/no" OVERWRITEREADONLY="yes/no" OVERWRITEHIDDEN="yes/no" ARCHIVETURNOFF="yes/no" MATCHCASE="yes/no" EXCLUDE="text" RE="yes/no" INPUTFILE="text" OUTPUTFILE="text" RESULTDATASET="text" PASSPHRASE="text (encrypted)" USEOLDPACKETS="YES/NO" SELFEXTRACT="YES/NO" TAR="YES/NO" ARMOR="YES/NO" COMPRESSIONALGO="text (options)" APPENDEXTENSION="text" />

Related Topics    

Description

Encrypts one or more files using the specified encryption method and algorithm. This action supports both symmetric (passphrase) and asymmetric (public/private key) encryption types.

NOTE: PGP (Pretty Good Privacy) is a popular program used to encrypt and decrypt email over the Internet. It can also be used to send an encrypted digital signature that lets the receiver verify the sender's identity. Automate Desktop comes bundled with the OpenPGP engine which is based on PGP as originally developed. OpenPGP is installed on the system during Automate Desktop installation.

Practical usage

Used for security purposes to encrypt any type of file. Ideal for keeping sensitive and confidential information private.

Parameters

General

Property Type Required Default Markup Description
Source Text Yes (Empty)
  • INPUTFILE="c:\source\file.txt"
  • INPUTFILE="c:\source\*.txt"
The path and file name of the files to encrypt. This can be a fully qualified path and file name (preferred) or a single file (requires use of the File System - Change folder activity). You can use wildcard characters (for example, * or ?) to specify all files matching a certain mask. You can specify multiple files and file masks by separating each entry with a pipe character (|) (for example, c:\temp\*.txt|c:\backup\*.bak). See File Masks & Wildcards for more details.
NOTE: Files with invalid paths are ignored at runtime.
Destination Text Yes User
  • OUTPUTFILE="c:\destfile.txt"
  • OUTPUTFILE="c:\dest\
The destination folder and (optional) file name to place the newly encrypted files. Folders that do not exist will be automatically created at runtime.
Create and populate decrypt dataset Text No (Empty) RESULTDATASET="theResult" The name of the dataset to create and populate with results of this activity.

Encrypt

Property Type Required Default Markup Description
Encryption type Text (options) Yes Passphrase
  • ENCRYPTTYPE="openpgppassphrase"

  • ENCRYPTTYPE="openpgpkey"

  • ENCRYPTTYPE="pgppassphrase"

  • ENCRYPTTYPE="openpgpkey"

  • ENCRYPTTYPE="passphrase"

  • ENCRYPTTYPE="key"

Specifies the type of encryption to use. The available options are:
  • OpenPGP passphrase (default) - Requires a particular passphrase to verify and encrypt the specified files.
  • OpenPGP public key - Encryption is performed using OpenPGP public key and can only be encrypted with the corresponding private key.
  • PGP passphrase - Requires a particular OpenPGP passphrase to encrypt.
  • PGP public key - Uses a system which binds the public keys to an email address. Requires the associated PGP private key to encrypt.
  • Passphrase - Requires a particular OpenPGP passphrase to encrypt.
  • Public key -An asymmetric form of encryption that relies on a cryptographically generated public/private key pair. Encryption is performed with the public key and can only be encrypted with the corresponding private key.
Symmetric algorithm Text (Options) Yes, if Encryption type set to OpenPGP passphrase, OpenPGP public key, PGP Passphrase or Passphrase CAST5
  • ENCRYPTALGO="rijndael"

  • ENCRYPTALGO="des"

  • ENCRYPTALGO="rc2"

  • ENCRYPTALGO="tripledes"

The encryption algorithm to use. This parameter is active only if Encryption type parameter is set to OpenPGP passphrase, OpenPGP public key, PGP Passphrase or Passphrase.

Available encryption algorithm options for OpenPGP passphrase, OpenPGP public key or PGP Passphrase are:

  • Plain text
  • IDEA (PGP Only)
  • TripleDES
  • CAST5 (default)
  • BLOWFISH
  • AES128
  • AES192
  • AES256
  • TWOFISH256

Available encryption algorithm options for Passphrase are:

  • Rijndael (default)
  • DES
  • RC2
  • TripleDES
Passphrase Text Yes, if Encryption type set to OpenPGP passphrase, PGP passphrase or Passphrase (Empty) PASSWORD="encrypted" The passphrase to use in order to encrypt the files. This parameter is available only if the Encryption type parameter is set to OpenPGP passphrase, PGP passphrase, or Passphrase.
Keyring file(s) - Public Text Yes, if Encryption type set to OpenPGP public key or PGP public key (Empty) PUBKEYRINGPATH="c:\foldername\file.pkr" Specifies the path and file name of the OpenPGP or PGP public keyring file (.pkr). Entering a valid public keyring file along with a matching secret keyring file populates the Recipient(s) section with the appropriate signature information when pressing the Select recipients button. This parameter is available only if the Encryption type parameter is set to OpenPGP public key or PGP public key.
NOTE: Automate Desktop comes equipped with the OpenPGP engine which is installed on the system during Automate Desktop installation.  
Keyring file(s) - Secret Text Yes, if Encryption type set to PGP public key (Empty) SECKEYRINGPATH="c:\foldername\file.skr" Specifies the path and file name of the PGP secret keyring file (.skr). Entering a valid public keyring file along with a matching secret keyring file populates the Recipient(s) section with the appropriate signature information when pressing the Select recipients button. This parameter is available only if the Encryption type parameter is set to PGP public key.
NOTE: Automate Desktop comes equipped with the OpenPGP engine which is installed on the system during Automate Desktop installation.  
Recipient(s) - Email or Name Text No (Empty) KEYID=John@netauto.com Specifies the email address and/or unique name in which to bind the OpenPGP public key to. Select Select recipient(s) to populate this field with the recipient email and/or name. Multiple names/email addresses can be entered by separating each entry with a semi-colons (;). This parameter is active only if the Encryption type parameter is set to OpenPGP public key.
Compress data before encryption Yes/No No Yes COMPRESS="YES" If selected, specifies that the files will be initially compressed before encryption is performed. This parameter is active only if the Encryption type parameter is set to OpenPGP passphrase, PGP passphrase or PGP public key.
Key email Text Yes, if Encryption type set to PGP public key (Empty) EMAIL="john@netauto.com The email address used to identify the PGP public key. This parameter is available only if the Encryption type parameter is set to PGP public key.
Encrypt using Text (Options) Yes, if Encryption type is set to Public key

Key Container

  • ENCRYPTUSING="KEYCONTAINER"
  • ENCRYPTUSING="KEYCFILE"
Indicates the encryption procedure to be used to encrypt the specified files. This parameter is active only if the Encryption type parameter is set to Public key. The available options are:
  • Key container - A key container will be used to encrypt the files.
  • Key file - A key file will be used to encrypt the files. Click the Folder icon to navigate to the appropriate private key (.pri) file or simply enter the full path and file name of the private key file in the provided text-box.
Key container name Yes/No Yes, if Decrypt using set to Key container (Empty) KEYCONTAINERNAME="Microsoft Enhanced Cryptographic Provider v1.0" Specifies the name of the key container to be used. Clicking the down arrow will display a list of cryptographic provider names to select from. This parameter is active only if the Encrypt using parameter is set to Key container.
Key container level Text Options Yes, if Encrypt using set to Key container User
  • KEYCONTAINERLEVEL="user"
  • KEYCONTAINERLEVEL="machine"
Specifies whether the new key container should be set to User-Level or Machine-Level. Microsoft Windows makes Machine-Level key containers available to all users, whereas a User-Level key container is available only to the user that created (or imported) the key container. The available options are:
  • User (Default) - User-level key container
  • Machine - Machine-level key container

This parameter is available only if the Encryption type parameter is set to Public key and the Decrypt using parameter is set to Key container name.

Public key path Text Yes, if Encrypt using parameter set to Key file (Empty) KEYCONTAINERNAME="C:\Temp\filename.pri" Specifies the path and file name of the public key file to be used. Click the Folder icon to navigate to the appropriate key file or simply enter the full path and file name of the key file in the provided text-box. This parameter is active only if the Encrypt using parameter is set to Key file.

Advanced

Property Type Required Default Markup Description
Use new features (PGP > 6.5.x) Yes/No No Yes USENEWFEATURES="NO" If selected (default), newer PGP features introduced in 6.5.x will be supported.
Use old packets (PGP 2.3.x, 6.5.x) Yes/No No Yes USEOLDPACKETS="YES" If selected, older PGP encryption algorithm will be supported. Disabled by default.
Armor data (text output) Yes/No No No ARMOR="YES" If selected, causes PGP or OpenPGP to enable ASCII Armor output, a form of encoding binary data in a sequence of ASCII-printable characters. Binary to text encoding is necessary for transmission of data when the channel or the protocol only allows ASCII-printable characters, such as transporting through email channels. If you intend to use PGP primarily for email purposes, we suggest enabling this option. This parameter is active only if the Encryption type parameter is set to OpenPGP passphrase, PGP passphrase or PGP public key.

File Options

Property Type Required Default Markup Description
Exclude mask Text No (Empty) EXCLUDE="*.txt" Causes this action to omit decrypting files matching the masks specified. Filenames or wildcard masks may be used. Multiple entries may be specified by separating them with a pipe symbol (|). For example: *.txt|*.bak.
Regular expression Yes/No No No RE="YES" If selected, specifies that a regular expression is used in the Exclude Mask field.
Only if newer than Date No (Empty) ISNEWERTHAN="%DateSerial(2007,10,12) + TimeSerial(00,00,00)%" Causes this action to only decrypt files if the source is newer than the date/time specified. If this parameter is left blank or not included, the date of the files will be ignored (excluding Only if newer parameter).
Only if older than Date No (Empty) ISOLDERTHAN="%DateSerial(2007,10,12) + TimeSerial(00,00,00)%" Causes this action to only decrypt files if the source is older than the date/time specified. If this parameter is left blank or not included, the date of the files will be ignored (excluding Only if newer parameter).
Overwrite if exists Yes/No No No OVERWRITE="YES" If selected, specifies that, if destination files already exist, they should be overwritten. The default value is disabled.
Include subfolders Yes/No No No SUBFOLDERS="YES" If selected, specifies that, if present, subfolders should be searched for files matching the mask specified in the Source parameter. The default value is disabled.
Preserve folder structure Yes/No No Yes KEEPFOLDERSTRUCT="NO" If selected, specifies that subfolders found in the source folder should be created in the destination folder, and source files should be decrypted into their respective folders rather than directly into the root of the folder specified in the Destination parameter. Valid only if the Include subfolders parameter is selected.
Only if newer Yes/No No No ISNEWERTHAN="YES" If selected, indicates that only files that are newer than those in the destination folder will overwrite existing files. Valid only if the Overwrite if Exists parameter is selected.
Only if exists in destination Yes/No No No ONLYIFEXIST="YES" If selected, specifies that only files that already exist in the destination will be decrypted from the source. All other files, regardless of whether they match the mask or other parameter settings will be bypassed. Valid only if the Overwrite if Exists parameter is selected.
Overwrite read-only files Yes/No No No OVERWRITEREADONLY="YES" If selected, indicates that already existing files should be overwritten even if the file in the destination is marked with the "read-only" attribute. By default, read only files are not overwritten. Valid only if the Overwrite if Exists parameter is selected.
Overwrite hidden files Yes/No No No OVERWRITEHIDDEN="YES" If selected, specifies that already existing files should be overwritten even if the file in the destination is marked with the "hidden" attribute. By default, hidden files are not overwritten. Valid only if the Overwrite if Exists parameter is selected.
Turn archive attribute off Yes/No No No ARCHIVETURNOFF="YES" If selected, the archive attribute of the source file is switched OFF. The Windows archive attribute is generally used to track whether a file has been backed up. By turning the source file's archive attribute off, this indicates to many backup programs that the file has already been backed up. This parameter is disabled by default.
Match case Yes/No No No MATCHCASE="YES" If selected, the properties set within this activity are case sensitive in relation to the file. This parameter is disabled by deafult.

File Attributes

Property Type Required Default Markup Description
Attributes Text Options No (Empty) ATTRFILTER="+R+A-H" (decrypt read-only & archive files but not hidden files) This group of settings causes the action to filter which files are decrypted based on the attribute settings of the source files. In visual mode, a group of controls are provided to assist in the selection of this parameter. In markup mode, a single text item must be specified that contains the attributes of the files you wish to decrypt. Available options are:
  • R—Read-only: Specifying "+R" causes files with this attribute turned on to be included, "-R" causes files with this attribute turned off to be included, not specifying the letter (default) causes this attribute to be ignored.
  • A—Archive: Specifying "+A" causes files with this attribute turned on to be included, "-A" causes files with this attribute turned off to be included, not specifying the letter (default) causes this attribute to be ignored.
  • S—System: Specifying "+S" causes files with this attribute turned on to be included, "-S" causes files with this attribute turned off to be included, not specifying the letter (default) causes this attribute to be ignored.
  • H—Hidden: Specifying "+R" causes files with this attribute turned on to be included, "-H" causes files with this attribute turned off to be included, not specifying the letter (default) causes this attribute to be ignored.
  • C—Compression: Specifying "+C" causes files with this attribute turned on to be included, "-C" causes files with this attribute turned off to be included, not specifying the letter (default) causes this attribute to be ignored.

Description

Error Causes

On Error

Additional notes

Comparing machine-level and user-level RSA key containers

User-level RSA key containers are stored with the Windows user profile for a particular user and can be used to encrypt and encrypt information for applications that run under that specific user identity. User-level RSA key containers can be useful if you want to ensure that the RSA key information is removed when the Windows user profile is removed. However, because you must be logged in with the specific user account that will make use of the user-level RSA key container in order to encrypt or decrypt protected configuration sections, they are inconvenient to use.

Machine-level RSA key containers are available to all users that can log in to a computer, by default, and are the most useful as you can use them to encrypt or decrypt protected configuration sections while logged in with an administrator account. A machine-level RSA key container can be used to protect information for a single application, all the applications on a server, or a group of applications on a server that run under the same user identity. Although machine-level RSA key containers are available to all users, they can be secured with NTFS Access Control Lists (ACLs) so that only required users can access them.

Examples

NOTE:
  • Copy and paste the sample AML code below directly into the Task Builder Steps Panel.
  • To successfully run the sample code, update parameters containing user credentials, files, file paths, or other information specific to the task to match your environment.

Example 1

This sample task encrypts a file using passphrase encryption.

Copy
<AMCRYPTOGRAPHY ACTIVITY="encrypt" SUBFOLDERS="yes" KEEPFOLDERSTRUCT="yes" OVERWRITE="yes" ISNEWER="yes" INPUTFILE="C:\SourceFolder\*.DOC" OUTPUTFILE="C:\DestinationFolder\encr*.doc" ENCRYPTTYPE="passphrase" PASSPHRASE="AM3hbDcFIyZYZs=aME" ATTRFILTER="+r" />

Example 2

This sample task encrypts a file using public key encryption.

Copy
<AMCRYPTOGRAPHY ACTIVITY="encrypt" SUBFOLDERS="yes" KEEPFOLDERSTRUCT="yes" OVERWRITE="yes" ISNEWER="yes" INPUTFILE="C:\SourceFolder\*.DOC" OUTPUTFILE="C:\DestinationFolder\encr*.doc" ENCRYPTTYPE="key" KEYCONTAINERNAME="Microsoft Enhanced Cryptographic Provider v1.0" KEYCONTAINERLEVEL="user" ATTRFILTER="+r" />