Configuration reference for file transfers to or from remote hosts


This page provides information for creating or reviewing payload JSON files that are involved in the configuration of file transfers to and from remote hosts.

For each type of object involved in file transfers — PGP templates, z/OS templates, MFT configuration, FTS settings —  a separate type of JSON file is involved.

PGP Template Data file

The following code sample demonstrates PGP template definitions in a JSON file:

{
"name": "template1",
"executableFullPath": "/home/dbauser/bin",
"exitCode": 0,
"passphrase": "passphrase/KEEP_EXISTING",
"recipient": "moshe",
"encryptionAttributes": "-e $$PGP_INPUT_FILE$$ ...",
"decryptionAttributes": "-d $$PGP_INPUT_FILE$$ ..."
} 

The PGP Template Data file contains the following properties for each template:

Property

Description

name

Name of the PGP template, up to 30 characters long

executableFullPath

Name and location of the executable file for the PGP application

exitCode

Code of a successful PGP operation

passphrase

The passphrase that is used to decrypt the file

recipient

Name of the recipient that is defined in the encrypt command

encryptionAttributes

PGP command line parameters for encryption

Within the command line, you include the following variables:

  • $$PGP_RECIPIENT$$: Recipient name that is defined the Recipient field (optional)
  • $$PGP_INPUT_FILE$$: Name of the file to encrypt (required)
  • $$PGP_OUTPUT_FILE$$: Name and location of the encrypted file (required).
    Use the output option of your PGP application together with this variable.

The following command line is an example of a GnuPG encryption command:
-e -r $$PGP_RECIPIENT$$ -o $$PGP_OUTPUT_FILE$$ $$PGP_INPUT_FILE$$

decryptionAttributes

PGP command line parameters for decryption

Within the command line, you include the following variables:

  • $$PGP_PASSPHRASE$$: The passphrase that is defined in the Passphrase field.
    This optional variable provides additional security, as you do not have to write the passphrase in the PGP command.
  • $$PGP_INPUT_FILE$$: Name of the file to encrypt (required)
  • $$PGP_OUTPUT_FILE$$: Name and location of the encrypted file (required).
    Use the output option of your PGP application together with this variable.

The following command line is an example of a GnuPG decryption command:
-d --batch --passphrase $$PGP_PASSPHRASE$$ -o $$PGP_OUTPUT_FILE$$ $$PGP_INPUT_FILE$$

z/OS Template Data file

The following code sample demonstrates z/OS template definitions in a JSON file:

{
"name": "ZOS_template1",
"recordFormat": "Fixed",
"logicalRecordLength": 1000,
"blockSize": 1200,
"translationTable": "BELGIAN",
"transferMode": "Block",
"smsManagmentClass": "A",
"allocationUnits" : "TRACKS",
"volume" : "asdsa",
"unit" : "aaa",
"primaryAllocation" : 123,
"secondaryAllocation" : 444,
"smsDataClass" : "asdsa",
"dbcsEncoding" : "Hangeul",
"transferToUniqueFile" : true,
"additionalOptionsHost1" : "",
"additionalOptionsHost2" : ""
} 

The z/OS Template Data file contains the following properties for each template:

Property

Description

name

Name of the z/OS template.

The first character cannot be an integer.

recordFormat

Value for the record format

logicalRecordLength

Logical record length, values between 0-32760

blockSize

Block size values between 0-32760

translationTable

The name of the table used by the FTP server during transfer for translation, up to 8 characters

transferMode

Mode of file transfer:

  • Block: Transfers the file as a series of data blocks preceded by one or more header bytes.
  • Stream: Transfers the file as a stream of bytes.

Transfer mode is valid only for transfer of files from z/OS to z/OS.

smsManagmentClass

The SMS Management Class assigned to a new data set

allocationUnits

Type of allocation unit used for the transfer

volume

Volume value, up to 6 characters

unit

Unit value, up to 8 characters

primaryAllocation

Primary allocation amount, between 1-16777215

secondaryAllocation

Secondary allocation amount, between 1-16777215

smsDataClass

The SMS Data Class provided by your organization for the FTP server

dbcsEncoding

The double-byte character set (DBCS) to use for the transfer

transferToUniqueFile

Whether to create a file with a unique name on the remote system instead of overwriting an existing file.

Values are either true of false

additionalOptionsHost1

Two optional properties for additional FTP Server SITE command sub-parameters and values

Allowed values for these properties are up to 214 characters.

additionalOptionsHost2

MFT Configuration Data file

The following code sample demonstrates MFT configuration data in a JSON file:

{
"connectionTimeoutInSeconds": 30,
"connectionRetries": 5,
"connectionTimeBetweenRetriesInSeconds": 6,
"debugLevel": 1,
"pgpTempDir": "C:\\temp",
"sslDebugTrace": false,
"pamAuthentication": false,
"proxyIsInUse" : false,
"proxyHost" : "host1234",
"proxyPort" : 1456,
"proxyUser" : "user1",
"proxyPassword" : "passphrase/KEEP_EXISTING",
"fileWatcherSearchInterval" : 30,
"fileWatcherStaticIterations" : 3,
"fileWatcherCheckFileIsInUse" : false,
"fileActionsRetriesIntervalInSeconds" : 5,
"fileActionsRetriesNum" : 3
}

The MFT Configuration Data file contains the following properties:

Property

Description

connectionTimeoutInSeconds

The number of seconds to allow for establishing a connection with an FTP server before timing out

Default: 30 seconds

connectionRetries

The number of times to try to connect after failing to connect with an FTP server

Note: If the remote FTP server runs on a z/OS system, this parameter has no effect.

Valid values: 0-99
Default: 5

connectionTimeBetweenRetriesInSeconds

The number of seconds between attempts to connect to an FTP server

Default: 6 seconds

debugLevel

Debug level of Control-M MFT

Valid values range from 0 to 4, where 0 indicates no diagnostic activity, and 4 indicates the highest level of diagnostic functionality.

Default: 0

Note: If the debug level of the Control-M/Agent is higher than Control-M MFT, then the debug level of Control-M MFT is based on the Control-M/Agent.

pgpTempDir

A temporary location where PGP files are stored

Users defined in the relevant connection profile must have read and write permissions for this temporary directory.

Default: <Control-M/Agent_Home_Dir>\cm\AFT\pgp_tmp

sslDebugTrace

Whether to run SSL diagnostics in Control-M MFT

Values are either true or false. The default is false.

pamAuthentication

Whether to authenticate the local host with PAM-based authentication (Solaris, HP-UX, and Linux computers only)

Values are either true or false. The default is false.

proxyIsInUse

Whether to transfer files through a Web Proxy server (available for FTP, FTPS, SFTP, and S3)

Values are either true or false. The default is false.

proxyHost

Host name of the proxy server

proxyPort

Port number of the proxy server

proxyUser

User name for the connection to the proxy server

proxyPassword

Password for the proxy server user

fileWatcherSearchInterval

The number of seconds between successive attempts to detect the existence of a file and between attempts to monitor the size of a detected file

Valid values: 1-9999
Default: 30 seconds

fileWatcherStaticIterations

Numbers of attempts to monitor the file size when it is static after it has reached its minimum detected size

Valid values: 1-999
Default: 3

fileWatcherCheckFileIsInUse

Whether to check that the file is not being used by another process or application on a local host

Values are either true or false. The default is false.

fileActionsRetriesIntervalInSeconds

Number of seconds to wait before attempting to perform a post action on the source or destination file after a successful transfer

Valid values: 1-9999
Default: 5 seconds

fileActionsRetriesNum

Number of times to retry a post action on the source or destination file after a successful transfer

Valid values: 0-999
Default: 3

FTS Settings Data file

The following code sample demonstrates FTS settings in a JSON file:

{
  "generalSettings": {
"homeDirectory": "${CM}/ftshome/${userName}",
"multipleLoginAllowed": true,
"maxOpenSessions": 10,
"maxLoginFailures": 3,
"delayAfterLoginFailure": 300,
"throttlingActivated": false,
"maxSimultaniousUploads": 10,
"maxSimultaniousDownloads": 10
  },
  "ftpSettings": {
"serverEnabled": true,
"port": 1221,
"authenticationMethod": "PAM",
"secured": true,
"keystoreFilePath": "${CM}/data/SSL/cert/ftskeystore.pfx",
"keystoreFilePassword": "567uiturteerwtrewtrerwere",
"ciphers": "",
"listenForImplicitConnection": false,
"passivePorts": ""
  },
  "sftpSettings": {
"serverEnabled": true,
"port": 1222,
"authenticationMethod": "PAM",
"keystoreFilePath": "${CM}/AFT/data/Keys/keystore.pfx",
"keystoreFilePassword": "tyutuyt7987987979879=",
"ciphers": "AES128CBC,AES256CBC,ARCFOUR128,ARCFOUR256,TripleDESCBC",
"knownUsersFilePath": "${CM}/AFT/data/authorized_keys",
"overriddenUsersHomeDirectories": [
  {
"userName": "user1",
"homeDirectory": "${cm.home}/ftshome/home1"
  },
  {
"userName": "user2",
"homeDirectory": "${cm.home}/ftshome/home2"
  },
  {
"userName": "user3",
"homeDirectory": "${cm.home}/ftshome/home3"
  }
]
  },
  "authenticationDetails": {
"ldapAuthenticationDetails": {
  "searchUserName": "CN=user1 name,ou=sales,dc=company,dc=us,dc=com",
  "searchUserPassword": "UYTUYTUytuyt9879879=",
  "serverUrl": "ldap://vw-tlv-ctm-qa98.bmc.com",
  "baseDn": "ou=sales,dc=company,dc=us,dc=com",
  "usernameAttributeName": "sAMAccountName",
  "dnAttributeName": "distinguishedName",
  "connectionTimeout": 30000
},
"pamAuthenticationDetails": {
  "serviceName": "passwd"
}
  }
}

The FTS Settings Data file contains the following properties:

  • General settings:

    Property

    Description

    homeDirectory

    Root path where transfered files are stored.If you want to use a different directory for each logged in user, you must add \${userName} to the path.

    multipleLoginAllowed

    Whether multiple users can connect to the File Transfer Server simultaneously via FTP

    maxOpenSessions

    The number of users that can connect to the File Transfer Server simultaneously via FTP

    maxLoginFailures

    The maximum number of login attempts that are allowed via FTP before no more logins are allowed for the period of time defined by the delayAfterLoginFailure property

    delayAfterLoginFailure

    The number of seconds to wait after a login failure via FTP before the next attempt

    throttlingActivated

    Whether to limit number of simultaneous uploads and downloads

    maxSimultaniousUploads

    Maximum number of simultaneous uploads

    maxSimultaniousDownloads

    Maximum number of simultaneous downloads

  • FTP settings:

    Property

    Description

    serverEnabled

    Whether the File Transfer Server that supports client connection via FTP/FTPS is enabled

    port

    Number of the port to which the File Transfer Server listens for FTP/FTPS connections
    Default: 1221

    authenticationMethod

    Method of authentication of FTP users, one of the following:

    • PAM (on UNIX)
    • LOCAL (Windows local user)
    • LDAP

    secured

    Whether FTPS is enabled

    keystoreFilePath

    Path to the file that contains the server certificate
    The keystore must be in PKCS#12 format. If FIPS is enabled, the format must be BCFKS.

    keystoreFilePassword

    Password of the file that contains the server certificate

    ciphers

    A comma-separated list of names of ciphers that are used for FTPS

    If no ciphers are specified, all available ciphers are supported.

    listenForImplicitConnection

    Whether to automatically turn on security after a connection is established between the FTPS client and the Managed File Transfer server

    passivePorts

    A list of dynamic ports to which to limit passive connections in FTP
    The list of ports can include single ports, as well as closed or open ranges (indicated with a dash). Multiple definitions are separated by commas.

  • SFTP settings:

    Property

    Description

    serverEnabled

    Whether the File Transfer Server that supports client connection via SFTP is enabled

    port

    Number of the port to which the File Transfer Server listens for SFTP connections
    Default: 1222

    authenticationMethod

    Method of authentication of SFTP users, one of the following:

    • PAM (on UNIX)
    • LOCAL (Windows local user)
    • LDAP

    keystoreFilePath

    Path to the file that contains the server certificate
    The keystore must be in PKCS#12 format. If FIPS is enabled, the format must be BCFKS.

    keystoreFilePassword

    Password of the file that contains the server certificate

    ciphers

    A comma-separated list of names of ciphers that are used for SFTP

    knownUsersFilePath

    The path to the file that contains known users by SFTP

    overriddenUsersHomeDirectories

    A list of internal users that can override their specific home directory to connect to the FTS/Hub with SFTP.

    Under this property, specify pairs of userName and homeDirectory properties.

    Note that the home directory can be a network path in the UNC format.

  • Authentication details:

    Property

    Description

    LDAP authentication details (under "ldapAuthenticationDetails")

    searchUserName

    Name of the LDAP Browse user

    searchUserPassword

    Password of the LDAP Browse user

    serverUrl

    The URL address and (optionally) port of a directory server, in the following format:
    ldap(s)://<server>:<port>

    baseDn

    The point from where the server will search for users.

    Example: ou=sales,dc=company,dc=us,dc=com

    usernameAttributeName

    The name of the LDAP attribute that determines the username

    dnAttributeName

    The name of the LDAP attribute that determines the user DN (distinguished name)

    connectionTimeout

    The number of milliseconds to wait before a timeout
    Default: 30000 milliseconds

    PAM authentication details (under "pamAuthenticationDetails")

    serviceName

    The name of the PAM service

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*