OpenText™ Fortify ScanCentral SAST  
Software Version: 24.2.0  
Installation, Configuration, and Usage Guide  
Document Release Date: May 2024  
Software Release Date: May 2024  
Installation, Configuration, and Usage Guide  
Legal Notices  
Open Text Corporation  
275 Frank Tompa Drive, Waterloo, Ontario, Canada, N2L 0A1  
Copyright Notice  
Copyright 2011 - 2024 Open Text.  
The only warranties for products and services of Open Text and its affiliates and licensors (“Open Text”) are as may be set forth  
in the express warranty statements accompanying such products and services. Nothing herein should be construed as  
constituting an additional warranty. Open Text shall not be liable for technical or editorial errors or omissions contained herein.  
The information contained herein is subject to change without notice.  
Trademark Notices  
“OpenText” and other Open Text trademarks and service marks are the property of Open Text or its affiliates. All other  
trademarks or service marks are the property of their respective owners.  
Documentation Updates  
The title page of this document contains the following identifying information:  
l
Software Version number  
l
Document Release Date, which changes each time the document is updated  
l
Software Release Date, which indicates the release date of this version of the software  
This document was produced on May 20, 2024. To check for recent updates or to verify that you are using the most recent  
edition of a document, go to:  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 2 of 111  
Installation, Configuration, and Usage Guide  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 4 of 111  
Installation, Configuration, and Usage Guide  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 5 of 111  
Installation, Configuration, and Usage Guide  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 7 of 111  
Installation, Configuration, and Usage Guide  
Preface  
Preface  
Contacting Customer Support  
Visit the Support website to:  
l
Manage licenses and entitlements  
l
Create and manage technical assistance requests  
l
Browse documentation and knowledge articles  
l
Download software  
l
Explore the Community  
For More Information  
For more information about Fortify software products:  
About the Documentation Set  
The Fortify Software documentation set contains installation, user, and deployment guides for all  
Fortify Software products and components. In addition, you will find technical notes and release notes  
that describe new features, known issues, and last-minute updates. You can access the latest versions  
of these documents from the following Product Documentation website:  
To be notified of documentation updates between releases, subscribe to Fortify Product  
Announcements on the OpenText Fortify Community:  
Fortify Product Feature Videos  
You can find videos that highlight Fortify products and features on the Fortify Unplugged YouTube  
channel:  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 8 of 111  
 
 
 
 
 
Installation, Configuration, and Usage Guide  
Change Log  
Change Log  
The following table lists changes made to this document. Revisions to this document are published  
only if the changes made affect product functionality.  
Software Release /  
Document Version  
Changes  
24.2.0  
Added:  
l
Option to replace duplicate scan requests that are uploaded to the  
same application version in Fortify Software Security Center (see  
l
l
Option to configure the Controller to assign scan jobs to a specific  
version of Fortify Static Code Analyzer (see "Configuring the  
(For use with Fortify on Demand only) Ability to use the Debricked CLI  
for open source software composition analysis (see "Generating a  
Updated:  
l
The minimum required JRE version for Fortify ScanCentral SAST  
l
l
l
MSBuild and dotnet build logs are included in the debug archive (see  
The options to display the version are -vand --version. The -  
versionoption is deprecated (see "Global Options" on page 95)  
The --php-versionoption for the startand packagecommands is  
no longer required because Fortify ScanCentral SAST automatically  
detects the installed PHP version (see "Start Command" on page 96  
l
The option --outputfor the packagecommand is no longer  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 9 of 111  
 
Installation, Configuration, and Usage Guide  
Change Log  
Software Release /  
Document Version  
Changes  
Removed:  
l
The "Working with Salesforce Apex Projects" topic was removed  
because the -apexFortify Static Code Analyzer option is no longer  
required to analyze Apex projects.  
23.2.0  
Added:  
l
l
l
l
l
l
l
l
Updated:  
l
Changed the requirements for when to run the migration script to  
upgrade the ScanCentral SAST Controller (see "Upgrading the  
l
Updates for analyzing .NET projects (see "Configuring Sensors for  
l
l
l
Added descriptions of the scan status values (see "Viewing the Scan  
Added supported -scan-policyoption (see "Options Accepted for -  
Added supported COBOL options (see "Options Accepted for -targs  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 10 of 111  
Installation, Configuration, and Usage Guide  
Change Log  
Software Release /  
Document Version  
Changes  
Removed:  
l
The argumentscommand is deprecated and removed from this  
document. Use the -targsor -sargsoption with the startor  
packagecommands instead.  
23.1.0  
Added:  
l
l
Updated:  
l
Instruct users to select the Fortify ScanCentral SAST Client check box  
during the Fortify Static Code Analyzer installation (see "Installing a  
l
l
Changed the --block-foroption to --block-until(see "Starting  
Added the client_zip_location, ssc_restapi_connect_  
timeout, and ssc_restapi_read_timeoutproperties for  
configuring the Controller (see "Configuring the Controller" on  
l
Added content to describe the procedures to configure timeout  
between the Controller and sensors, between the Controller and  
clients, and between the Controller and Fortify Software Security  
l
l
Added information about auto-detection of the build tool (see  
Added the --block-timeout) and --poll-intervaloptions (see  
l
Added a list of accepted Fortify Static Code Analyzer options (see  
Removed:  
l
Configuring the Logging Level for Sensors  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 11 of 111  
Installation, Configuration, and Usage Guide  
Change Log  
Software Release /  
Document Version  
Changes  
l
Removed the lim_proxy_server, remote_ip_proxy_header, and  
ssc_trusted_proxies_remote_ipproperties for configuring the  
Controller  
22.2.0  
Added:  
l
l
l
l
Updated:  
l
Modified the procedure for upgrading the Controller (see "Upgrading  
l
l
l
Added the --fpr-filename-on-sscoption (see "Start Command"  
Added a cautionary note related to file paths that include an umlaut  
(Fortify on Demand only) Added the --open-source-scanoption  
for open source software composition analysis (see "Package  
Removed:  
l
Removed the allow_insecure_clients_with_empty_token  
property from the list of Controller properties  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 12 of 111  
Chapter 1: Introduction  
With Fortify ScanCentral SAST, OpenText™ Fortify Static Code Analyzer users can better manage  
their resources by offloading code analysis tasks from their build machines to a distributed network of  
computers (sensors) configured for this purpose. In addition to freeing up build machines, this process  
enables you to add more resources to the scan machines as needed, without having to interrupt the  
build process. The command-line interface enables integration of static analysis with the build process  
and provides the ability to dynamically scale the sensors needed to perform the work required of the  
CI/CD pipelines with respect to running scans.  
There are two ways to start a Fortify Static Code Analyzer analysis of your code from a ScanCentral  
SAST client:  
l
Remote Translation and Scan—Offload the entire analysis to the sensors. Your application must be  
written in a language supported for remote translation. For a list of supported languages, see the  
Fortify Software System Requirements document. If your code is written in a language other than  
those supported in remote translation, then you must perform a local translation and remote scan.  
l
Local Translation and Remote Scan—Perform the translation phase (less processor- and time-  
intensive than the scan phase) on a local or build machine. After the translation is complete, use  
ScanCentral SAST client to move the Fortify Static Code Analyzer mobile build session (MBS) to  
sensors to scan.  
This guide provides information on how to install, configure, and use Fortify ScanCentral SAST to  
streamline your static code analysis process.  
This section contains the following topics:  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 13 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 1: Introduction  
Fortify ScanCentral SAST Components  
The following diagram illustrates a Fortify ScanCentral SAST environment.  
A Fortify ScanCentral SAST deployment includes the following three components:  
Note: The minimum deployment requires three physical or virtual machines: a Fortify  
ScanCentral SAST Controller, a sensor, and a client. An OpenText™ Fortify Software Security  
Center server is optional.  
l
ScanCentral SAST Controller—A standalone web application that receives the Fortify Static Code  
Analyzer mobile build sessions (MBS) and scan instructions from ScanCentral SAST clients (or  
project packages with translation and scan instructions), routes the information to sensors, and  
(optionally) uploads scan results (FPR files) to Fortify Software Security Center. For more detail,  
l
ScanCentral SAST client—A build machine on which Fortify Static Code Analyzer translates code  
and generates Fortify Static Code Analyzer mobile build sessions (MBS). The translated source  
code, along with optional and required data, such as custom rules and Fortify Static Code Analyzer  
command-line options, are uploaded to the ScanCentral SAST Controller. Clients can also generate  
packages for remote translation, independent of Fortify Static Code Analyzer. For more detail, see  
l
ScanCentral SAST sensors—Distributed network of computers set up to receive scan requests  
and analyze code using Fortify Static Code Analyzer. A sensor accepts either a mobile build session  
(MBS) file and performs a scan, or it accepts a project package that contains sources and  
dependencies, which it translates and scans. For more detail, see "About Fortify ScanCentral SAST  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 14 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 1: Introduction  
To scan code, sensors must belong to a sensor pool. A sensor pool consists of one or more sensors,  
grouped based on any criteria, which you can then target for scan requests. Example: You can  
create a sensor pool that consists of machines with a lot of physical memory to use for scan  
requests that require a lot of memory. If you do not specifically add a sensor to a sensor pool, it is  
automatically assigned to the default sensor pool.  
To successfully deploy Fortify ScanCentral SAST, complete the following tasks in the order listed  
here:  
l
(Recommended, but not required) Deploy a (or connect to an existing) Fortify Software Security  
Center instance  
l
Install the Fortify ScanCentral SAST Controller  
l
Install Fortify ScanCentral SAST sensors  
l
Install Fortify ScanCentral SAST clients  
The following sections provide instructions for completing these tasks. For information about  
hardware and software requirements for these components, see the Fortify Software System  
Requirements document.  
Securing Fortify ScanCentral SAST Deployment  
The Fortify Software products collect and display information about an enterprise’s applications. That  
information includes summaries of the potential security vulnerabilities uncovered in the source code.  
Just as you apply security precautions to your applications, you must also secure access to the Fortify  
ScanCentral SAST components. The security vulnerability summaries that OpenText products  
provide might mandate an even higher level of secure deployment.  
Fortify ScanCentral SAST works with your codebase. Because this information allows for some  
opportunities of mishandling or abuse, Fortify recommends that you deploy Fortify ScanCentral SAST  
in a secure operations facility and secure access to the Fortify ScanCentral SAST installation  
directories.  
Securing Tomcat Server  
You must ensure the operational security of Tomcat server. At a minimum, configure Tomcat server  
to use HTTPS in conjunction with an SSL certificate issued by a trusted certificate authority. Fortify  
also recommends that you use only strong cipher suites with Tomcat. Finally, take any additional  
steps necessary to secure Tomcat server in your operating environment.  
Using Secure Cipher Suites  
Fortify recommends that you make weak SSL/TLS cipher suites unavailable in Tomcat in favor of  
more secure suites.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 15 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 1: Introduction  
APR-based SSL Connections  
If you use an APR-based SSL connection, use the SSLCipherSuite directive. For detailed information,  
see the Apache server documentation for Apache Module mod_ssl and Cipher Suites and Enforcing  
Strong Security.  
JSSE-based SSL Connections  
If you use a JSSE-based SSL connection, use the ciphersand the honorCipherOrderattributes.  
For details, see the Apache Tomcat 10 Configuration Reference. Because of trade-offs between  
improved security and improved interoperability, better performance, and so on, there is no correct  
cipher suite choice. However, Apache provides information that can help you choose one (see the  
Apache Tomcat wiki space).  
Optional Kubernetes and Docker Deployment  
This guide describes how to install Fortify ScanCentral SAST without using a Kubernetes cluster or  
Docker. To use Kubernetes for ScanCentral SAST container orchestration, Helm charts are available  
OpenText provides Fortify ScanCentral SAST Docker images that are available for download the  
Docker Hub. Access to the Fortify Docker repository requires credentials and is granted through your  
Docker ID. To access the Fortify Docker repository, email your Docker ID to mfi-  
Related Documents  
This topic describes documents that provide information about Fortify software products.  
Note: You can find the Fortify Product Documentation at  
https://www.microfocus.com/support/documentation. Most guides are available in both PDF and  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 16 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 1: Introduction  
All Products  
The following documents provide general information for all products. Unless otherwise noted, these  
documents are available on the Product Documentation website.  
Document / File Name  
Description  
About Fortify Software  
Documentation  
This paper provides information about how to access  
Fortify product documentation.  
About_Fortify_Docs_<version>.pdf  
Note: This document is included only with the  
product download.  
Fortify Software System  
Requirements  
This document provides the details about the  
environments and products supported for this version of  
Fortify Software.  
Fortify_Sys_Reqs_<version>.pdf  
Fortify Software Release Notes  
This document provides an overview of the changes made  
to Fortify Software for this release and important  
information not included elsewhere in the product  
documentation.  
FortifySW_RN_<version>.pdf  
What’s New in Fortify Software  
<version>  
This document describes the new features in Fortify  
Software products.  
Fortify_Whats_New_<version>.pdf  
Fortify Software Security Center  
The following document provides information about Fortify Software Security Center. This document  
is available on the Product Documentation website at  
Document / File Name  
Description  
OpenText™ Fortify Software  
Security Center User Guide  
This document provides Fortify Software Security Center  
users with detailed information about how to deploy and use  
Fortify Software Security Center. It provides all of the  
information you need to acquire, install, configure, and use  
Fortify Software Security Center.  
SSC_Guide_<version>.pdf  
It is intended for use by system and instance administrators,  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 17 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 1: Introduction  
Document / File Name  
Description  
database administrators (DBAs), enterprise security leads,  
development team managers, and developers. Fortify  
Software Security Center provides security team leads with a  
high-level overview of the history and current status of a  
project.  
Fortify Static Code Analyzer  
The following documents provide information about Fortify Static Code Analyzer. Unless otherwise  
noted, these documents are available on the Product Documentation website at  
Document / File Name  
Description  
OpenText™ Fortify Static Code  
Analyzer User Guide  
This document describes how to install and use Fortify  
Static Code Analyzer to scan code on many of the major  
programming platforms. It is intended for people  
responsible for security audits and secure coding.  
SCA_Guide_<version>.pdf  
OpenText™ Fortify Static Code  
Analyzer Custom Rules Guide  
This document provides the information that you need to  
create custom rules for Fortify Static Code Analyzer. This  
guide includes examples that apply rule-writing concepts  
to real-world security issues.  
SCA_Cust_Rules_Guide_<version>.zip  
Note: This document is included only with the  
product download.  
OpenText™ Fortify License and  
Infrastructure Manager Installation  
and Usage Guide  
This document describes how to install, configure, and use  
the Fortify License and Infrastructure Manager (LIM),  
which is available for installation on a local Windows  
server and as a container image on the Docker platform.  
LIM_Guide_<version>.pdf  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 18 of 111  
Chapter 2: About the Fortify ScanCentral  
SAST Controller  
The Fortify ScanCentral SAST Controller (Controller) is a standalone server that sits between the  
Fortify ScanCentral SAST clients, sensors, and optionally, Fortify Software Security Center. The  
Controller accepts scan requests issued by ScanCentral SAST clients and assigns them to an available  
sensor. A sensor returns scan results to the Controller, which stores them temporarily.  
This section contains the following topics:  
Installing the Controller  
For information about how to upgrade your Controller, see "Upgrading Fortify ScanCentral SAST  
Important!  
l
Before you install the Controller, you must first download and configure a supported Java  
Runtime Environment (JRE). For information about supported JRE versions, see the Fortify  
Software System Requirements document. For information about how to download and  
configure a JRE, see the documentation for the supported JRE version.  
l
To install the Controller as a Windows or Linux service, make sure that you extract the  
contents in a directory where the local service (Windows) or the user or group using the service  
(Linux) has access.  
l
The name of the directory into which you install the Controller must not include spaces.  
To install the Controller (on a Windows or Linux system):  
l
Extract the contents of the Fortify_ScanCentral_Controller_<version>_x64.zipfile into  
a directory of your choosing.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 19 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
In this guide, <controller_install_dir> refers to the Controller installation directory and <sca_  
install_dir> refers to the Fortify Static Code Analyzer installation directory.  
After you install the Controller, the <controller_install_dir> resembles the following:  
bin/  
db-migrate/  
tomcat/  
readme.txt  
Installing the Controller as a Windows Service  
To install the Controller as a service on a Windows machine without other Tomcat instances running:  
1. Log on to Windows as a local user with administrator permissions.  
2.  
3.  
Make sure that the JRE_HOMEand JAVA_HOMEenvironment variables are correctly configured.  
Make sure that the CATALINA_HOMEenvironment variable is either empty or set up to point to  
the <controller_install_dir>\tomcatdirectory.  
4.  
Navigate to the <controller_install_dir>\tomcat\bindirectory, and then run the  
following:  
service.bat install  
This creates a service with the name Tomcat10.  
To install the Controller as a service with a different name:  
1.  
2.  
Make sure that the JRE_HOMEand JAVA_HOMEenvironment variables are correctly configured.  
Make sure that the CATALINA_HOMEenvironment variable is either empty or set up to point to  
the <controller_install_dir>\tomcatdirectory.  
3.  
Navigate to the <controller_install_dir>\tomcat\bindirectory, and then run the  
following:  
service.bat install <service_name>  
Important! The service name must not contain any spaces.  
Configuring Java Memory for the Service  
To configure the Java memory for the Controller service:  
1.  
Run tomcat10w.exe.  
2. In the Apache Tomcat Properties window, click the Java tab, and then set the Maximum  
memory pool value.  
3. Restart the service.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 20 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
Uninstalling the Controller Windows Service  
To uninstall the Apache Tomcat 10 service for the Controller:  
1. Stop the service.  
2.  
Navigate to the <controller_install_dir>/tomcat/bindirectory, and then run the  
following command:  
service.bat remove  
To uninstall the Controller as a service with a name other than Tomcat10:  
1. Stop the service.  
2.  
Navigate to the <controller_install_dir>/tomcat/bindirectory, and then run the  
following command:  
service.bat remove <service_name>  
Installing the Controller as a Service on Linux  
You can install the Fortify ScanCentral SAST Controller as a service on Linux. The instructions in this  
topic provide an example of one method of installing the Controller as a service.  
To install the Controller as a service on a Linux system:  
1. Install the Controller in a location where the user and group using the service has access.  
For installation instructions, see "Installing the Controller" on page 19.  
2.  
Configure the Controller service by creating a systemd unit file scancentral.servicein the  
/etc/systemd/systemdirectory with the following content.  
In the following content, replace <controller_install_dir> with the directory where you installed  
the Controller in step 1. Replace <path_to_jre> with the location of your JRE.  
[Unit]  
Description=ScanCentral SAST Controller Service  
After=syslog.target network.target  
[Service]  
Type=forking  
#User to run ScanCentral SAST Controller. If commented out, the root user is used.  
#User=sc_user  
#Group to run ScanCentral SAST Controller. If commented out, the root group is used.  
#Group=sc_user  
#Specify the location of JRE  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 21 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
Environment=JAVA_HOME=<path_to_jre>  
Environment=CATALINA_PID=<controller_install_dir>/tomcat/temp/tomcat.pid  
Environment=CATALINA_HOME=<controller_install_dir>/tomcat  
Environment=CATALINA_BASE=<controller_install_dir>/tomcat  
#Uncomment and specify CATALINA_OPTS if needed  
#Environment=CATALINA_OPTS=  
#Uncomment and specify JAVA_OPTS if needed  
#Environment=JAVA_OPTS=  
ExecStart=<controller_install_dir>/tomcat/bin/startup.sh  
ExecStop=/bin/kill -15 $MAINPID  
[Install]  
WantedBy=multi-user.target  
3. Reload the daemon to discover and load the new service file:  
systemctl daemon-reload  
4. Enable the service to start on startup by running the following command:  
systemctl enable scancentral.service  
See Also  
Managing the Controller Service on Linux  
To manage the Fortify ScanCentral SAST Controller service, run the following command:  
service scancentral [start | stop | restart | status]  
or you can use Systemd directly:  
systemctl [start | stop | restart | status] scancentral  
See Also  
Specifying the Controller URL  
In this guide, <controller_url> refers to a correctly formatted Fortify ScanCentral SAST URL. The  
correct format for the Controller URL is as follows:  
<protocol>://<controller_host>:<port>/scancentral-ctrl  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 22 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
Securing the Controller  
This topic describes how to create a secure connection (HTTPS) between the Fortify ScanCentral  
SAST Controller/Tomcat server and the Fortify ScanCentral SAST client. This procedure requires  
either a self-signed certificate or a certificate signed by a certificate authority such as VeriSign.  
Note: These instructions describe a third-party product and might not match the specific,  
supported version you are using. See your product documentation for the instructions for your  
version.  
Creating a Secure Connection Using Self-Signed Certificates  
To enable SSL on Tomcat using a self-signed certificate:  
1. To generate a keystore that contains a self-signed certificate, open a command prompt and run  
the following Java keytool command:  
keytool -genkey -alias <alias_name> -keyalg RSA -keystore <mykeystore>  
2. Provide values for the prompts as described in the following table.  
Prompt  
Description  
Enter keystore  
password:  
Type a secure password.  
Re-enter new password: Re-type your secure password.  
What is your first and  
last name?  
Type your hostname. You can use your fully-qualified domain name  
here.  
Note: To provide an IP address as the hostname, you must also  
provide the -ext san=ip:<ip_address> option to keytool.  
Without this additional option, the SSL handshake fails.  
What is the name of  
your organizational  
unit?  
Name to identify the group that is to use the certificate.  
What is the name of  
your organization?  
Name of your organization.  
What is the name of  
City or locality in which your organization is located.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 23 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
Prompt  
Description  
your City or Locality?  
What is the name of  
State or province in which your organization is located.  
your State or Province?  
What is the two-letter  
country code for this  
unit?  
For example, if your server is located in the United States, type US.  
Confirm your entries:  
Type yesto confirm your entries.  
Enter key password for Password for your Tomcat server key or press Enter to use the  
<tomcat><Return if  
same as keystore  
password>:  
same password you established for your keystore. Fortify  
recommends that you create a new key password.  
Re-enter new password: Re-type your key password.  
3. To export the certificate from the Tomcat keystore, open a command prompt and type the  
following:  
keytool -export -alias <alias_name> -keystore <mykeystore> -file  
"YourCertFile.cer"  
4.  
Add the following connector to the server.xmlfile in the tomcat/confdirectory:  
<Connector port="8443" maxThreads="200"  
scheme="https" secure="true" SSLEnabled="true"  
keystoreFile="<mykeystore>" keystorePass="<mypassword>"  
clientAuth="false" sslProtocol="TLS"/>  
Note: The default server.xmlfile installed with Tomcat includes an example <Connector>  
element for an SSL connector.  
5.  
6.  
Navigate to <controller_install_dir>/tomcat/webapps/scancentral-ctrl/WEB-  
INF/classes/, and open the config.propertiesfile in a text editor:  
Update the this_urlproperty with your HTTPS address and port as shown in the following  
example:  
this_url=https://<controller_host>:8443/scancentral-ctrl  
7. Restart your Tomcat server.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 24 of 111  
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
8. Set up your clients and sensors. For information about how to set up the Fortify ScanCentral  
respectively.  
9. Add your self-signed certificate to the Java keystore on all entities that communicate with the  
Controller (includes all clients, sensors, and Fortify Software Security Center installations) as  
follows:  
a.  
For Fortify ScanCentral SAST embedded clients and sensors, navigate to the <sca_  
install_dir>/jre/bindirectory where <sca_install_dir> is the directory where the  
sensor or client is installed.  
b. For an installation of standalone Fortify ScanCentral SAST clients, type one of the following  
commands:  
o
On a Windows system: cd %JAVA_HOME%\jre\bin  
o
On a Linux system: cd $JAVA_HOME/jre/bin  
c. Run the following command:  
keytool -importcert -alias <aliasName> -keystore  
../lib/security/cacerts -file "YourCertFile.cer" –trustcacerts  
where YourCertFile.ceris the same certificate file that you exported in step 3.  
Creating a Secure Connection Using a Certificate Signed by a  
Certificate Signing Authority  
To enable SSL on Tomcat using a certificate signed by a certificate signing authority:  
1. Use the Java keytool to generate a new keystore containing a self-signed certificate:  
keytool -genkey -alias <alias_name> -keyalg RSA -keystore <mykeystore>  
2. The keytool prompts you for the information described in the following table.  
Prompt  
Description  
Enter keystore password:  
Re-enter new password:  
Type a secure password.  
Re-enter your secure password.  
What is your first and last  
name?  
Type your hostname. You can use your fully qualified domain  
name here.  
Note: To enter an IP address as the hostname, you must  
also pass an additional option to keytool, -ext  
san=ip:<ip_address>. Without this additional option,  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 25 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
Prompt  
Description  
the SSL handshake fails.  
What is the name of your  
organizational unit?  
Type the name of the group that is to use the certificate.  
What is the name of your  
organization?  
Type the name of your organization.  
What is the name of your City Type the city or locality.  
or Locality?  
What is the name of your  
State or Province?  
Type the state or province.  
What is the two-letter  
country code for this unit?  
If your server is located in the United States, type US.  
Type yesto confirm your entries.  
Confirm your entries:  
Enter key password for  
Type a password for your Tomcat server key, or press Return  
to use the same password you established for your keystore.  
Fortify recommends that you create a new password.  
<tomcat><Return if  
same as keystore  
password>:  
Re-enter new password:  
Re-type your key password.  
3. Generate a Certificate Signing Request (CSR).  
To obtain a certificate from a certificate signing authority, you must generate a Certificate  
Signing Request (CSR). The certificate authority uses the CSR to create the certificate. Create the  
CSR as follows:  
keytool -certreq -alias <alias_name> -keyalg RSA -file  
"yourCSRname.csr" -keystore "<mykeystore>"  
4. Send the CSR file to the certificate signing authority you have chosen.  
5. After you receive your certificate from the certificate signing authority, import it into the  
keystore that you created, as follows:  
keytool -importcert -alias <alias_name> -trustcacerts -file  
"YourVerisignCert.crt" -keystore "<mykeystore>"  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 26 of 111  
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
The root CA already exists in the cacertsfile of your JDK, so you are just installing the  
intermediate CA for your certificate signing authority.  
Note: If you purchased your certificate from VeriSign, you must first import the chain  
certificate. You can find the specific chain certificate on the VeriSign website or click the link  
for the chain certificate in the email you received from VeriSign with your certificate.  
keytool -importcert -alias IntermediateCA -trustcacerts -file  
"chainCert.crt" -keystore "<mykeystore>"  
6.  
Add the following Connector element to the server.xmlfile in the tomcat/configdirectory:  
<Connector port="8443" maxThreads="200"  
scheme="https" secure="true" SSLEnabled="true"  
keystoreFile="<mykeystore>" keystorePass="<mypassword>"  
clientAuth="false" sslProtocol="TLS"/>  
Note: The default server.xmlfile installed with Tomcat includes an example <connector>  
element for an SSL connector.  
7. Restart Tomcat server.  
8.  
Navigate to <controller_install_dir>/tomcat/webapps/scancentral-ctrl/WEB-  
INF/classes, and then open the config.propertiesin a text editor:  
9.  
Update the this_urlproperty with your HTTPS address and port as shown in the following  
example:  
this_url=https://<controller_host>:8443/scancentral-ctrl  
Configuring the Controller  
After you install the Fortify ScanCentral SAST Controller, edit global properties such as the email  
address to use, the shared secret for the Controller (password that Fortify Software Security Center  
uses when it requests data from the Controller), the shared secret for clients, and the Fortify Software  
Security Center URL.  
Caution! To avoid potential conflicts, Fortify recommends that you run the Controller on a  
Tomcat server instance other than the instance that Fortify Software Security Center uses.  
To configure the Controller:  
1.  
Navigate to <controller_install_dir>/tomcat/webapps/scancentral-ctrl/WEB-  
INF/classes/.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 27 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
2.  
Open the config.propertiesfile in a text editor, and then configure the properties listed in  
the following table.  
Property  
Description  
Determines whether to accept scan requests if no compatible sensors (or  
accept_job_  
when_no_  
sensor_  
compatible versions) are available. The default value is true. Also see  
available  
In the following examples, the property is set to false:  
l
If a version 23.2 client submits a scan request, and only version 24.2  
sensors are available, the scan request is rejected.  
l
If a client submits a request to scan a .NET application and no .NET  
sensors are available, the scan request is rejected.  
Specifies the frequency (in minutes) with which expired jobs and sensors  
cleanup_  
period  
are cleaned up. The default is 60.  
Specifies a client authentication token string that contains no spaces or  
backslashes to secure the Controller for use by authorized clients only. If  
you prefer not to use plain text, you can use an encrypted shared secret  
as the value for this property. For instructions on how to encrypt a shared  
client_auth_  
token  
client_auto_  
update  
If set to true, the Controller automatically updates all outdated sensors  
and clients. For details, see "Enabling Automatic Updates of Clients and  
Specifies the location of the directory that contains Fortify ScanCentral  
SAST client ZIP files. To enable remote upgrades of one or more client  
client_zip_  
location  
versions, place them in this directory. The default value is client_zip_  
location=${catalina.base}/client.  
Fortify ScanCentral SAST database home directory. The default value is  
db_dir  
${catalina.base}/cloudCtrlDb.  
Specifies the job storage directory. The default value  
job_file_dir  
from_email  
is: ${catalina.base}/jobFiles.  
Specifies the email address of the sender.  
Specifies the list of email domains to which the Controller can send  
notifications.  
email_allow_  
list  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 28 of 111  
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
Property  
Description  
Examples of valid values for this property:  
*@yourcompanyname.com  
*@*yourcompanyname.com  
a*@yourcompanyname.com  
To specify multiple values, use commas (,), colons (:), or semicolons (;) as  
delimiters.  
Specifies the list of email domains to which the Controller cannot send  
notifications.  
email_deny_  
list  
Examples of valid values for this property:  
*@yourcompanyname.com  
*@*yourcompanyname.com  
a*@yourcompanyname.com  
To specify multiple values, use commas (,), colons (:), or semicolons (;) as  
delimiters.  
fail_job_if_  
ssc_upload_  
data_invalid  
If set to true, then before the Controller creates a scan job and assigns it  
to a sensor, it verifies that the following requirements are true:  
l
The token has not expired  
If the token expires before the Controller assigns the scan job to a  
sensor, the scan does not run and the job fails.  
l
The application version exists in Fortify Software Security Center and  
is active  
The default value for this property is false.  
Specifies the number of hours after a job finishes that the job becomes a  
candidate for cleanup.  
job_expiry_  
delay  
Cleanup removes the job directory, removes jobs from the database, and  
removes information about expired sensors from the database so that  
they are no longer displayed in Fortify Software Security Center. By  
default, jobs are deleted from the Controller after 168 hours (or 7 days).  
Specifies the URL for the OpenText™ Fortify License and Infrastructure  
lim_server_  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 29 of 111  
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
Property  
Description  
Manager (LIM) server website.  
Specifies the name of the LIM license pool.  
url  
lim_license_  
pool  
Specifies the password for the LIM license pool.  
lim_license_  
pool_password  
You can either use a plain text password, or use the pwtool_keys_file  
property to encrypt this password. For information about how to encrypt  
Specifies the proxy server to access the LIM server if the sensor is behind  
a proxy.  
lim_proxy_url  
Specifies the LIM proxy username if authentication is required for the LIM  
proxy server. For information about how to encrypt user names and  
lim_proxy_  
user  
Specifies the password for the LIM proxy user.  
lim_proxy_  
password  
You can either use a plain text password, or use the pwtool_keys_file  
property to encrypt this password. For information about how to encrypt  
Specifies the maximum size (in megabytes) of files that can be uploaded  
to the Controller from clients or sensors (for example, log files, result files,  
and job files).  
max_upload_  
size  
Configures the mode for mapping scan requests to sensor pools. For  
pool_mapping_  
mode  
information about the valid values for pool_mapping_mode, see "About  
Specifies the path to a file with pwtool keys. If encrypted passwords are  
used, this must specify a file with the pwtool keys used to encrypt the  
passwords.  
pwtool_keys_  
file  
Specifies the maximum amount of time (in minutes) that sensors can  
process a scan job and be prevented from doing other jobs. After the  
specified time has passed, a scan job is canceled.  
scan_timeout  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 30 of 111  
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
Property  
Description  
This setting applies to all sensors associated with the Controller but can  
be overridden with the --scan-timeoutcommand-line option for a  
specific job or a specific sensor (see "Setting the Maximum Run Time for  
Specifies the version (year.quarter portion only) of the sensor to which  
the Controller assigns scan jobs for remote translation and scan. For  
example, if this property is set to 24.2, then scan requests from 23.1, 23.2,  
or 24.2 version clients are assigned to a 24.2 version sensor.  
sensor_  
version_for_  
all_jobs  
If the ScanCentral SAST client version is later than the sensor version  
specified in this property, then the Controller assigns jobs to the sensor  
version that matches the client version. For example, if this property is set  
to 23.2, a scan request from a 24.2 version client is assigned to a 24.2  
sensor.  
If this property is not set (default), remote translation and scan jobs are  
assigned to a sensor with the same version as the ScanCentral SAST  
client.  
smtp_auth_  
user  
If your SMTP server requires authentication, uncomment both the smtp_  
auth_userand smtp_auth_passproperties and set their values.  
smtp_auth_  
pass  
You can either use a plain text password, or use the pwtool_keys_file  
property to encrypt the password for smtp_auth_pass. For information  
about how to encrypt this password, see "Encrypting the Shared Secret on  
Specifies the SMTP server host name.  
Specifies the SMTP server port number.  
smtp_host  
smtp_port  
smtp_ssl  
If set to true, the Controller uses SSL for connections to the SMTP server.  
By default, the Controller does not use SSL.  
smtp_ssl_  
If set to false, the SMTP server certificate is always trusted. Otherwise,  
check_trust  
the certificate trust is based on the certification path (the default)  
smtp_ssl_  
If set to false, the SMTP server identity is not checked. Otherwise, the  
check_server_ Controller checks server identity as specified by RFC 2595 (the default).  
identity  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 31 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
Property  
Description  
use_starttls  
If set to true, uses the STARTTLS protocol command (Opportunistic  
SSL/TLS) to inform the SMTP server that the email client wants to  
upgrade from an insecure connection to a secure connection using  
SSL/TLS. The default is false.  
ssc_lockdown_ If set to true, ScanCentral SAST clients must work with the Fortify  
mode  
ScanCentral SAST Controller through Fortify Software Security Center.  
Jobs must be uploaded to an application version and users cannot  
manually assign scans to specific sensor pools.  
In SSC lockdown mode, you:  
l
Cannot use the client command -urloption, but must use the -  
sscurloption with the -ssctokenoption instead  
l
Must specify the application name and version, or the application  
version ID, and the -uploadoption when starting the scan  
l
Cannot use the -pooloption, because the job is automatically  
assigned to the pool configured for the specified application version  
Specifies the remote IP address.  
ssc_remote_ip  
You can configure an allowed remote IP address for Fortify Software  
Security Center. Only requests with a matching remote IP address are  
allowed.  
Specifies the remote IP HTTP header, where the Fortify Software Security  
ssc_remote_  
ip_header  
Center remote IP is found if ssc_remote_ip_trusted_proxies_range  
is set.  
The default value is X-FORWARDED-FOR.  
Specifies the remote IP range (in CIDR format).  
ssc_remote_  
ip_trusted_  
proxies_range  
Set this property if Fortify Software Security Center accesses the  
Controller using a (reverse) proxy server. You can specify comma-  
separated IP addresses or CIDR network ranges.  
This is unavailable by default, which means that ssc_remote_ip_  
headeris never used to retrieve the remote IP address for Fortify  
Software Security Center.  
Specifies the Fortify Software Security Center connection timeout (in  
ssc_restapi_  
connect_  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 32 of 111  
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
Property  
Description  
timeout  
milliseconds). The default is 10000. You can use this, and the ssc_  
restapi_read_timeoutproperty to resolve timeout errors.  
Specifies the Fortify Software Security Center connection read timeout (in  
ssc_restapi_  
read_timeout  
milliseconds). The default value is 130000. You can use this property and  
the ssc_restapi_connect_timeoutproperty to resolve timeout errors.  
Specifies the password that Fortify Software Security Center uses to  
request data from the Controller. Use a string that contains no spaces or  
backslashes.  
ssc_  
scancentral_  
ctrl_secret  
(Optional) Use an encrypted shared secret. For instructions on how to  
encrypt a shared secret, see "Encrypting the Shared Secret on the  
Specifies the URL for the Fortify Software Security Center server; all  
uploads are sent to this address. Examples:  
ssc_url  
https://<ssc_host>:<port>/ssc  
https://<ssc_host>:<port>/<context_path>  
replace_  
duplicate_  
scans  
If set to true, ScanCentral SAST replaces a pending scan request with a  
newer scan request if it is a duplicate. A duplicate scan request occurs if  
you have more than one scan request that uploads scan results to the  
same application version in Fortify Software Security Center. The  
Controller places the new scan request in the same queue position as the  
one it replaced. Any existing duplicate scan requests in the pending state  
are automatically canceled. The scan requests are run sequentially to  
maintain the submission order. This is typically useful if you submit  
ScanCentral SAST scans with upload as part of your build process, which  
might cause a large queue of unnecessary scan requests that can cause  
delays for the sensors to process. The default value for this property is  
false.  
You can override the replacement of duplicate scan requests for specific  
scans. For more information, see "Preventing Replacement of Duplicate  
Specifies the maximum number of times the Controller can retry to upload  
ssc_upload_  
retry_count  
scan results after an upload fails. The default value is 5. For more  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 33 of 111  
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
Property  
Description  
Specifies the amount of time (in seconds) the Controller waits after a  
failed upload before it tries again. The default is 120 seconds (or 2  
minutes). For more information, see "Retrying Failed Uploads to Fortify  
ssc_upload_  
retry_  
interval  
Specifies the user name for access to the Fortify ScanCentral  
SAST API documentation. For information about how to encrypt this  
swagger_  
username  
Specifies the password for access to the Fortify ScanCentral  
SAST API documentation.  
swagger_  
password  
You can either use a plain text password, or use the pwtool_keys_file  
property to encrypt this password. For information about how to encrypt  
Specifies the URL for the Controller; used in emails to refer to this server  
for manual job result downloads. Example:  
this_url  
https://<controller_host>:8443/scancentral-ctrl  
Specifies a string that contains no spaces or backslashes used to secure  
the Controller for use by authorized sensors only. If you prefer not to use  
plain text, you can use an encrypted shared secret as the value for this  
property. For instructions on how to encrypt this value, see "Encrypting  
worker_auth_  
token  
Specifies the number of hours after a sensor stops communicating that it  
becomes a candidate for cleanup. The default is 168 hours (or 7 days).  
worker_  
expiry_delay  
Specifies the number of minutes after a sensor becomes inactive that all  
of its unfinished jobs are marked as faulted. Assign a value that is much  
worker_  
inactive_  
delay  
larger than worker_stale_delay. Note that this property uses different  
time units than does worker_stale_delay.  
Specifies the number of seconds after a sensor stops communicating that  
worker_stale_  
delay  
it becomes stale. Assign a value that is larger than the worker_sleep_  
intervaland worker_jobwatcher_intervaldefined for any sensor.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 34 of 111  
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
3.  
Save and close your config.propertiesfile.  
4. Start the Controller.  
For instructions, see "Starting the Controller" on page 38.  
See Also  
About Scan Assignments to Sensors  
The Fortify ScanCentral SAST Controller accepts scan requests and assigns them a sensor of the  
same version. For example, if a 23.1.0 client submits a scan request, the Controller can assign the job  
to a version 23.1.0, 23.1.1, or 23.1.2 sensor unless a specific sensor version is provided with the  
sensor_version_for_all_jobsproperty (see "Configuring the Controller" on page 27).  
About the pool_mapping_mode Property  
The pool_mapping_modeproperty in the config.propertiesfile determines how the Controller  
maps scan requests to sensor pools. Valid values for the pool_mapping_modeproperty are:  
l
disabled— In this mode, a Fortify ScanCentral SAST client requests a specific sensor pool when it  
submits a scan request. Otherwise, the default pool is used. For details, see the following table.  
l
enabled— In this mode, if a scan request is associated with an application version in Fortify  
Software Security Center, the Controller queries Fortify Software Security Center to determine the  
sensor pool assigned to the application version. Alternatively, a client can request a specific sensor  
pool when it submits a scan request. A client request for a specific sensor pool takes precedence  
over a query from the Controller.  
Note: Sensors in the default sensor pool run scan requests that are not associated with an  
application version (and no specific pool is requested on the Fortify ScanCentral SAST client  
command line).  
l
enforced—As with the enabled mode, if a scan request is associated with an application version in  
Fortify Software Security Center, the Controller queries Fortify Software Security Center for the  
sensor pool to use for the application version. Otherwise, the Controller targets the default sensor  
pool for scan requests. A ScanCentral SAST client cannot request a specific sensor pool in the  
enforced mode.  
If ssc_lockdown_modeis enabled, then the pool_mapping_modeis automatically set to enforced  
and the value set for pool_mapping_modein the config.propertiesfile is ignored.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 35 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
The following table shows how the Fortify Software Security Center integration with Fortify  
ScanCentral SAST responds to different input when the pool_mapping_modeis set to disabled,  
enabled, or enforced.  
Note: By default, in enabled and enforced modes, all application versions are assigned to the  
default sensor pool.  
Input  
Disabled  
Enabled  
Enforced  
No pool or version specified  
Default sensor  
pool  
Default sensor  
pool  
Default  
sensor pool  
Specific sensor pool (only) specified  
Application version (only) specified  
Requested  
sensor pool  
Requested  
sensor pool  
Denied  
Default sensor  
pool  
SSC-assigned  
pool  
SSC-assigned  
pool  
Invalid sensor pool (only) specified  
Denied  
Denied  
Denied  
Denied  
Denied  
Denied  
Denied  
Invalid application version (only) specified  
Valid sensor pool and application version  
specified  
Requested  
sensor pool  
Requested  
sensor pool  
Invalid sensor pool and valid application  
version specified  
Denied  
Denied  
Denied  
Denied  
Valid sensor pool but invalid application  
version specified  
Denied  
Denied  
See Also  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 36 of 111  
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
Encrypting the Shared Secret on the Controller  
Passwords exist in the ScanCentral Controller configuration file as plain text. You can encrypt the  
passwords and other values. You can use encrypted keys as values for the following properties:  
l
client_auth_token  
l
lim_license_pool_password  
l
lim_proxy_password  
l
lim_proxy_user  
l
smtp_auth_pass  
l
ssc_scancentral_ctrl_secret  
l
swagger_password  
l
swagger_username  
l
worker_auth_token  
To encrypt a shared secret on the Controller:  
1. At the command prompt, type the following:  
<controller_install_dir>/bin/pwtool <pwtool_keys_file>  
2. When prompted, type the password to encode, and then press Enter.  
Note: For the sake of security, make sure that the pwtool key file you use to encrypt secrets  
for sensors is different from the pwtool key file you use to encrypt secrets on the Controller.  
The pwtool generates a new key stored in the file on the path specified in step 1, or reuses an  
existing file on the specified path.  
3. Copy the new encrypted secret, and paste it as the value for one of the following properties in  
the config.propertiesfile:  
client_auth_token, lim_license_pool_password, lim_proxy_password, lim_proxy_  
user, smtp_auth_pass, ssc_scancentral_ctrl_secret, swagger_password, swagger_  
username, worker_auth_token  
Tip: Fortify recommends that you assign separate, unique shared secrets for the client_  
auth_token, smtp_auth_pass, ssc_scancentral_ctrl_secret, and worker_auth_  
tokenproperties.  
4.  
Create additional encrypted shared secrets (steps 1 and 2) and, in the config.propertiesfile,  
paste these as values for the two properties to which you did not already assign an encrypted  
secret in step 3.  
5.  
6.  
Uncomment the following property in the config.propertiesfile:  
pwtool_keys_file=<pwtool_keys_file>  
Save and close the config.propertiesfile.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 37 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
See Also  
Avoiding Read Timeout Errors  
To avoid read timeout errors that can occur during attempts to upload large log files, you can  
configure the connection timeout between the Controller and Fortify Software Security Center,  
between the Controller and sensors, and between the Controller and clients.  
To configure the connection timeout between the Controller and Fortify Software Security Center:  
1.  
On the Controller, navigate to <controller_install_  
dir>/tomcat/webapps/scancentral-ctrl/WEB-INF/classes/and open the  
config.propertiesfile in a text editor.  
2.  
Increase the value of the restapi_connect_timeoutand restapi_read_timeoutproperties  
to an acceptable threshold (in milliseconds).  
3. Save the changes.  
To configure the connection timeout between the Controller and a sensor:  
1.  
2.  
On the sensor machine, navigate to the <sca_install_dir>/Core/configdirectory and open  
the worker.propertiesfile in a text editor.  
Uncomment the restapi_connect_timeoutand restapi_read_timeoutproperties, and set  
the value of each to an acceptable threshold (in milliseconds).  
3. Save the changes.  
To configure the connection timeout between the Controller and a client:  
1.  
2.  
On the client machine, navigate to the <client_install_dir>/Core/configdirectory and  
open the client.propertiesfile in a text editor.  
Uncomment the restapi_connect_timeoutand restapi_read_timeoutproperties, and set  
the value of each to an acceptable threshold (in milliseconds).  
3. Save the changes.  
Starting the Controller  
You can start the Fortify ScanCentral SAST Controller manually or set it to start automatically, as a  
service. For information about how to start the Controller automatically, see "Installing the Controller  
To start the Controller manually:  
1. If you plan to upload your scan results to Fortify Software Security Center, make sure that the  
Fortify Software Security Center instance is running.  
2.  
On the machine that hosts the Controller, navigate to the tomcat/bindirectory:  
3. At the command prompt, run one of the following commands:  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 38 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
l
On a Windows system, run startup.bat.  
l
On a Linux system, run ./startup.sh.  
If Tomcat is running as a service, rather than running the startup command, you can just start the  
service.  
See Also  
Placing the Controller in Maintenance Mode  
An abrupt shutdown of the Fortify ScanCentral SAST Controller can result in the loss of scans already  
started on sensors. To prevent this from happening, place your Controller in maintenance mode. After  
you do, the Controller accepts no new job requests from clients and assigns no queued jobs to  
sensors.  
After the Controller is placed in maintenance mode, sensors complete the scans they are currently  
running, but accept no new scans. After the Controller is back up and running, the sensors again  
become available.  
Tip: If the Controller is in maintenance mode, you can manually shut down any sensor that is not  
running a scan.  
Important! To place the Controller in maintenance mode, the Controller must be version 21.2.0  
or later.  
1. Log on to Fortify Software Security Center as an administrator and open the Fortify ScanCentral  
SAST page.  
2. In the left pane of the SAST page, select Controller.  
3. Click START MAINTENANCE MODE.  
The Controller receives the maintenance request from Fortify Software Security Center and, if any  
sensors are running scans, the Controller mode changes from ACTIVE to WAITING_FOR_JOB_  
COMPLETED. If no job is being processed, the mode changes directly from ACTIVE to  
MAINTENANCE. At this point, you can safely shut down the Controller.  
See Also  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 39 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
Removing the Controller from Maintenance Mode  
To remove the Fortify ScanCentral SAST Controller from maintenance mode:  
1. Log on to Fortify Software Security Center as an administrator and open the Fortify ScanCentral  
SAST page.  
2. In the left pane of the SAST page, select Controller.  
3. Click END MAINTENANCE MODE.  
See Also  
Stopping the Controller  
You can stop the Controller immediately using the following procedure. However, Fortify strongly  
recommends that you first place the Controller in maintenance mode to preserve any scans that are  
running.  
To stop the Fortify ScanCentral SAST Controller:  
1.  
On the machine where the Controller is installed, navigate to the Tomcat bindirectory:  
2. Type one of the following commands:  
l
On a Windows system: shutdown.bat  
l
On a Linux system: ./shutdown.sh  
See Also  
Fortify ScanCentral SAST API  
The Fortify ScanCentral SAST provides a RESTful API that enables you perform tasks described in the  
following table. The tasks are grouped by the grouping in the API Documentation (Swagger UI).  
Tasks you can perform  
Request Group  
Retrieve the scan requests from the Controller, report job status, and upload  
artifacts  
sensor-controller  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 40 of 111  
 
 
 
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
Tasks you can perform  
Request Group  
job-controller  
info-controller  
Work with scan jobs such as running a new scan or canceling a job  
Get information from the Controller such as the Fortify Software Security  
Center URL  
Check for client or sensor updates  
update-controller  
core-controller  
Check to see if the Controller is running  
To use the Fortify ScanCentral SAST API, your application makes an HTTP request and parses the  
response. The Fortify ScanCentral SAST API uses JSON and XML as its communication format and  
the standard HTTP methods of GET, POST, and DELETE. URIs have the following structure:  
<protocol>://<controller_url>/rest/<api-version>/<endpoint>  
The following is an example cURL:  
curl -X 'GET' \  
4c76-8e0b-86dfb4f40c9c/status' \  
-H 'accept: */*' \  
-H 'fortify-client: my_secret'  
Authentication  
Authenticate your API request with a Fortify ScanCentral SAST authentication token. Use the value of  
the client_auth_tokenor the worker_auth_tokenfrom the config.propertiesfile for the  
Controller depending on the request. Set the same authentication token in the fortify-client  
header that is set for the client_auth_token. Similarly, set the same authentication token in the  
fortify-workerheader that is set for worker_auth_token. The following table lists which  
authentication token is used for each request group.  
Authentication token  
Request Group  
sensor-controller  
job-controller  
client_auth_token worker_auth_token  
x
x
info-controller  
update-controller  
core-controller  
x
x
x
x
x
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 41 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 2: About the Fortify ScanCentral SAST Controller  
Accessing the Fortify ScanCentral SAST API Documentation  
(Swagger UI)  
The documentation describes the input, output, and API endpoints. It also provides the ability to test  
the endpoints before using them in production.  
To access this documentation:  
1. Configure the credentials for access to the documentation in the Controller  
config.propertiesfile with the two properties: swagger_usernameand swagger_  
password. For more information, see "Configuring the Controller" on page 27.  
Note: OpenAPI documentation in JSON format is available at <controller_url>/rest/api-docs.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 42 of 111  
 
Chapter 3: About Fortify ScanCentral SAST  
Sensors  
Fortify ScanCentral SAST sensors are computers set up to receive scan requests and analyze code  
using Fortify Static Code Analyzer. A sensor accepts either a mobile build session (MBS) file and  
performs a scan, or it accepts a project package that contains sources and dependencies, which it  
translates and scans.  
For MBS scans, ScanCentral SAST supports all languages that Fortify Static Code Analyzer supports.  
For remote translation and scans of the prepared packages, ScanCentral SAST supports only the  
languages that can be used with remote translation. For a list of languages supported for performing  
remote translation, see the Fortify Software System Requirements document.  
Tip: As you set up your Fortify ScanCentral SAST environment, you can use subnets to segment  
your build machines from the sensors. The build machines need only communicate with the  
Controller, which in turn communicates with the sensors.  
This section contains the following topics:  
Installing Sensors  
To make it convenient for network administrators to isolate traffic to Fortify ScanCentral SAST  
sensors, Fortify recommends that you install sensors in a separate subnet. Use the sensors only as  
scan boxes. Fortify ScanCentral SAST supports only one sensor per machine.  
Installing a Sensor Using Fortify Static Code Analyzer  
The following procedure describes how to create a new sensor. For information about how to upgrade  
an existing sensor, see "Upgrading Sensors" on page 63.  
If you use Windows, you can install the sensor as a Windows service. For instructions, see "Installing a  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 43 of 111  
 
 
 
Installation, Configuration, and Usage Guide  
Chapter 3: About Fortify ScanCentral SAST Sensors  
To install a sensor:  
1. Use the instructions provided in the OpenText™ Fortify Static Code Analyzer User Guide to  
install Fortify Static Code Analyzer.  
Make sure you select Fortify ScanCentral SAST client as a component during the Fortify Static  
Code Analyzer installation.  
2.  
3.  
Navigate to the <sca_install_dir>/Core/configdirectory, and open the  
worker.propertiesfile in a text editor.  
Specify a value for the worker_auth_tokenproperty.  
If you are using a plain text password, use the password set for the worker_auth_token  
property in the Controller config.propertiesfile. For information about how to generate an  
4.  
Save and close your worker.propertiesfile.  
See Also  
Installing a Sensor as a Service  
If you use Windows services, you can install the Fortify ScanCentral SAST sensor as a Windows  
service.  
To install the sensor as a Windows service:  
1.  
Navigate to the <sca_install_dir>\bin\scancentral-worker-servicedirectory, and  
then do one of the following:  
l
To use a plain text password, run the following command:  
setupworkerservice.bat <sca_version> <controller_url> <shared_secret>  
l
To use an encrypted password, run the following command:  
setupworkerservice.bat <sca_version> <controller_url> "<encrypted_  
shared_secret>" <path_to_pwtool.keys_file>  
Important! Make sure that you enclose <encrypted_shared_secret> in quotes. This  
ensures that the encrypted shared secret does not get corrupted when the services  
installer creates the worker.propertiesfile.  
where <sca_version> is the Fortify Static Code Analyzer version (<major>.<minor>).  
Caution! The setupworkerservicecommand does not correctly handle worker_auth_  
tokentokens that contain the caret character (^). If you must use the caret character as a  
part of a worker_auth_token, use the following formula:  
saved_caret_count = carets_used_on_command_line / 8  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 44 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 3: About Fortify ScanCentral SAST Sensors  
Examples:  
For a worker_auth_tokenthat contains a single caret, such as this^that, run the  
following command:  
For a worker_auth_tokenthat contains two caret characters, such as this^^that, run the  
following command:  
For information about how to encrypt a shared secret, see "Encrypting the Shared Secret on a  
2. Start the service, as follows:  
net start FortifyScanCentralWorkerService  
The services installer creates the <sca_install_dir>\Core\config\worker.propertiesfile for  
you.  
See Next  
See Also  
Configuring Sensors  
After you install the Fortify ScanCentral SAST sensors, you can configure sensor settings such as the  
maximum run time for scans, sensor expiration time, job cleanup timing, and more.  
See Also  
Encrypting the Shared Secret on a Sensor  
Passwords exist in the ScanCentral SAST sensor configuration file as plain text. You can encrypt the  
worker_auth_tokenproperty value.  
To encrypt a shared secret on a sensor:  
1. At the command prompt, run the following command:  
<sca_install_dir>/bin/pwtool <pwtool_keys_file>  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 45 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 3: About Fortify ScanCentral SAST Sensors  
2. When prompted, type the password to encode, and then press Enter.  
The pwtool generates a new pwtool.keysfile to <pwtool_keys_file> and prints a new  
encrypted secret to the console.  
3.  
4.  
Copy the encrypted secret, and paste it as the value for worker_auth_tokenproperty in the  
worker.propertiesfile.  
Add the following line (property) to the worker.propertiesfile:  
pwtool_keys_file=<pwtool_keys_file>  
Save and close the worker.propertiesfile.  
5.  
See Also  
Setting the Maximum Run Time for Scans  
By default, a sensor can run a scan for an indefinite period of time, which prevents it from running  
other scans. You can limit the amount of time scans can run on sensors for a specific job, for a specific  
sensor, or globally for all sensors.  
The following rules of precedence apply to timeout settings:  
l
Job timeout settings override any sensor-specific or global timeout settings.  
l
Sensor timeout configured on the command line overrides a global timeout setting.  
Configuring the Maximum Run Time for a Specific Job  
To configure the maximum run time of one minute for a specific job, run the following command:  
scancentral -url <controller_url> start --scan-timeout 1  
To configure the maximum run time of two minutes for a specific sensor, run the following:  
scancentral -url <controller_url> worker --scan-timeout 2  
Configuring the Maximum Run Time for All Sensors  
To configure the maximum run time for all sensors:  
1.  
2.  
3.  
Navigate to <controller_install_dir>/tomcat/webapps/scancentral-ctrl/WEB-  
INF/classes/and open the config.propertiesfile in a text editor.  
Set the scan_timeoutproperty value to the maximum number of minutes for scans to run on  
sensors.  
Save and close the config.propertiesfile.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 46 of 111  
 
 
 
Installation, Configuration, and Usage Guide  
Chapter 3: About Fortify ScanCentral SAST Sensors  
Changing Sensor Expiration Time  
By default, sensors expire 168 hours after they become inactive. To change this default value:  
1.  
2.  
3.  
Navigate to <controller_install_dir>/tomcat/webapps/scancentral-ctrl/WEB-  
INF/classes/and open the config.propertiesfile in a text editor.  
Set the worker_expiry_delayproperty value to the number of hours to elapse after inactivity  
before sensors expire.  
Save and close the config.propertiesfile.  
Configuring Sensors for Remote Translation of .NET Languages  
To use your Fortify ScanCentral SAST sensors for remote translation of code written in a  
.NET language, configure at least one sensor with the software required to support .NET. Sensors on  
Windows or Linux can accept any package for remote translation built by MSBuild and dotnet as long  
as .NET capability is enabled. See the Fortify Software System Requirements document for specific  
.NET version requirements.  
After you start a ScanCentral SAST sensor, it automatically detects if a supported version of .NET is  
installed and displays a message that .NET capability is enabled. This indicates that the sensor can  
now translate .NET projects.  
Important! To avoid Windows errors caused by too long a path during a .NET translation, Fortify  
strongly recommends that you start ScanCentral SAST sensors from a directory with a short  
name and path.  
See Also  
Configuring Sensors to Use the Progress Command When  
Starting on Java  
To use the progresscommand to check the progress of your Fortify Static Code Analyzer scans, you  
must complete the following sensor configuration:  
1. Create a JMX access file, and add the following text to it:  
<user_role> readonly  
where <user_role> is text that represents something like a user name.  
2. Create a JMX password file, and add the following text to it:  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 47 of 111  
 
 
 
Installation, Configuration, and Usage Guide  
Chapter 3: About Fortify ScanCentral SAST Sensors  
<user_role> <password> readonly  
where <user_role> is the value you specified in the JMX access file.  
3. Run one of the following commands:  
l
On a Windows system, cacls jmxremote.password /P <username>:R  
l
On a Linux system, chmod 600 jmxremote.password  
4.  
Open the worker.propertiesfile in a text editor, and then add the following properties to it:  
sca_jmx_port=<port>  
sca_jmx_access_file=<path_to_access_file>  
sca_jmx_password_file=<path_to_password_file>  
sca_jmx_password=<password>  
sca_jmx_user=<user_role>  
sca_jmx_auth=true  
5.  
Save and close the worker.propertiesfile.  
After you complete this configuration, Fortify ScanCentral SAST clients start on the specified port  
using JMX password authentication. Make sure that the port is not already bound.  
Caution! If you use sca_jmx_auth, you can start only one sensor. Any attempt to open a new  
Fortify Static Code Analyzer instance results in a bind port error. To have multiple sensors on a  
machine, you must have several Fortify ScanCentral SAST instances, each with its own  
worker.propertiesfile.  
Configuring Where to Generate Job Files and the worker_  
persist.properties File  
For containerized deployments, it is useful to determine where files are generated so that you can  
customize persistence. This enables you to persist the worker_persist.propertiesfile, which you  
need to maintain sensor pool assignments, without having to keep all the old job files.  
Note: If you choose not to configure these locations, the default locations are used. The default  
location for the worker_persist.propertiesfile is <working_dir>/props. The default  
location for the job files is <working_dir>/jobs.  
To configure where job files and the worker_persist.propertiesfile are generated:  
1.  
On a sensor machine, navigate to the <sca_install_dir>/Core/configdirectory, and then  
open the worker.propertiesfile in a text editor.  
2. Add the following properties to the file, and specify the directories for each:  
l
The props_dirproperty specifies where the worker_persist.propertiesfile is saved.  
l
The jobs_dirproperty specifies the directory where the job files are created.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 48 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 3: About Fortify ScanCentral SAST Sensors  
3.  
Save and close your worker.propertiesfile.  
4. Restart the sensor.  
Configuring Job Cleanup Timing on Sensors  
To prevent the progressive loss of disc space as job files accumulate, Fortify ScanCentral SAST  
sensors automatically clean up internal job files (packages received from the Controller, FPR files,  
logs, and so on), and Fortify Static Code Analyzer build files related to cleaned Fortify ScanCentral  
SAST jobs. Although you cannot turn off this feature, you can configure its timing.  
To configure the timing of job file cleanup on a sensor:  
1.  
Navigate to the <sca_install_dir>/Core/configdirectory, and then open the  
worker.propertiesfile in a text editor.  
2. Configure the following properties based on your scheduling needs.  
Default value  
(hours)  
Property  
Description  
Age (in hours) job files must be before  
they are removed from the sensor  
working directory  
168  
(one week)  
worker_cleanup_age  
Frequency with which the cleanup  
process runs  
1
worker_cleanup_interval  
3.  
Save and close your worker.propertiesfile.  
4. Restart the sensor.  
Starting the Sensors  
To start the Fortify ScanCentral SAST sensors:  
1. Start the Controller if it is not already running.  
2.  
On each sensor, navigate to <sca_install_dir>/bin.  
3. Start the sensor by typing the following command:  
scancentral –url <controller_url> worker  
If the sensor starts successfully, it displays messages to signal its waiting status on the console. After  
you verify that the sensor is working, you can create a Startup Task in Windows Task Scheduler or  
add it to your startup scripts. For more information, see "Configuring Sensor Auto-Start" on the next  
page.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 49 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 3: About Fortify ScanCentral SAST Sensors  
Note: Make sure that you run each sensor consistently from the same directory. Otherwise, its  
UUID changes and, if Fortify ScanCentral SAST is connected to Fortify Software Security Center,  
Fortify Software Security Center identifies it as different sensor.  
See Also  
Configuring Sensor Auto-Start  
The following topics provide general guidance to enable sensor auto-start and might not be  
appropriate in all environments. Fortify strongly recommends that you review the instructions with  
your system administrator and make any changes required for your environment.  
Enabling Sensor Auto-Start on Windows as a Service  
Make sure the ScanCentral SAST Controller is running before you perform the following procedure.  
To enable sensor auto-start on Windows as a service:  
1. Log in to the sensor machine as a local user with administrative permissions.  
Sensors are dedicated machines intended only to run Fortify Static Code Analyzer on behalf of  
Fortify ScanCentral SAST. Do not share them with any other service. To avoid issues associated  
with insufficient permissions, use a fully-privileged administrator account for the auto-start  
setup.  
2.  
3.  
Open a command prompt and navigate to the <sca_install_dir>\bin\scancentral-  
worker-servicedirectory.  
Run setupworkerservice.batwith no options to display the usage help.  
4. Re-run the batch script with the required options included.  
5. Open Windows Services and check to make sure that the sensor service is present.  
6. Right-click the listed sensor service, and then select Start.  
7. Fortify recommends that you change the startup type setting to Manual until you verify that the  
sensor runs successfully. After verification, change the startup type setting to Automatic  
(Delayed Start) in Windows Services.  
8. Make sure that the sensor communicates with the Controller.  
See Also  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 50 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 3: About Fortify ScanCentral SAST Sensors  
Enabling Sensor Auto-Start on Windows as a Scheduled Task  
To enable Fortify ScanCentral SAST sensor auto-start on Windows as a scheduled task:  
1. Log on to the sensor machine as a local user with administrative permissions.  
Sensors are dedicated machines intended only to run Fortify Static Code Analyzer on behalf of  
Fortify ScanCentral SAST. Do not share them with any other service. To avoid issues associated  
with insufficient permissions, use a fully-privileged administrator account for the auto-start  
setup.  
2. Start the Task Scheduler.  
3. In the Actions pane, select Create Task.  
4. On the General tab, provide the following information:  
a. In the Name box, type a name for the task.  
b. Click Run whether user is logged on or not.  
5. Click the Actions tab, and then click New.  
The New Action dialog box opens.  
a. In the Action list, select Start a program.  
b.  
In the Program/script box, type the directory path to your scancentral.batfile (for  
example, <sca_install_dir>\bin\scancentral.bat).  
c. In the Add arguments (optional) box, type the following:  
–url https://<host>:<port>/scancentral-ctrl worker >taskout.txt 2>&1  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 51 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 3: About Fortify ScanCentral SAST Sensors  
d.  
In the Start in (optional) box, type the path to the Fortify ScanCentral SAST sensor bin  
directory (for example, <sca_install_dir>\bin\).  
e. Click OK.  
6. Click the Triggers tab.  
7. Make sure that the At startup trigger is enabled, and then click OK.  
8. Click the Settings tab.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 52 of 111  
Installation, Configuration, and Usage Guide  
Chapter 3: About Fortify ScanCentral SAST Sensors  
9. Make sure the Stop the task if it runs longer than check box is cleared, and then click OK.  
10. Click Save.  
11. Restart the machine.  
The script output in the taskout.txtfile indicates whether the sensor started successfully.  
You can also start and stop the scheduled task manually from the Task Scheduler interface when you  
are logged into the machine.  
Enabling Sensor Auto-Start on a Linux System  
The following procedure has been tested with Red Hat Enterprise Linux; there might be some  
variation for other Linux varieties. Review these steps with your system administrator before you  
make any changes.  
To enable Fortify ScanCentral SAST sensor auto-start on a Linux system:  
1. Log in to the machine as “root.”  
2.  
Run the visudocommand to edit the sudoersfile and disable requiretty.  
Defaults !requiretty  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 53 of 111  
Installation, Configuration, and Usage Guide  
Chapter 3: About Fortify ScanCentral SAST Sensors  
Note: You can also disable requiretty per user.  
3. Set auto-start as follows:  
a. Verify the command invocation from the console (modify it based on your install directory).  
sudo -u <username> -- <sca_install_dir>/bin/ScanCentral -url  
<controller_url> worker > <sca_install_dir>/bin/workerout.txt 2>&1  
&
o
Add the sudocommand to the end of the file (add it before the line exit 0if it exists).  
o
The ampersand (&) at the end enables the machine to start up even if sensor startup fails  
or hangs.  
o
The double-dash (--) is important to separate the options for sudo from the options for  
your service.  
b. Make the change to the startup file.  
Caution! Make sure that you do not change anything else in your bootup script.  
vi /etc/rc.d/rc.local  
4. Check the setup:  
a. Reboot and log in to the machine as “root.”  
b. To verify the processes under root, type:  
ps -x | grep java  
c. Verify that the output shows that the sensor is not started under root.  
d. To verify the processes under the user, type:  
sudo -u <username> ps x | grep java  
e. Verify that the output displays the sensor process.  
f. To verify the existence and contents of the script output file, type:  
tail -f /opt/<sca_install_dir>/bin/workerout.txt  
For example:  
tail -f /opt/Fortify/Fortify_SCA_24.2.0/bin/workerout.txt  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 54 of 111  
Installation, Configuration, and Usage Guide  
Chapter 3: About Fortify ScanCentral SAST Sensors  
Safely Shutting Down Sensors  
This topic describes how to move Fortify ScanCentral SAST sensors to Shutdown or Shutdown  
scheduled mode from Fortify Software Security Center.  
Important! If the Controller is in maintenance mode (see "Placing the Controller in Maintenance  
shut down sensors from Fortify Software Security Center, the sensors must be version 21.2.0 or  
later.  
To shut down active sensors:  
1. Log on to Fortify ScanCentral SAST as an administrator and open the Fortify ScanCentral SAST  
page.  
2. In the left pane of the SAST page, select Sensors.  
3. In the sensors table, do one of the following:  
l
Expand the row for a sensor you want to shut down, and then click SHUT DOWN.  
l
Select the check boxes for one or more sensors you want to shut down, and then click  
SHUT DOWN.  
If the SHUT DOWN button is not enabled, it can mean that:  
l
The sensor version is earlier than 21.2.0.  
l
The sensor is already shut down.  
l
The Controller is in maintenance mode.  
l
The sensor is inactive or disabled.  
If a sensor you shut down is running a scan, the State value for the sensor changes from Active to  
Shutdown scheduled. After the scan is complete, the state then changes to Inactive.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 55 of 111  
 
Chapter 4: About Fortify ScanCentral SAST  
Clients  
A client is a build machine on which Fortify Static Code Analyzer translates code and generates Fortify  
Static Code Analyzer mobile build sessions (MBS). The translated source code, along with optional  
and required data, such as custom rules and Fortify Static Code Analyzer command-line options, are  
uploaded to the Controller.  
Clients not only translate code and generate MBS files, but can also generate packages with sources  
and dependencies for remote translation on sensors. You can use this functionality independent of  
Fortify Static Code Analyzer.  
This section contains the following topics:  
Embedded Clients and Standalone Clients  
A client can be either an embedded client, which is part of the Fortify Static Code Analyzer  
distribution or a standalone client, which is independent of Fortify Static Code Analyzer. The interface  
for issuing Fortify ScanCentral SAST commands is installed on your client. You use this interface to  
set the options for the scan and communicate your intentions to the Controller.  
Within a Fortify Static Code Analyzer installation, the files used to create Fortify ScanCentral SAST  
sensors and embedded clients are the same. The only difference is how you invoke the functionality  
from the command line. To use Fortify ScanCentral SAST as a sensor, you run Fortify ScanCentral  
SAST using the workercommand. To use Fortify ScanCentral SAST as an embedded client to start a  
scan, invoke it using the startcommand. Sensor functionality depends on Fortify Static Code  
Analyzer. So, you can have a standalone client, but not a standalone sensor. You can use an  
embedded client for either local translation and remote scan or remote translation and scan.  
A standalone client does not require the installation of Fortify Static Code Analyzer. You can use it to  
create a package of the code with its dependencies to send to the Controller for remote translation  
and scan.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 56 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 4: About Fortify ScanCentral SAST Clients  
Fortify Static Code Analyzer and ScanCentral SAST  
Version Compatibility  
The Fortify Static Code Analyzer version on a Fortify ScanCentral SAST client must be compatible  
with the Fortify Static Code Analyzer version installed on the sensors. The version number format is  
year.quarter.patch.buildnumber(for example 24.2.0.0068). By default, the major and minor  
portions of the Fortify Static Code Analyzer version numbers on both the client and sensor must  
match. For example, version 24.2.0 works with version 24.2.1. For other options of supported version  
compatibility, see the ScanCentral SAST Controller configuration property sensor_ version_for_  
To determine the Fortify Static Code Analyzer version, run the command sourceanalyzer  
-version.  
Installing Clients  
Unless you use a language that supports offloading the translation phase of analysis to your sensors,  
you must have a licensed copy of Fortify Static Code Analyzer on each machine you plan to use as  
Fortify ScanCentral SAST clients. If you use a language supported for remote translation, you can  
install standalone clients, independent of Fortify Static Code Analyzer. For a list of languages that  
ScanCentral SAST supports for remote translation, see the Fortify Software System Requirements  
document.  
In this guide, <client_install_dir> refers to the ScanCentral SAST client installation directory.  
See Also  
Installing an Embedded Client  
Use an embedded client (client included with Fortify Static Code Analyzer) to perform a local  
translation before submitting the remote scan to your sensors.  
To install an embedded client:  
1. Log on to a build machine using credentials for an account that is not an administrator or root  
account.  
2. Use the instructions provided in the OpenText™ Fortify Static Code Analyzer User Guide to  
install Fortify Static Code Analyzer on your build machine.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 57 of 111  
 
 
 
Installation, Configuration, and Usage Guide  
Chapter 4: About Fortify ScanCentral SAST Clients  
Make sure you select Fortify ScanCentral SAST client as a component during the Fortify Static  
Code Analyzer installation.  
3.  
4.  
Navigate to the <sca_install_dir>/Core/configdirectory, and then open the  
client.propertiesin a text editor.  
Set the same value for the client_auth_tokenproperty that you set for the client_auth_  
tokenproperty on the Controller (in the <controller_install_  
dir>/tomcat/webapps/scancentral-ctrl/WEB-INF/classes/config.propertiesfile).  
For information about how to generate an encrypted shared secret, see "Encrypting the Shared  
5.  
Save and close the client.propertiesfile.  
See Also  
Installing a Standalone Client  
To submit scan requests for remote translation and remote scan to your Fortify ScanCentral SAST  
sensors, you can use standalone clients. A standalone client is independent of a Fortify Static Code  
Analyzer installation.  
To install a standalone client:  
1. Copy the Fortify ScanCentral SAST client files to your machine by doing one of the following:  
l
Install from a ScanCentral SAST client ZIP file:  
i.  
Extract the contents of the Fortify_ScanCentral_Client_<version>_x64.zipfile  
to any directory on your machine.  
Important! Make sure that the installation path contains no spaces.  
ii.  
Add <client_install_dir>/binto your PATH environment variable.  
The <client_install_dir> is the directory where you extracted the ScanCentral SAST client  
ZIP.  
iii.  
Set the JAVA_HOMEenvironment variable to point to the supported Java version, and  
make sure that you add the Java executable to the PATHenvironment variable.  
Important! If you have a Java project that requires Java 8 to build, set the  
SCANCENTRAL_JAVA_HOMEenvironment variable to a version of Java that Fortify  
ScanCentral SAST supports. Leave the JAVA_HOMEenvironment variable set to Java  
8.  
l
Install the ScanCentral SAST client as a component of a Fortify Applications and  
Tools installation.  
For instructions, see the OpenText™ Fortify Static Code Analyzer Applications and Tools  
Guide.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 58 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 4: About Fortify ScanCentral SAST Clients  
2.  
3.  
Navigate to the <client_install_dir>/Core/configdirectory, and then open the  
client.propertiesin a text editor.  
Set the same value for the client_auth_tokenproperty that you set for the client_auth_  
tokenproperty on the Controller (in the <controller_install_  
dir>/tomcat/webapps/scancentral-ctrl/WEB-INF/classes/config.propertiesfile).  
For information about how to generate an encrypted shared secret, see "Encrypting the Shared  
4.  
Save and close the client.propertiesfile.  
See Also  
Placing Multiple Standalone Clients on the Controller  
You can place multiple standalone clients of different supported versions on the Controller. To do  
this, place any number of client ZIP files for any and all supported versions into the <controller_  
install_dir>/tomcat/clientdirectory. You can use any ZIP file names. At startup, the Controller  
parses the available clients.  
To install a patch for a client or sensor version installed on the Controller, place the patch ZIP file into  
the <controller_install_dir>/tomcat/clientdirectory. If automatic updates is enabled, the  
clients of that version are automatically updated with the patch. For information about how to enable  
automatic updates of your clients and sensors, see "Enabling Automatic Updates of Clients and  
Encrypting the Shared Secret on a Client  
Passwords exist in the ScanCentral SAST client configuration file as plain text. You can encrypt the  
client_auth_tokenproperty value.  
To encrypt a shared secret on a client:  
1. At the command prompt, run one of the following commands:  
l
For an embedded client installed with Fortify Static Code Analyzer, run <sca_install_  
dir>/bin/pwtool <pwtool_keys_file>  
l
For a standalone client, run <client_install_dir>/bin/pwtool <pwtool_keys_file>  
2. When prompted, type the password to encode, and then press Enter.  
The pwtool generates a new key in the file on the specified path, or reuses an existing file and  
prints the encrypted password.  
3.  
Copy the new encrypted secret, and paste it as the value for the client_auth_tokenproperty  
in the client.propertiesfile.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 59 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 4: About Fortify ScanCentral SAST Clients  
4.  
5.  
Add the following to the client.propertiesfile:  
pwtool_keys_file=<pwtool_keys_file>  
Save and close the client.propertiesfile.  
See Also  
Configuring Proxies for Clients and Sensors  
If all your outbound traffic must go through a proxy, you can configure one for your Fortify  
ScanCentral SAST clients.  
To configure proxies for clients:  
1.  
Navigate to <client_install_dir>/Core/config/, and, in both the client.properties  
and worker.propertiesfiles, uncomment, and then set values for the properties listed in the  
following table.  
Property  
Description  
ctrl_proxy_host  
ctrl_proxy_port  
ctrl_proxy_user  
Type the name of the Controller proxy host.  
Type the Controller proxy port number.  
If authentication is required, type a user name.  
ctrl_proxy_password If authentication is required, type the password for the user.  
ssc_proxy_host  
ssc_proxy_port  
ssc_proxy_user  
Type the name of the Fortify Software Security Center proxy host.  
Type the number of the Fortify Software Security Center proxy port.  
If authentication is required, type the proxy user name.  
ssc_proxy_password If authentication is required, type the password for the proxy user.  
2. To enable proxy authentication when the Controller is running under HTTPS, navigate to  
<client_install_dir>/bin/, and then add the following property to the scancentral  
executable file:  
-Djdk.http.auth.tunneling.disabledSchemes  
Example:  
$JAVA_CMD -Djdk.http.auth.tunneling.disabledSchemes= -  
Dscancentral.installRoot="${FORTIFY_HOME}" -Dlog4j.dir="${SCANCENTRAL_  
LOG}" $SCANCENTRAL_JAVA_PROPS -jar "${FORTIFY_  
HOME}/Core/lib/scancentral-launcher-24.2.0.0.jar" "$@"  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 60 of 111  
 
Chapter 5: Upgrading Fortify ScanCentral  
SAST Components  
Fortify ScanCentral SAST-related functionality in Fortify Software Security Center requires updated  
Fortify ScanCentral SAST components.  
Important! You must upgrade the Controller before you upgrade the Fortify ScanCentral SAST  
sensors and clients. Also, make sure that your Controller version is the same as your Fortify  
Software Security Center version.  
This section contains the following topics:  
Supporting Multiple Fortify Static Code Analyzer  
Versions  
To support heterogeneous environments and facilitate phased Fortify Static Code Analyzer upgrades,  
the Fortify ScanCentral SAST Controller supports scan request routing based on the Fortify Static  
Code Analyzer version. For example, you can configure two different client machines, each with a  
different Fortify Static Code Analyzer version, and configure the sensors with compatible Fortify  
Static Code Analyzer versions. By default, jobs from each client are then routed to the sensor that has  
the same Fortify Static Code Analyzer version installed. You can change this behavior and specify a  
specific sensor version for all jobs (see "Configuring the Controller" on page 27).  
If you have an existing Fortify Static Code Analyzer installation (that includes the ScanCentral SAST  
client executable file in your path and a mixed version environment, make sure that you are running  
the latest Fortify ScanCentral SAST executable when you run the client and sensor commands. (Use  
explicit paths.) To add capacity (new clients or sensors), you can clone the VMs you have already  
configured or use sensor hosts with the same specifications and installation directory structure.  
Important! If you clone VMs, then after cloning, you must remove the worker_  
persist.propertiesfile from the directory specified for the props_dirproperty (see  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 61 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 5: Upgrading Fortify ScanCentral SAST Components  
Use sensor machines dedicated to Fortify ScanCentral SAST and run sensors under a dedicated user  
name. Run only one sensor instance per machine.  
If the Controller and Fortify Software Security Center run on different machines, make sure that the  
ssc_urland this_urlproperties in the scancentral-ctrl/WEB-  
INF/classes/config.properties, and the Controller URL set on Fortify Software Security Center  
(select Administration > Configuration > ScanCentral SAST) resolve to the correct IP addresses.  
Make sure a security system or other tool does not block the following channels of communication:  
l
Controller to Fortify Software Security Center port (for uploads of scan results)  
l
Fortify Software Security Center to the ScanCentral SAST Controller port (for Fortify ScanCentral  
SAST administration console functionality)  
l
Clients to the Controller port  
l
Sensors to the Controller port  
l
Clients to the Fortify Software Security Center port (required only if Fortify Software Security  
Center is in lockdown mode, or if you use the -sscurloption)  
Upgrading the Controller  
To upgrade your Fortify ScanCentral SAST Controller:  
1. (Recommended) Allow all jobs to finish.  
Place the Controller in maintenance mode so that sensors complete all currently running scans.  
2. Shut down the Controller.  
3. Back up the existing Controller directories.  
4. Install the new Controller in a different location from the existing Controller directories.  
If you plan to install the Controller as a Windows or Linux service, make sure that you install the  
Controller in a directory where the local service (Windows) or the user or group using the service  
(Linux) has access.  
5.  
If your existing config.propertiesfile has been modified, you must manually apply any  
changes you made to the new config.propertiesfile. You cannot simply copy the existing  
config.propertiesfile.  
6. If (and only if) you are upgrading your Controller from version 23.1.x or earlier to version 24.2.0,  
run the migration script as follows:  
a. Open a command prompt and navigate to the new 24.2.0 Controller installation directory.  
b.  
c.  
At the command prompt, enter cd db-migrate.  
Identify the cloudCtrlDband Controller directories for the existing Fortify ScanCentral  
SAST version. In the following example, the existing Controller is installed on a Windows  
system in the C:\scancentral23.1.0directory:  
C:\scancentral23.1.0\tomcat\cloudCtrlDb  
C:\scancentral23.1.0\tomcat\webapps\scancentral-ctrl  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 62 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 5: Upgrading Fortify ScanCentral SAST Components  
d. Run the following command.  
This command example includes the example directories shown in the preceding step.  
migrate C:\scancentral23.1.0\tomcat\cloudCtrlDb  
C:\scancentral23.1.0\tomcat\webapps\scancentral-ctrl  
The migration script generates the cloudCtrlDbdirectory in the current working directory.  
7.  
Navigate to the jobFilesand cloudCtrlDbdirectories of the existing Controller, and then  
copy them to the corresponding directories for the new Controller.  
Important! If you migrated the database (step 6), make sure that you copy the migrated  
database (cloudCtrlDbdirectory) to the new Controller installation directory.  
The process owner must have write permission for the database file in the cloudCtrlDb  
directory. If you run the ScanCentral SAST Controller as a Windows service, make sure that the  
LOCAL SERVICE account has write permission to the database file.  
To change these directories, edit the job_file_dirand db_dirproperties in the  
config.propertiesfile (see "Configuring the Controller" on page 27).  
8. Start the new Controller.  
The database is automatically migrated.  
9. (Optional) Remove the Controller directories for the previous version.  
See Also  
Upgrading Sensors  
Important! If Fortify Static Code Analyzer is installed in a location that requires that you have  
administrator permissions to modify it (for example in Program Files), then to update a sensor  
you must start it with administrator permissions. Otherwise, the sensor cannot write files to disk.  
If automatic updates is enabled, major updates on standalone clients must finish successfully  
before the sensor can start. With automatic updates enabled, patch updates allow sensors and  
clients to start unless the upgrade fails.  
To upgrade your Fortify ScanCentral SAST sensors (on Windows or Linux), you can either install the  
latest version of Fortify Static Code Analyzer, or unzip the Fortify_ScanCentral_Client_  
<version>_x64.zipfile. You can use the client-only approach if you plan only to use remote  
translation and analysis workflows. Local translation requires a local Fortify Static Code Analyzer  
installation. You can also find the Fortify ScanCentral SAST client inside the Fortify_ScanCentral_  
Controller_<version>_x64.zipfile in the tomcat/client/scancentral.zipdirectory.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 63 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 5: Upgrading Fortify ScanCentral SAST Components  
Tip: You can configure automatic upgrades of both sensors and clients. For details, see "Enabling  
To upgrade sensors by installing or upgrading Fortify Static Code Analyzer:  
1. Stop all sensors from running.  
2. Install or upgrade Fortify Static Code Analyzer using the instructions provided in the OpenText™  
Fortify Static Code Analyzer User Guide.  
3.  
Check the <sca_install_dir>/Core/configdirectory to make sure that the  
worker.propertiesfile resides there.  
4.  
Add the following property to the worker.propertiesfile:  
worker_auth_token=<value_set_in_controller_configuration>  
5. Specify either a plain text password, or an encrypted shared secret (password the Controller uses  
to communicate with the sensor) as the worker.propertiesvalue. For information about how  
to generate an encrypted shared secret, see "Encrypting the Shared Secret on a Sensor" on  
6.  
Save the worker.propertiesfile.  
7. Start the sensors.  
See Also  
Upgrading a Client  
Important! Fortify recommends that your standalone Fortify ScanCentral SAST clients and your  
Fortify Static Code Analyzer installation be the same version.  
To upgrade a standalone client (independent of Fortify Static Code Analyzer), do one of the following:  
l
Delete the existing client, and then extract the Fortify_ScanCentral_Client_<version>_  
x64.zipfile to any directory on the machine.  
l
Extract the contents of the Fortify_ScanCentral_Client_<version>_x64.zipfile on top of  
the existing client.  
To upgrade an embedded client, which resides on the same machine as Fortify Static Code Analyzer:  
1. Log on to the build machine using credentials for an account that is not an administrator account  
or root.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 64 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 5: Upgrading Fortify ScanCentral SAST Components  
2. Back up the following directories:  
l
<sca_install_dir>/bin  
l
<sca_install_dir>/Core/lib  
l
<sca_install_dir>/Core/config  
3. Upgrade Fortify Static Code Analyzer.  
For instructions on how to install and upgrade Fortify Static Code Analyzer, see the OpenText™  
Fortify Static Code Analyzer User Guide.  
4. Accept all overwrite requests.  
On a Linux system, you might also need to run chmod +x ScanCentralin the <sca_install_  
dir>/bin/ScanCentraldirectory.  
Tip: After you configure a client, you can copy the configuration files and use them to create  
other clients.  
See Also  
Enabling Automatic Updates of Clients and Sensors  
You can have all Fortify ScanCentral SAST clients and sensors check with the Controller after a  
manual update and following each startup to determine whether updates are available (meaning the  
client or sensor version is earlier than the Controller version). Then, if an update is available, the  
Controller updates all sensors and clients.  
The upgrade paths for clients and sensors are as follows:  
l
You can update standalone clients to a major or a patch version (for example from 23.2.0 to 24.2.0,  
or from 23.2.0 to 23.2.1).  
l
If automatic updates are enabled and a major update of standalone clients fails, the clients do not  
start any jobs until they are updated.  
l
If automatic updates are enabled and a patch update of standalone clients fails, the clients continue  
to work and a warning is displayed.  
l
You can only update embedded clients and sensors to a patch version (for example, from 23.2.0 to  
23.2.1 or 23.2.2, but not to 24.2.0). Automatic updates for major versions is not available for  
embedded clients and sensors.  
l
If automatic updates are enabled and a patch update of an embedded client fails, the clients and  
sensors continue to work and a warning is displayed.  
To update sensors and embedded clients to the next version, you must install the latest Fortify Static  
Code Analyzer version.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 65 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 5: Upgrading Fortify ScanCentral SAST Components  
Important! Fortify ScanCentral SAST clients and sensors check for updates only if you use the  
-urlor -sscurloptions. The packagecommand does not start the update process.  
To enable automatic updates of your clients and sensors:  
1.  
Navigate to <controller_install_dir>/tomcat/webapps/scancentral-ctrl/WEB-  
INF/classes/and open the config.propertiesfile in a text editor.  
2.  
To enable automatic updates, set client_auto_updateto true.  
3. Save and close the file.  
The update process (and its resulting success or failure status) is written to the console.  
Important! If you have Fortify Static Code Analyzer installed in a location that requires that you  
have administrator permissions to modify it (for example in Program Files), then to update a  
sensor, you must start it with administrator permissions. Otherwise, the sensor cannot write files  
to disk. If automatic updates is enabled, major updates on standalone clients must finish  
successfully before the sensor can start. With automatic updates enabled, patch updates allow  
sensors and clients to start unless the upgrade fails.  
See Also  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 66 of 111  
Chapter 6: Submitting Scan Requests  
You can request a scan that performs remote translation and scan or one that performs a remote scan  
for a project that is already translated to your Fortify ScanCentral SAST sensors. This chapter  
describes how to submit scan requests (including special considerations for some project languages),  
how to upload your scan results to Fortify Software Security Center in your scan request, and how to  
prepare a Fortify ScanCentral SAST package to be scanned without sending it to a Controller.  
This section contains the following topics:  
Submitting Local Translation and Remote Scan  
Requests  
You can submit a project that has already been translated by Fortify Static Code Analyzer to your  
Fortify ScanCentral SAST sensors for remote scanning. To submit a scan request to perform only the  
scan phase, use the startcommand with either the --build_id(-b) or the -mbsoption to identify  
the local translation or an existing mobile build session file together with the -scanoption. The  
following is an example of a scan request to submit a remote scan:  
scancentral –url <controller_url> start -b <build_id> -scan  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 67 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
You can pass any supported Fortify Static Code Analyzer scan options after the –scanoption. If you  
use options such as –build-label, -build-application, or –build-version, make sure that  
you escape the quotes that enclose the parameter. For example:  
-scan –build-label \"Application 5.4 – January 2, 2024\"  
If the submission succeeds, you receive a job token. The Fortify ScanCentral SAST sensor pulls the  
scan request from the Controller, processes it, and publishes the results to the Controller.  
By default, jobs submitted and scan results (FPR files) cannot be larger than 1 GB. Before you start  
See Also  
Submitting Remote Translation and Scan Requests  
If you use a supported language, you can submit your project to your Fortify ScanCentral  
SAST sensors for a complete remote analysis (both translation and scan phases). To submit a scan  
request that performs both the translation and scan phases, use the startcommand.  
Fortify ScanCentral SAST automatically detects the build tool you are using based on the project files  
being scanned. For example, if Fortify ScanCentral SAST detects a pom.xmlfile, it automatically sets  
-btto mvn. If it detects a build.gradlefile, it sets -btto gradle. If Fortify ScanCentral SAST  
detects a *.slnfile, it sets -btto msbuildand sets -bfto the xxx.slnfile. If Fortify ScanCentral  
SAST detects multiple file types (for example, pom.xmland build.gradle), it prioritizes the build  
tool selection as follows: Maven > Gradle > MSBuild and prints a message to indicate which build tool  
was selected based on the multiple file types found.  
The following table provides example scan request commands for different tasks. The examples  
assume that the command is run from the project's working directory. The build tool option --build-  
tool(-bt) shown in these example commands is not required.  
Task  
Example Command  
Start a job to scan a  
.NET application  
scancentral -url <controller_url> start  
Start a job to scan a dotnet project  
on Windows  
scancentral -url <controller_url> start -bt  
dotnet -bf mySolution.sln  
Start a job to scan a Maven project  
that includes the test scope  
scancentral -url <controller_url> start -bt mvn  
--include-test  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 68 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
Task  
Example Command  
or  
scancentral -url <controller_url> start -t  
Start a job to scan a Maven project  
with a non-default build file  
scancentral -url <controller_url> start -bt mvn  
-bf c:\myproj\myproj-pom.xml  
Start a job to scan a  
JavaScript/TypeScript project  
scancentral -url <controller_url> start  
scancentral -url <controller_url> start -hv 8.2  
scancentral -url <controller_url> start  
scancentral -url <controller_url> start  
Start a job to scan a PHP version  
8.2 project  
Start a job to scan an ABAP  
project  
Start a job to scan a Ruby project  
Start a job to scan a Gradle project  
scancentral -url <controller_url> start -bt  
gradle  
Start a job to scan a Gradle  
project, get email notifications  
from the Controller, and upload  
the results to Fortify Software  
Security Center  
scancentral -url <controller_url> start -email  
username@domain.com -upload -application  
"MyProject" -version "1.0" -uptoken <token>  
See Also  
Targeting a Specific Sensor Pool for a Scan Request  
To target a specific sensor pool for a scan request, you must have:  
l
The UUID for the sensor pool  
l
The pool_mapping_modeproperty set to enabled or disabled  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 69 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
To get the UUID for the sensor pool:  
1. Log on to Fortify Software Security Center and open the Fortify ScanCentral SAST page.  
2. In the left pane of the SAST page, select Sensor Pools.  
3. In the Sensor Pools table, copy the value shown in the UUID column for the sensor pool you  
want to target for a scan request.  
Note: All unassigned and enabled sensors are used, even if they are not assigned to sensor  
pools.  
To specify a sensor pool to use for a scan request:  
l
At the command prompt on the client host, run the following command:  
scancentral –url <controller_url> start -pool <uuid>  
Working with .NET Projects  
Fortify ScanCentral SAST MSBuild integration is available on Windows only. Fortify ScanCentral SAST  
dotnet integration is available on Windows and Linux.  
To translate and scan .NET projects, the client machine must have the software required to build and  
package .NET projects installed:  
l
MSBuild or dotnet (see supported versions of MSBuild in the Fortify Software System  
Requirements document)  
l
NuGet (optional)  
l
.NET Framework, .NET Core, or .NET Standard as required for the project configuration  
To use Fortify ScanCentral SAST MSBuild integration, the required MSBuild version must be included  
in the PATH environment variable. To make sure the project is built correctly, Fortify recommends  
that you start Fortify ScanCentral SAST from the Developer Command Prompt for Visual Studio,  
which sets the required .NET environment variables automatically. To use Fortify ScanCentral SAST  
dotnet integration, the required dotnet version must be included in the PATH environment variable.  
Some projects also require that you start NuGet to restore some dependencies. If any dependencies  
are unresolved, the build fails and the scan results might be incomplete. For these types of projects,  
you must install NuGet manually on the machine and make sure it is included in the PATH  
environment variable. If NuGet is found, Fortify ScanCentral SAST runs it automatically.  
The following are command-line examples to translate and scan a .NET project:  
scancentral -url <controller_url> start --build-tool msbuild --build-file  
<sln_file_or_path_to_sln_file>  
scancentral -url <controller_url> start --build-tool dotnet  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 70 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
The following command uses MSBuild integration on a Windows client and dotnet integration on a  
Linux client because no build tool option is specified:  
scancentral -url <controller_url> start --build-file <sln_file_or_path_to_  
sln_file>  
Note: To use the dotnet integration on a Windows client, you must include -bt dotnet.  
If no build tool is specified, ScanCentral SAST client tries to automatically detect the build tool for  
*.sln, *.csproj, *.vbproj, and dirs.proj.  
Fortify ScanCentral SAST returns a job token that you can use to track the scan.  
Excluding .NET Projects from Analysis  
To exclude a .NET project from Fortify ScanCentral SAST analysis, you must create a build  
configuration to exclude the project, and then specify the build configuration with the --build-  
commandoption.  
For example, the solution MySolution.slnincludes two projects: ProjectA and ProjectB. The  
<build_config> file, created in Visual Studio excludes ProjectB from the builds. To exclude ProjectB  
from Fortify ScanCentral SAST analysis, run the following from the directory where the solution file  
resides:  
scancentral -url <controller_url> start --build-tool msbuild --build-file  
MySolution.sln --build-command "/t:Rebuild /p:Configuration=<build_config>"  
Working with Go Projects  
To enable Fortify ScanCentral SAST clients to package Go projects for remote translation and scan,  
the following requirements must be met:  
l
The Go compiler must be installed on the client to resolve project dependencies.  
l
The Go compiler executable location must be available in the PATH variable.  
l
Because ScanCentral SAST relies on Go environment variables, you must configure things  
accordingly. For example, to use a specific Go proxy, configure it as follows:  
set GOPROXY=.... (Windows)  
export GOPROXY=... (Linux)  
Note: Sensors do not require a connection to a Go proxy website to resolve dependencies  
because they run Go translation with GOPROXY=offconfigured. Also, the vendor directory  
under the project root has all the required dependencies. The sensor rewrites the GOFLAGS  
system variable with GOFLAGS=-mod=vendorwhen it runs a Fortify Static Code Analyzer  
translation.  
l
The Go project must include a go.modfile.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 71 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
To start a job to scan a Go project, run the following command:  
scancentral -url <controller_url> start  
Working with Python Projects  
Fortify ScanCentral SAST clients can work with Python projects in three ways:  
l
Submit a scan request in a prepared virtual environment (see "Submitting a Scan Request in a  
l
Use an existing virtual environment, without activating that virtual environment (see "Submitting a  
l
Start the job outside of a virtual environment (see "Submitting a Scan Request Outside of a Virtual  
The following table provides examples of different ways to submit scan requests for Python code.  
Task  
Command  
Start a job to scan a Python 3 project  
scancentral -url <controller_url> start  
--python-requirements <requirements_  
file_path>  
Start a job to scan a Python 2 project  
scancentral -url <controller_url> start  
–-python-version 2 --python-  
requirements <requirements_file_path>  
Start a job to scan a Python project under an  
active virtual environment with dependencies  
already installed  
scancentral -url <controller_url> start  
Start a job to scan a Python project under an  
active virtual environment without project  
dependencies installed  
scancentral -url <controller_url> start  
--python-requirements <requirements_  
file_path>  
Start a job to scan a Python project using an  
existing Python virtual environment and  
install project dependencies  
scancentral -url <controller_url> start  
--python-virtual-env <venv_location>  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 72 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
Submitting a Scan Request in a Virtual Environment  
If you work in a virtual environment, all your project dependencies are already installed. You do not  
need to invoke the pip package manager before you start the job. Fortify ScanCentral SAST  
can detect the Python version automatically.  
To start the scan job in a virtual environment:  
1. At the command prompt, activate the virtual environment.  
2. Start a job to scan the Python project as shown in the following example:  
scancentral -url <controller_url> start  
If pip dependencies are not yet installed in the virtual environment used, Fortify ScanCentral  
SAST installs them automatically using the requirements file with the following example:  
scancentral -url <controller_url> start --python-requirements  
<requirements_file_path>  
Submitting a Scan Request in an Unactivated Virtual Environment  
To start the scan job in a virtual environment (with all dependencies installed) without activating that  
virtual environment:  
l
At the command prompt, start the Python project scan as shown in the following examples:  
scancentral -url <controller_url> start --python-virtual-env <venv_  
location>  
or  
scancentral -url <controller_url> start --python-virtual-env <venv_  
location> --python-requirements <requirements_file_path>  
Fortify ScanCentral SAST goes to the virtual environment, determines the Python version used,  
packages all required libraries, and then submits the scan job to the Controller.  
Submitting a Scan Request Outside of a Virtual Environment  
To start the scan job if there is no virtual environment on the client, you must have Python installed  
on the client. You must also specify the Python version. Fortify ScanCentral SAST locates the Python  
installation. In this case, Fortify ScanCentral SAST creates a temporary virtual environment, installs all  
dependencies from the requirements file, and then submits the job to the Controller.  
To start the scan job outside of a virtual environment:  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 73 of 111  
 
 
 
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
l
At the command prompt, start the scan job as shown in the following example:  
scancentral –url <controller_url> start  
Working with SQL Projects  
On Windows (and Linux for .NET projects only), Fortify Static Code Analyzer assumes that files with  
the .sql extension are T-SQL rather than PL/SQL. To perform remote translation of a SQL project, you  
might need to specify what type of SQL your project uses.  
To scan the project, run one of the following commands:  
scancentral -url <controller_url> start -targs "-sql-language PL/SQL"  
or  
scancentral -url <controller_url> start -targs "-sql-language TSQL"  
Fortify ScanCentral SAST returns a job token that you can use to track the scan.  
Working with COBOL Projects  
Fortify ScanCentral SAST clients can package COBOL projects for remote translation and scan. For  
detailed information about the requirements and options available for COBOL analysis, see the  
OpenText™ Fortify Static Code Analyzer User Guide.  
You must have a sensor with the Windows operating system. Fortify ScanCentral SAST automatically  
assigns COBOL scans to a Windows sensor. If no Windows sensor is available, then the scan job is  
created but cannot be started.  
Make sure the copybook files are in a separate directory from the COBOL source code files. Fortify  
recommends that you place your COBOL source code files in a directory called sources and your  
copybook files in a directory called copybooks. Create these directories at the same level.  
Note: To analyze a COBOL project on Linux and to use Legacy COBOL translation, you must  
perform a local Fortify Static Code Analyzer translation:  
scancentral -url <controller_url> start -b <build_id>  
The following example command submits a scan request for a COBOL project where the copybooks  
files are in the local copybooksdirectory:  
scancentral -url <controller_url> start -targs "-copydirs copybooks -  
dialect COBOL390"  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 74 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
The following example command submits a scan request for a COBOL project that contains source  
code files with a non-standard file extension mfcbl:  
scancentral -url <controller_url> start -targs "-copydirs  
MyCopydir1;MyCopydir2 -Dcom.fortify.sca.fileextensions.mfcbl=COBOL"  
The following example command submits a scan request for a COBOL project that contains source  
code files without file extensions:  
scancentral -url <controller_url> start -targs "-copydirs MyCopyDir -  
noextension-type COBOL"  
Working with Java 8 Projects  
If your Java project requires Java 8 to build, set the SCANCENTRAL_JAVA_HOMEenvironment variable  
to a version of Java that Fortify ScanCentral SAST supports. After you do, ScanCentral SAST runs  
successfully, and the build runs with the JAVA_HOMEset to Java 8.  
Uploading Results to Fortify Software Security Center  
To submit a scan request and upload the scan results to an application version in Fortify Software  
Security Center, you must have an authentication token of type ScanCentralCtrlToken. You can use  
the fortifyclient utility to obtain an authentication token from Fortify Software Security Center and  
reuse it for future requests. The fortifyclient utility can also provide application version IDs, which you  
can use to upload the scan results. For more information about how to use the fortifyclient utility, see  
the OpenText™ Fortify Software Security Center User Guide.  
Note: The Fortify Software Security Center user account must have permission to upload scan  
results for the application version, and must have access to the application version on Fortify  
Software Security Center. A user who submits a Fortify ScanCentral SAST job for upload to a  
Fortify Software Security Center application version must use a token obtained using an account  
that has permission to upload scan results. If a Fortify Software Security Center user is assigned  
to a target application version with a view-only role, and that user requests a token and uses it to  
submit the job, the upload fails.  
To submit a scan request and upload the scan results to an application version in Fortify Software  
Security Center:  
1. Generate an authentication token to use with Fortify ScanCentral SAST by typing the following  
command:  
fortifyclient token -gettoken ScanCentralCtrlToken -url <ssc_url> -user  
<user_name> -password <password>  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 75 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
2. To list the application versions to which a user account has access, open a command prompt, and  
then type the following command:  
fortifyclient listApplicationVersions -url <ssc_url> -authtoken <token>  
The following is a sample of the command output:  
ID  
Application Name  
Version  
10002  
10000  
10001  
10004  
10003  
Bill Payment Processor 1.1  
Logistics  
Logistics  
1.3  
2.5  
RWI  
1.0  
Web application 1.0  
3. Submit your scan request and upload the scan results to a Fortify Software Security  
Center application version.  
The following example scan request performs a remote translation and scan and uploads the  
scan results:  
scancentral -sscurl <ssc_url> -ssctoken <token> start -upload -  
versionid <app_version_id> -uptoken <token>  
The following example scan request performs a remote scan and uploads the scan results:  
scancentral -sscurl <ssc_url> -ssctoken <token> start -upload -  
versionid <app_version_id> -uptoken <token> -b <build_id> -scan  
Note:  
l
You can use the ScanCentralCtrlToken type token for both the -ssctokenand the -  
uptokenoptions. For more details about token types for these options, see "Global  
l
Instead of –versionid <app_version_id>, you can pass –application  
<application_name> -version <version_name>. The values for <application_  
name> and <version_name> must match the values in Fortify Software Security Center.  
These values are case-sensitive.  
Typically, the previous steps are combined into a scripted flow from a build server.  
See Also  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 76 of 111  
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
Specifying the Scan Results (FPR) File Name  
You can specify the name of the scan results (FPR) file you upload to Fortify Software Security Center  
using the -fprsscoption with the startcommand.  
The following example scan request performs a remote translation and scan and specifies a name for  
the FPR file to upload:  
scancentral -sscurl <ssc_url> -ssctoken <token> start -upload -versionid  
<app_version_id> -uptoken <token> -fprssc <my_fpr>.fpr  
The following example scan request performs a remote scan and specifies a name for the FPR file for  
upload:  
scancentral -sscurl <ssc_url> -ssctoken <token> start -upload -versionid  
<app_version_id> -uptoken <token> -fprssc <my_fpr>.fpr -b <build_id> -scan  
See Also  
Preventing Replacement of Duplicate Scan Requests  
A duplicate scan request occurs if you have more than one scan requests that upload scan results to  
the same application version in Fortify Software Security Center. If the Controller is configured to  
replace duplicate scan jobs by enabling the replace_duplicate_scansproperty, you can prevent  
the replacement for specific scan requests with the --disallow-replacement(-dr) option in a  
scan request.  
Consider the following scenario:  
1. Submit a scan for upload to AppA 1.0, scan job 1 is added to the queue.  
2. Submit a scan for upload to AppA 1.0, scan job 1 is canceled and scan job 2 is added.  
3.  
Submit a scan for upload to AppA 1.0 with the -droption, scan job 2 is canceled and scan job 3  
is added to the queue.  
4.  
Submit a scan for upload to AppA 1.0 with or without the -droption, scan job 3 remains in the  
queue and scan job 4 is added to the queue.  
The following example scan request performs a remote translation and scan, uploads the results to  
the application version AppA, 1.0 on Fortify Software Security Center, and overrides a duplicate  
replacement to ensure the scan job is not removed from the queue by future scan requests uploaded  
to the same application version:  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 77 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
scancentral -sscurl <ssc_url> -ssctoken <token> start -upload -application  
AppA -version 1.0 -uptoken <token> --disallow-replacement  
See Also  
Retrying Failed Uploads to Fortify Software Security Center  
If a job configured to upload scan results to Fortify Software Security Center fails, the Fortify  
ScanCentral SAST Controller retries to upload (up to five attempts by default) and, if the next  
attempt fails, waits two minutes before it tries again.  
If the Controller fails to upload an FPR file to Fortify Software Security Center, you can use the upload  
command as follows to resend the FPR:  
scancentral -url <controller_url> upload -token <job_token>  
where <job_token> corresponds to the original job that failed to upload the FPR.  
See Also  
Configuring Upload to Fortify Software Security Center Retry  
Attempts  
To configure the number of times the Controller can retry to upload scan results, and the amount of  
time the Controller waits after a failed upload before it tries again:  
1.  
2.  
Navigate to <controller_install_dir>/tomcat/webapps/scancentral-ctrl/WEB-  
INF/classes/and open the config.propertiesfile in a text editor.  
To set the maximum number of upload retry attempts, locate the ssc_upload_retry_count  
property, and replace the default value of 5with any integer value from 1to 10.  
Note: If the specified value is outside of the valid range or is invalid, Fortify ScanCentral  
SAST applies the default value.  
3.  
4.  
To set the interval between upload retry attempts, locate the ssc_upload_retry_interval  
property, and replace the default value of 120(seconds) with any integer value from 60(1  
minute) to 900(15 minutes).  
Note: If the specified value is outside of the valid range or is invalid, Fortify ScanCentral  
SAST applies the default value.  
Save and close the config.propertiesfile.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 78 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
See Also  
Optimizing Scan Performance  
If you plan to regularly scan large applications, Fortify recommends that you run a manual test scan  
on hardware that is equivalent to the hardware on which your sensor is installed.  
To optimize your scan:  
1. Set the Fortify Static Code Analyzer scan parameters for optimal performance by adjusting the  
memory settings to align with your hardware.  
For information about how to tune Fortify Static Code Analyzer, see the OpenText™ Fortify  
Static Code Analyzer User Guide.  
2. Run a scan.  
3. Note the size of the resulting FPR file and scan log.  
4. To ensure that the Fortify ScanCentral SAST Controller and Fortify Software Security Center can  
accept FPR or log files larger than 1 GB, increase the maximum upload size threshold by doing  
the following:  
a.  
Navigate to <controller_install_dir>/tomcat/webapps/scancentral-  
ctrl/classes/and open the config.propertiesfile.  
b. Set the Controller threshold to the maximum size in megabytes as follows:  
max_upload_size=<max_size_in_megabytes>  
The default value is 1024.  
5. Make sure that your Fortify Static Code Analyzer configuration is set to process large FPR files.  
For more information, see the OpenText™ Fortify Static Code Analyzer User Guide.  
See Also  
Generating a ScanCentral SAST Package  
Use the package command to create a ZIP archive of the specified project. The ZIP archive package  
includes the following information:  
l
Libs—Folder that contains the project dependencies (Gradle, Maven, MSBuild, Java, and .NET  
projects)  
l
Src—Folder that contains the source files  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 79 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
l
metadata—Specification file that the sensor uses to generate Fortify Static Code Analyzer  
commands  
The following table provides examples of different commands to generate a project package with  
Fortify ScanCentral SAST client. The examples assume that the command is run from the project's  
working directory. In these examples, ScanCentral SAST client creates a package with the name  
fortifypackage.zipunless the -ooption is used to specify a package name.  
Note: ScanCentral SAST client can automatically detect the build tool you are using based on the  
project files being scanned so use of the --build-tool(-bt) option is usually not required.  
Task  
Example Command  
Create a package from a dotnet  
project on Linux.  
scancentral package  
Create a package from an MSBuild  
project.  
Create a package from a dotnet  
project on Windows.  
scancentral package -bt dotnet  
scancentral package  
Create a package from a Gradle  
project.  
Create a package from a Maven  
project with a custom pom.xml file.  
scancentral package -bf myCustomPom.xml  
scancentral package  
Create a package from an ABAP  
project.  
Create a package from an Apex  
project.  
scancentral package  
Create a package from a Classic  
ASP project.  
scancentral package  
Create a package from a  
COBOL project.  
scancentral package -targs "-copydirs  
copybooks" -targs "-dialect COBOL390"  
Create a package from a ColdFusion  
(CFML) project.  
scancentral package  
Create a package from a Java project.  
Create a package with the name  
scancentral package  
scancentral package -o MyPackage.zip  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 80 of 111  
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
Task  
Example Command  
MyPackage.zip from a Java project.  
(For use with OpenText™ Fortify on  
Demand only) Create a package from  
a Java project and include additional  
files required for open source  
scancentral package -oss  
software composition analysis.  
Create a package from a  
scancentral package  
JavaScript/TypeScript project.  
Create a package from a  
scancentral package -snm  
JavaScript/TypeScript project and  
include the node_modules.  
Caution! Including node_modules  
can increase the package size and  
the scan time.  
Generate a package from an Android  
project in Kotlin that uses the Android  
plugin.  
scancentral package -bt gradle  
Create a package from a Go project.  
scancentral package  
scancentral package  
Create a package for only  
IaC/Dockerfiles.  
Note: If Dockerfiles are included  
in a Gradle, Maven, or MSBuild  
project, then the Docker files are  
automatically included in the  
package.  
Create a package from a PHP project.  
scancentral package  
Create a package from a Python 2  
project.  
scancentral package -yv 2 -pyr <requirements_  
file_path>  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 81 of 111  
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
Task  
Example Command  
Create a package from a Python  
project under an active virtual  
environment with dependencies  
already installed.  
scancentral package  
Create a package from a Python  
project under an active virtual  
environment without project  
dependencies installed.  
scancentral package -pyr <requirements_file_  
path>  
Create a package from a Python  
project using an existing Python  
virtual environment and install project  
dependencies.  
scancentral package -pyv <venv_location>  
Create a package from a Ruby project.  
Create a package from a SQL project.  
scancentral package  
scancentral package -targs "-sql-language  
TSQL"  
scancentral package -targs "-sql-language  
PL/SQL"  
Create a package from a Visual Basic  
project.  
scancentral package  
See Also  
Open Source Software Composition Analysis (Fortify on Demand  
Only)  
Fortify on Demand customers can use the --open-source-scan(-oss) option with the package  
command to include additional files required for open source software composition analysis by  
OpenText™ Debricked. By default, the Fortify ScanCentral SAST client uses the Debricked CLI to  
automatically generate the Debricked lock files required for a Debricked scan. Using the Debricked  
CLI, gives you the most up-to-date Debricked artifact generation. Fortify ScanCentral SAST client  
installs the Debricked CLI if it is not yet installed and checks for a newer version online.  
The ScanCentral SAST client installs the Debricked CLI in one of the following locations:  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 82 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
l
Default location: <client_install_dir>/Core/lib/debricked/  
l
Custom location specified by the debricked_cli_dirproperty in the <client_install_  
dir>/Core/config/client.propertiesfile  
If you want to use the Debricked CLI without the automatic installation, you can manually place the  
Debricked CLI in either location. See the Debricked CLI documentation for instructions on how to  
download the latest releases. To avoid automatic updates of the Debricked CLI, include the --skip-  
debricked-update(-sdu) option in your ScanCentral SAST client package command.  
Using the PackageScanner Tool  
If you have Fortify Static Code Analyzer installed locally, you can run an analysis of a package locally,  
without sending it to the Controller. The PackageScanner tool takes a package created using the  
Fortify ScanCentral SAST package command, generates Fortify Static Code Analyzer commands, and  
then scans it using a locally installed Fortify Static Code Analyzer. The packagescanner tool is located  
in the <sca_install_dir>/bindirectory. The following table describes the PackageScanner tool  
command-line options.  
Packagescanner Option  
Description  
(Optional) Specifies the build ID. Fortify Static  
Code Analyzer uses the build ID to track which  
files are compiled and combined as part of a build,  
and later, to scan those files.  
-b,  
--build-id <id>  
If you do not specify a build ID, Fortify ScanCentral  
SAST automatically generates one.  
(Optional) Enables debug logging for Fortify  
ScanCentral SAST clients and sensors.  
--debug  
(Required) Specifies the FPR file to which analysis  
results are written.  
--fpr <file>.fpr  
--package <package_name>.zip  
(Required) Specifies the path to the package file  
generated by Fortify ScanCentral SAST with the  
packagecommand.  
(Optional) Specifies Fortify Static Code Analyzer  
scan options. Enclose multiple options in quotes  
separated by spaces, or repeat this option for each  
Fortify Static Code Analyzer option and  
parameter.  
-sargs,  
--scan-arguments <scan_options>  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 83 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
Packagescanner Option  
Description  
(Optional if started from Fortify Static Code  
Analyzer) Specifies the path to the Fortify Static  
Code Analyzer executable. If Fortify ScanCentral  
SAST is part of the Fortify Static Code Analyzer  
installation, the path is determined automatically.  
--sca-path <sourceanalyzer_exe_  
path>  
(Optional) Specifies a log file for scan commands.  
By default, the log file is created in a temporary  
directory, which is removed after program  
execution.  
--sca-scan-log <log_file_path>  
(Optional) Specifies a log file for translation  
commands. By default, the log file is created in a  
temporary directory, which is removed after  
program execution.  
--sca-translation-log <log_file_  
path>  
(Optional) Specifies Fortify Static Code Analyzer  
translation options. Enclose multiple options in  
quotes separated by spaces, or repeat this option  
for each Fortify Static Code Analyzer option and  
parameter.  
-targs,  
--translation-arguments  
<translation_options>  
,
(Optional) Displays the PackageScanner tool  
version.  
-v  
--version  
(Optional) Specifies a directory where the package  
is unpacked and PackageScanner creates the  
Fortify Static Code Analyzer project root directory.  
By default, PackageScanner creates this directory  
in a temporary location and removes it after  
--working-dir <dir>  
program execution (unless the -debugoption is  
specified).  
The following are example packagescanner commands:  
packagescanner --package package.zip --fpr results.fpr  
packagescanner --package package.zip --fpr results.fpr --translation-  
arguments "-debug -verbose" --scan-arguments "-debug -verbose"  
packagescanner --package package.zip --fpr results.fpr --sca-translation-  
log trans.log --sca-scan-log scan.log  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 84 of 111  
Installation, Configuration, and Usage Guide  
Chapter 6: Submitting Scan Requests  
packagescanner --package package.zip --fpr results.fpr --sca-path  
C:\fortify\bin\sourceanalyzer.exe  
packagescanner --package package.zip --fpr results.fpr --working-dir  
C:\packageScannerTemp  
See Also  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 85 of 111  
Chapter 7: Managing Scan Requests and Scan  
Results  
This section describes how to view the status of your scan requests, retrieve the scan results, cancel  
scan requests, work with Fortify ScanCentral SAST from Fortify Software Security Center, and other  
related tasks.  
This section contains the following topics:  
Viewing the Scan Request Status  
To view the status of a Fortify ScanCentral SAST scan request, run the following command:  
scancentral –url <controller_url> status -token <job_token>  
You can also view scan request status from the Fortify Software Security Center user interface. For  
instructions, see the OpenText™ Fortify Software Security Center User Guide.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 86 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 7: Managing Scan Requests and Scan Results  
The following table lists the possible values for Fortify ScanCentral SAST scan request and upload  
status, which are available in the console, the scan logs, and the Fortify Software Security Center user  
interface. The SSC upload statusis provided only for scan requests that include uploading the  
scan results (FPR file) to Fortify Software Security Center.  
Status type  
Job status  
Status  
Description  
PENDING  
QUEUED  
CANCELED  
RUNNING  
FAILED  
The Controller accepted the scan job.  
Scan job was assigned to a sensor.  
Scan was canceled.  
Scan is currently running.  
Scan failed.  
FAULTED  
TIMEOUT  
COMPLETED  
PENDING  
QUEUED  
Scan failed as the result of an unexpected error.  
Scan was canceled due to timeout.  
Scan completed successfully.  
Request to upload the scan results (FPR) is pending.  
SSC upload  
status  
Scan results (FPR) upload is awaiting upload to Fortify  
Software Security Center.  
CANCELED  
FAILED  
Scan results (FPR) upload to Fortify Software Security Center  
was canceled or failed.  
Scan results (FPR) upload to Fortify Software Security Center  
failed.  
COMPLETED  
Scan results (FPR) file was uploaded to Fortify Software  
Security Center successfully.  
For information about how this status information is represented in Fortify Software Security Center,  
see the OpenText™ Fortify Software Security Center User Guide.  
See Also  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 87 of 111  
Installation, Configuration, and Usage Guide  
Chapter 7: Managing Scan Requests and Scan Results  
Retrieving Scan Results from the Controller  
To retrieve scan results, run the following command:  
scancentral -url <controller_url> retrieve -token <job_token> -f  
<results>.fpr -log <my_log>.log  
See Also  
Canceling Scan Requests  
To cancel a scan request, run the following command:  
scancentral –url <controller_url> cancel -token <job_token>  
You can also cancel scan requests from the ScanCentral SAST view in Fortify Software Security  
Center. For instructions, see the OpenText™ Fortify Software Security Center User Guide.  
See Also  
Working with Fortify ScanCentral SAST from Fortify  
Software Security Center  
Although you can deploy the ScanCentral SAST Controller in standalone mode, communication with  
Fortify Software Security Center provides the following additional benefits:  
l
The Fortify Software Security Center user interface includes a ScanCentral SAST view where you  
can see the status of recent scan requests.  
ScanCentral SAST  
Page  
Description  
Scan Requests  
View and export Fortify ScanCentral SAST scan request details  
Cancel prepared scan requests  
Controller  
View Controller information  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 88 of 111  
 
 
 
Installation, Configuration, and Usage Guide  
Chapter 7: Managing Scan Requests and Scan Results  
Sensors  
View sensor information  
Sensor Pools  
Create and manage groups of sensors to which you can target scan  
requests  
l
l
The Controller can upload scan results directly to Fortify Software Security Center application  
versions.  
You can create and manage Fortify ScanCentral SAST sensor pools from Fortify Software Security  
Center.  
For detailed information, see the OpenText™ Fortify Software Security Center User Guide.  
See Also  
Configuring the Connection to Fortify Software Security Center  
You can monitor Fortify ScanCentral SAST and display its results in Fortify Software Security Center.  
You can also create and manage ScanCentral SAST sensor pools. For instructions on how to  
configure ScanCentral SAST with Fortify Software Security Center, see the OpenText™ Fortify  
Software Security Center User Guide.  
See Also  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 89 of 111  
 
Chapter 8: Troubleshooting  
The following topics provide information on how to troubleshoot problems you might encounter  
working with Fortify ScanCentral SAST and how to gather information for Customer Support.  
This section contains the following topics:  
Locating Log Files  
The following table describes where to find the log files for different components.  
Operating  
Component  
System  
Log File Location  
Controller  
Windows  
Linux  
<controller_install_  
dir>/tomcat/logs/scancentralCtrl.log  
Note: For information about how to configure the logging  
level for the Controller, see "Configuring the Log Level on the  
Sensor  
Client  
Windows  
Linux  
C:\Users\  
<username>\AppData\Local\Fortify\scancentral-  
<version>\log  
<userhome>/.fortify/scancentral-<version>/log  
Troubleshooting the Controller  
After upgrading the binaries on the local server for the Controller, you can access the Controller using  
the address http://servername:8080/scancentral-ctrl/, but you cannot access it from the  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 90 of 111  
 
 
 
Installation, Configuration, and Usage Guide  
Chapter 8: Troubleshooting  
workstation. Also, while trying to integrate Fortify Software Security Center with the Controller, the  
Controller status is not visible, even though the config.propertiesfile was updated with the  
required details.  
Open the <client_install_dir>/Core/Config/client.propertiesfile to make sure that the  
value set for the client_auth_tokenproperty matches the value for the same property in the  
config.propertiesfile found in your Controller installation directory.  
Troubleshooting a Sensor as a Windows Service  
To troubleshoot issues encountered during the configuration of sensor auto-start as a Windows  
service, review the logs listed in the following table.  
1
Default Log File Location  
Log Type  
Primary Fortify  
ScanCentral  
C:\Windows\System32\config\systemprofile\AppData\Local  
\Fortify\scancentral-<version>\log\scancentral.log  
SAST sensor log  
Sensor temporary  
C:\Users\Public\Fortify\SC\<job_token>  
directories that contain  
MBS files, Fortify Static  
Code Analyzer log files,  
and generated FPR files  
Sensor stdoutand  
stderrlogs  
C:\Users\Public\Fortify\SC\workerout.log  
C:\Users\Public\Fortify\SC\workererr.log  
Note: Before you  
start a sensor,  
check to make sure  
that the log files are  
not open in an  
application. Open  
log files prevent  
procrun from  
writing to the file.  
Commons-daemon log  
C:\Users\Public\Fortify\SC\<year_month_day>.log  
1
The log file location might be different if you changed the account under which the service is run or  
you have set the WORKDIR environment variable.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 91 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 8: Troubleshooting  
If you experience an issue starting a ScanCentral SAST sensor that you installed as a Windows service  
and the log files do not include enough information to resolve the issue, you can run the service as a  
console application to get more information. Run the following commands from an administrator  
command prompt:  
cd <sca_install_dir>\bin\scancentral-worker-service  
prunsrv.exe //TS//FortifyScancentralWorkerService  
This enables you to see any service startup errors that might help you to troubleshoot the issue.  
Preserving the Fortify Static Code Analyzer Project  
Root Directory  
By default, the ScanCentral SAST sensor creates a temporary working directory to unpack the  
package and store temporary files for the scan including the Fortify Static Code Analyzer project root  
directory. This working directory is automatically deleted after the scan unless the -debugoption is  
provided in the scan request. You can also configure an option to prevent the Fortify Static Code  
Analyzer project root directory from being deleted. To preserve the Fortify Static Code Analyzer  
project root directory:  
1.  
Browse the <sca_install_dir>/Core/configdirectory and open the worker.properties  
file in a text editor.  
2.  
Look for the delete_sca_build_dirproperty and set it to false.  
3. Save the changes.  
After the scan is complete, you can find the Fortify Static Code Analyzer project root directory in the  
job directory, which is in one of the following locations:  
l
The jobsdirectory in the sensor's working directory  
l
In the directory configured with the jobs_dirproperty in the worker.propertiesfile  
See Also  
Configuring the Log Level on the Controller  
Fortify ScanCentral SAST logs typically provide enough information to follow the flow of operations  
under normal conditions. If things are not working as expected, the logging might not provide enough  
information to determine the actual root cause of the issue. If the ScanCentral SAST Controller log  
information is insufficient, you can increase the amount of information by changing the log level. The  
following instructions describe how to configure the log level on the Controller. For instructions on  
how to change the log level on sensors and clients, see "Enabling Debugging on Clients and Sensors"  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 92 of 111  
 
 
Installation, Configuration, and Usage Guide  
Chapter 8: Troubleshooting  
To configure the log level on the Controller:  
1.  
Navigate to <controller_install_dir>/tomcat/webapps/scancentral-ctrl/WEB-  
INF/classes.  
2.  
Open the log4j2.xmlfile in a text editor.  
3. Locate one of the following strings:  
l
<Logger name="com.fortify.cloudscan" level="info" additivity="false">  
l
<Logger name="com.fortify.cloudscan.ctrl.service" level="info"  
additivity="false">  
4. For a more detailed level of logging, change the level as shown in the following example:  
<Logger name="com.fortify.cloudscan" level="debug" additivity="false">  
5. To apply the change, restart the Controller.  
For more information about log levels and defining custom log levels, see the Apache Logging  
Services website.  
See Also  
Enabling Debugging on Clients and Sensors  
Fortify ScanCentral SAST logs typically provide enough information to follow the flow of operations  
under normal conditions. If things are not working as expected, the logging might not provide enough  
information to determine the actual root cause of the issue. If the client or sensor log information is  
insufficient, you can increase the log level by adding the -debugcommand-line option to the  
ScanCentral SAST command. Make sure that you specify the -debugoption before the command  
action.  
Examples:  
scancentral -debug -url <controller_url> worker  
scancentral -debug -url <controller_url> start  
The next time the sensor is called, the log contains debug-level information.  
See Also  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 93 of 111  
 
Installation, Configuration, and Usage Guide  
Chapter 8: Troubleshooting  
Creating a Log Archive for Customer Support  
If you are experiencing any issues with Fortify ScanCentral SAST, you can use the -diagoption for  
the startcommand to generate a ZIP file that includes debug log files from clients, sensors, and  
Fortify Static Code Analyzer. You can share this ZIP when you contact Customer Support.  
The following is an example command to generate the archive:  
scancentral -url <controller_url> start --diagnosis <debug_data.zip>  
The generated ZIP file contains the following:  
l
Client debug log entries for the specific scan invocation only  
l
Sensor debug log entries for the specific job  
l
The Fortify Support log from Fortify Static Code Analyzer  
l
MSBuild or dotnet build log  
Included only when scanning .NET projects.  
l
Metadata file from the project package  
Included when using remote translation and scan.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 94 of 111  
 
Appendix A: Fortify ScanCentral SAST  
Command-Line Options  
This appendix describes the command-line options that you can use with Fortify ScanCentral SAST  
client.  
This section contains the following topics:  
Global Options  
This topic describes the global command-line options that you can use with Fortify ScanCentral SAST.  
Global Option  
Description  
Enables debug logging on Fortify ScanCentral SAST  
clients and sensors. For information on how to configure  
the logging level on the Controller, see "Configuring the  
-debug  
Displays help for the selected command. To see all  
-h,  
--help <command>  
command help, type -h all.  
Specifies a Fortify Software Security Center authentication  
-ssctoken <token>  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 95 of 111  
 
 
Installation, Configuration, and Usage Guide  
Appendix A: Fortify ScanCentral SAST Command-Line Options  
Global Option  
Description  
token of type ScanCentralCtrlToken. For information  
about how to acquire authentication tokens, see the  
OpenText™ Fortify Software Security Center User Guide.  
Specifies a Fortify Software Security Center server URL.  
Specifies a Fortify ScanCentral SAST Controller URL.  
Displays the Fortify ScanCentral SAST version.  
-sscurl <url>  
-url <url>  
-v,  
--version  
Start Command  
Use the startcommand to perform a remote scan, or to perform a remote translation and scan.  
Start Option  
Description  
Options for all scan requests  
Uploads the FPR to Fortify Software Security Center after  
completion.  
-upload,  
--upload-to-ssc  
Specifies the Fortify Software Security Center application  
-application <name>  
name. The <name> value is case-sensitive.  
Specifies the Fortify Software Security Center application  
-version,  
version name. The <name> value is case-sensitive.  
--application-version  
<name>  
Specifies the Fortify Software Security Center  
application version ID.  
-versionid,  
--application-version-id  
<id>  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 96 of 111  
 
Installation, Configuration, and Usage Guide  
Appendix A: Fortify ScanCentral SAST Command-Line Options  
Start Option  
Description  
Specifies the Fortify Software Security Center file upload  
authentication token.  
-uptoken,  
--ssc-upload-token <token>  
If the pool_mapping_modeproperty is set to disabledon  
the Controller, you can use a token of type  
ScanCentralCtrlToken or AnalysisUploadToken. However, if  
the pool_mapping_modeis set to enabled, you must use a  
token of type ScanCentralCtrlToken.  
For information about how to acquire authentication tokens,  
see the OpenText™ Fortify Software Security Center User  
Guide.  
Specifies the name to use for the FPR files uploaded to  
Fortify Software Security Center.  
-fprssc,  
--fpr-filename-on-ssc  
<file>  
The file name must not exceed 128 characters in length and  
must not contain the following characters:  
l
colon (:)  
l
backslash (\)  
l
forward slash (/)  
l
asterisk (*)  
l
question mark (?)  
l
vertical bar or pipe (|)  
l
less than (<)  
l
greater than (>)  
l
double quote (")  
,
Prevents a scan job from being replaced because it is a  
duplicate (targeted to the same application version as an  
existing queued scan job).  
-dr  
--disallow-replacement  
Waits for the job to complete, and then downloads the scan  
results.  
-block  
Specifies the name for the local FPR file output. Use with the  
-f,  
--output-file <file>  
-blockoption to specify the name for the local FPR file  
output after a scan is completed.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 97 of 111  
Installation, Configuration, and Usage Guide  
Appendix A: Fortify ScanCentral SAST Command-Line Options  
Start Option  
Description  
Generates a ZIP file that includes debug log information  
from client, sensor, and Fortify Static Code Analyzer that  
Customer Support requires to analyze any problems you  
might encounter. For more details, see "Creating a Log  
-diag,  
--diagnosis <zip_file>  
Specifies the email address for job status notifications.  
Specifies a filter file to use during a scan (repeatable).  
-email <address>  
-filter <file>  
Specifies a file name for the local log file after the scan is  
complete.  
-log,  
--log-file <file>  
Overwrites the existing FPR or log with new data.  
-o,  
--overwrite  
Specifies an issue template file to include.  
-projtl,  
--project-template <file>  
Specifies how often (in seconds) to poll the processing  
-pi, --poll-interval <n>  
status. The valid range for <n> is from 10to 60.  
Specifies a specific sensor pool for the scan request.  
-pool,  
--submit-to-pool <uuid>  
Specifies the maximum amount of time (in minutes) a sensor  
can work on an assigned job (and prevent the sensor from  
doing other work).  
-sto,  
--scan-timeout <n>  
Use of this worker option has a higher priority than the  
scan_timeoutproperty setting in the  
config.propertiesfile.  
Specifies a custom rules file or directory to use during the  
scan (repeatable).  
-rules <file/dir>  
Specifies the package file to save after uploading. The file  
-sp,  
--save-package <file>  
extension must be *.zip. This package contains the  
following information:  
l
Libs—Folder that contains the project dependencies  
(Gradle, Maven, MSBuild, Java, and .NET projects)  
l
Src—Folder that contains the source files  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 98 of 111  
Installation, Configuration, and Usage Guide  
Appendix A: Fortify ScanCentral SAST Command-Line Options  
Start Option  
Description  
l
metadata—Specification file that the sensor uses to  
generate Fortify Static Code Analyzer commands  
Options for local translation and remote scan requests  
Specifies the build ID of a previously translated project to  
-b,  
upload to the Controller for analysis.  
--build-id <id>  
Specifies a mobile build session file for a previously  
-mbs <file>  
translated project to upload to the Controller for analysis.  
Specifies the project directory for the mobile build session  
export.  
-projroot,  
--project-root <dir>  
Sets the point beyond which all options are for Fortify Static  
Code Analyzer.  
-scan  
Options for remote translation and scan requests  
Specifies the project package file to upload to the Controller  
-p,  
--package <file>  
Specifies the build tool used for the project. The valid values  
-bt,  
--build-tool <name>  
for <name> are dotnet, gradle, msbuild, mvn, or none.  
Example:  
-bt mvn -bc "package --setting custom.xml"  
If not specified, Fortify ScanCentral SAST can automatically  
detect the build tool based on the project files being  
scanned.  
(For use with Maven, Gradle dotnet, and MSBuild) Specifies  
custom build parameters for preparing and building a  
project.  
-bc,  
--build-command <commands>  
Example to start a Gradle build before packaging:  
-Prelease=true clean customTask build  
If you use the -bcoption and the build fails, ScanCentral  
SAST stops working on the build.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 99 of 111  
Installation, Configuration, and Usage Guide  
Appendix A: Fortify ScanCentral SAST Command-Line Options  
Start Option  
Description  
(Gradle only) If you do not use -bc, the default command,  
default tasks, and target are invoked. If the build fails,  
ScanCentral SAST displays a warning, but continues to work  
and then displays a message to indicate that the build  
procedure failed and your results might be incomplete.  
Specifies the build file if you are not using a default name  
-bf,  
--build-file <file>  
such as build.gradleor pom.xml.  
Prevents the printing to stdout from the build execution.  
-q, --quiet  
Disables the project preparation build step before  
-skipBuild  
packaging. If you use this option, any -bcoption specified is  
ignored. Only apply this option for Gradle and Maven builds.  
(Java projects only) Includes the test source set (Gradle) or  
test scope (Maven) to scan.  
-t,  
--include-test  
Specifies a file or directory (with absolute or relative path, or  
Ant-style path pattern) to exclude from a package  
(repeatable).  
-exclude <file>  
Specifies node_modules dependencies in the package. If you  
-snm,  
--scan-node-modules  
set --scan-node-modules, all third-party library scan  
results are added to the resulting FPR.  
Tip: Because including node_modules dependencies in a  
package does not improve type resolution or dataflow,  
and can result in too many false positives, Fortify  
recommends that you exclude them from scans. By  
default, node_modules dependencies are not included in  
a package unless you apply the --scan-node-  
modulesoption from the command line.  
Specifies the PHP version. If not specified, ScanCentral  
SAST automatically detects the installed PHP version.  
-hv,  
--php-version <version>  
Specifies the Python project requirements file to install and  
collect dependencies.  
-pyr,  
--python-requirements  
<file>  
Specifies the Python virtual environment location.  
-pyv,  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 100 of 111  
Installation, Configuration, and Usage Guide  
Appendix A: Fortify ScanCentral SAST Command-Line Options  
Start Option  
Description  
--python-virtual-env <dir>  
Specifies the Python version to automatically find the  
-yv,  
--python-version <version>  
installed Python. The valid values are 2and 3. This option is  
ignored if ScanCentral SAST client is started under a Python  
virtual environment or if --python-virtual-envis  
specified.  
Specifies a Fortify Static Code Analyzer translation option  
(repeatable).  
-targs,  
--translation-args  
<translation_option>  
For multiple translation options, use multiple -targs  
options. If the translation option has a path parameter that  
includes a space, enclose the path in single quotes. For a list  
of the Fortify Static Code Analyzer options you can use with  
the -targsoption, see "Options Accepted for -targs  
If you use the -targsoption with the --packageoption,  
Fortify ScanCentral SAST ignores it and displays an error  
message.  
Specifies a Fortify Static Code Analyzer scan options  
(repeatable).  
-sargs,  
--scan-args <scan_option>  
Takes a single string option. For multiple scan options, use  
multiple -sargsoptions. If the scan option has a path  
parameter that includes a space, enclose the path in single  
quotes. For a list of the Fortify Static Code Analyzer options  
you can use with the -sargsoption, see "Options Accepted  
Package Command  
Use the packagecommand to create a ZIP archive of the specified project.  
Caution! To avoid a packaging failure for projects with file paths that contain an umlaut, you  
must first add the com.fortify.sca.CmdlineOptionsFileEncodingproperty to the  
fortify-sca.propertiesfile (located in the <sca_install_dir>/Core/configdirectory)  
and specify a value for it that is not ASCII encoding.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 101 of 111  
 
Installation, Configuration, and Usage Guide  
Appendix A: Fortify ScanCentral SAST Command-Line Options  
Package Option  
Description  
(For use with Maven, Gradle, dotnet, and MSBuild) Specifies  
custom build parameters for preparing and building the  
project.  
-bc,  
--build-command <commands>  
Example to start a Gradle build before packaging:  
-Prelease=true clean customTask build  
If you use the -bcoption, and the build fails, ScanCentral  
SAST stops working on the build.  
(Gradle only) If you do not use -bc, the default command,  
default tasks, and target are invoked. If the build fails,  
ScanCentral SAST displays a warning, but continues to work  
and then displays a message to indicate that the build  
procedure failed and you might get incomplete results.  
Specifies the name of the build tool used for the project. The  
-bt,  
--build-tool <name>  
valid values for <name> are dotnet, gradle, msbuild, mvn,  
and none.  
Specifies the build file if you are not using a default name  
-bf,  
--build-file <file>  
such as build.gradleor pom.xml.  
Prevents the printing of stdout from the build execution.  
-q,  
--quiet  
Disables the project preparation build step before packaging.  
-skipBuild  
If you use this option, any -bcoption specified is ignored.  
Only apply this option for Gradle and Maven builds.  
(Java projects only) Includes the test source set (Gradle) or  
test scope (Maven) to scan.  
-t,  
--include-test  
Specifies a file or directory (with absolute or relative path, or  
Ant-style path pattern) to exclude from a package  
(repeatable).  
-exclude <file>  
Specifies to include node_modules dependencies in the  
package. Setting this option, adds all third-party library scan  
results to the resulting FPR.  
-snm,  
--scan-node-modules  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 102 of 111  
Installation, Configuration, and Usage Guide  
Appendix A: Fortify ScanCentral SAST Command-Line Options  
Package Option  
Description  
Tip: Because including node_modules dependencies in a  
package does not improve type resolution or dataflow  
results, and because they degrade translation and scan  
speed, Fortify recommends that you exclude them from  
scans. By default, node_modules are not included in a  
package unless you apply this option from the command  
line.  
Specifies the PHP version. If not specified, ScanCentral  
SAST automatically detects the installed PHP version.  
-hv,  
--php-version <version>  
Specifies the output file name. The file extension must be  
-o,  
--output <file>  
*.zip. If not specified, the package is written to a ZIP archive  
with the name fortifypackage.zip.  
(For use with Fortify on Demand only) Specifies to generate  
and collect additional files for open source software  
composition analysis. For details, see the OpenText™ Fortify  
on Demand User Guide.  
-oss,  
--open-source-scan  
,
(For use with Fortify on Demand only) Specifies not to check  
for an updated version of the Debricked CLI. If this option is  
specified and no Debricked CLI is currently installed, then  
ScanCentral SAST generates and collects the additional files  
for open source software composition analysis without the  
Debricked CLI.  
-sdu  
--skip-debricked-update  
You must also specify the -ossoption to use this feature.  
Specifies the Python project requirements file to install and  
collect dependencies.  
-pyr,  
--python-requirements  
<file>  
Specifies the Python virtual environment location.  
-pyv,  
--python-virtual-env <dir>  
Specifies the Python version to automatically find the  
-yv,  
--python-version <version>  
installed Python. The valid values are 2and 3. This option is  
ignored if ScanCentral SAST client is started under a Python  
virtual environment or if -python-virtual-envis specified.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 103 of 111  
Installation, Configuration, and Usage Guide  
Appendix A: Fortify ScanCentral SAST Command-Line Options  
Package Option  
Description  
Specifies a Fortify Static Code Analyzer translation option  
(repeatable)  
-targs,  
--translation-args <option>  
For multiple translation options, use multiple -targsoptions.  
If the translation option has a path parameter that includes a  
space, enclose the path in single quotes.  
For a list of the Fortify Static Code Analyzer options you can  
use with the -targsoption, see "Options Accepted for -targs  
See Also  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 104 of 111  
Installation, Configuration, and Usage Guide  
Appendix A: Fortify ScanCentral SAST Command-Line Options  
Options Accepted for -targs (--translation-args)  
This topic lists the Fortify Static Code Analyzer translation options you can use with the Fortify  
ScanCentral SAST -targsoption. You can use these options with the ScanCentral SAST startand  
packagecommands. For descriptions of the Fortify Static Code Analyzer translation options listed in  
this topic, see the OpenText™ Fortify Static Code Analyzer User Guide.  
-autoheap  
-dialect  
-php-version  
-abap-includes  
-appserver  
-disable-language  
-django-disable-autodiscover  
-django-template-dirs  
-enable-language  
-encoding  
-python-no-auto-root-  
calculation  
-python-path  
-python-version  
-quiet  
-appserver-home  
-appserver-version  
-build-label  
-ruby-path  
-build-project  
-build-version  
-checker-directives  
-copydirs  
-exclude  
-rubygem-path  
-show-unresolved-symbols  
-source-base-dir  
-sourcepath  
-extdirs  
-gopath  
-goproxy  
-cp, -classpath  
-debug  
-jdk, -source  
-sql-language  
-v, -version  
-jvm-default  
-debug-mem  
-debug-verbose  
-noextension-type  
-php-source-root  
-verbose  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 105 of 111  
 
Installation, Configuration, and Usage Guide  
Appendix A: Fortify ScanCentral SAST Command-Line Options  
Options Accepted for -sargs (--scan-args)  
This topic lists the Fortify Static Code Analyzer scan options you can use with the Fortify ScanCentral  
SAST-sargsoption. You can use these options with the Fortify ScanCentral SAST startcommand.  
For descriptions of the Fortify Static Code Analyzer translation options listed in this topic, see the  
OpenText™ Fortify Static Code Analyzer User Guide.  
-analyzers  
-enable-analyzer  
-p , -scan-precision  
-project-template  
-quick  
-autoheap  
-filter  
-build-label  
-fvdl-no-descriptions  
-fvdl-no-enginedata  
-fvdl-no-progdata  
-fvdl-no-snippets  
-legacy-jsp-dataflow  
-machine-output  
-build-project  
-quiet  
-build-version  
-debug  
-rules  
-sc, -scan-policy  
-v, -version  
-verbose  
-debug-mem  
-debug-verbose  
-disable-analyzer  
-disable-default-rule-type  
-disable-source-bundling  
-disable-metatable  
-no-default-issue-rules  
-no-default-rules  
-no-default-sink-rules  
-no-default-source-rules  
Status Command  
Use the statuscommand to check the status of a remote scan job or the Controller.  
Status Option  
Description  
Specifies to have the process (scan or merge) wait until  
the Fortify Software Security Center FPR upload and  
processing are complete, and then download the merged  
FPR file from Fortify Software Security Center.  
-bl,  
--block-until <action>  
The following values are valid for <action>:  
l
scan—Direct the scan process to continue to run until  
the scan is complete and available on the Controller.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 106 of 111  
 
 
Installation, Configuration, and Usage Guide  
Appendix A: Fortify ScanCentral SAST Command-Line Options  
Status Option  
Description  
l
sscproc—Wait for Fortify Software Security Center  
processing to complete. If the scan results file (FPR) is  
not uploaded to Fortify Software Security Center, an  
error occurs.  
Specifies how long (in minutes) to block processing. The  
-bto,  
--block-timeout <n>  
valid range for <n> is from 0to 10080minutes. Specify 0  
for no timeout.  
Checks whether the Controller is running.  
-ctrl  
Specifies how frequently (in seconds) to poll the  
-pi,  
--poll-interval <n>  
processing status. The valid range for <n> is from 10to  
60.  
Specifies the job token of a remote scan job.  
-token,  
--job-token <token>  
See Also  
Progress Command  
Use the progresscommand to get the progress of a Fortify Static Code Analyzer scan.  
Important! If your projects are based on Java 11 or later, some sensor configuration is required  
to use the progresscommand . For instructions, see "Configuring Sensors to Use the Progress  
Retrieve Command  
Use the retrievecommand to download the result of a remote scan job from the Fortify ScanCentral  
SAST Controller.  
Retrieve Option  
Description  
Specifies to wait for the job to complete and then  
download the scan results.  
-block  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 107 of 111  
 
 
Installation, Configuration, and Usage Guide  
Appendix A: Fortify ScanCentral SAST Command-Line Options  
Retrieve Option  
Description  
Specifies how long (in minutes) to block processing. The  
-bto,  
--block-timeout <n>  
valid range for <n> is from 0to 10080minutes. Specify 0  
for no timeout. The default value is 0.  
Specifies a file name for the local scan results (FPR) file.  
-f,  
--output-file <file>  
Specifies a file name for the local log file.  
-log,  
--log-file <file>  
Overwrites an existing FPR or log file with new data.  
Specifies how frequently (in seconds) to poll the  
-o,  
--overwrite  
-pi,  
--poll-interval <n>  
processing status. The valid range for <n> is 10to 60  
seconds.  
Specifies the file name for the local sensor log output.  
-slog,  
--sensor-log-file <file>  
Specifies the job token of the remote scan job.  
-token,  
--job-token <token>  
See Also  
Upload Command  
Use the uploadcommand to resend an FPR file to Fortify Software Security Center after a previous  
upload attempt failed.  
Upload Option  
Description  
Specifies the job token for the remote scan job to resend an  
FPR file to Fortify Software Security Center.  
-token,  
--job-token <token>  
See Also  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 108 of 111  
 
Installation, Configuration, and Usage Guide  
Appendix A: Fortify ScanCentral SAST Command-Line Options  
Cancel Command  
Use the cancelcommand to cancel a pending or running remote scan job.  
Cancel Option  
Description  
Specifies the job token for the remote scan job you want  
to cancel.  
-token,  
--job-token <token>  
See Also  
Update Command  
Use the updatecommand to update a client or sensor to the latest version available on the  
Controller. This updates a standalone client to the latest available client version. It updates an  
embedded client or sensor to the latest available patch version, but does not update these to the next  
major version.  
Examples:  
scancentral -url <controller_url> update  
or  
scancentral -sscurl <ssc_url> -ssctoken <token> update  
Worker Command  
Use the workercommand to start or test a sensor.  
Worker Option  
Description  
Sensor reporting for duty.  
-hello  
Specifies the sensor pool to which the sensor is assigned  
after it connects to the Controller. If the sensor is already  
assigned to a pool, this option overrides that assignment.  
If an error occurs In sensor pool assignment, the sensor  
shuts down.  
-pool,  
--assign-to-pool <uuid>  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 109 of 111  
 
 
 
Installation, Configuration, and Usage Guide  
Appendix A: Fortify ScanCentral SAST Command-Line Options  
Worker Option  
Description  
Specifies the maximum amount of time (in minutes) a  
sensor can work on an assigned job (and prevent the  
sensor from doing other work).  
-sto,  
--scan-timeout <n>  
Use of this worker option has a higher priority than the  
scan_timeoutproperty setting in the  
config.propertiesfile.  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 110 of 111  
Send Documentation Feedback  
If you have comments about this document, you can contact the documentation team by email.  
Note: If you are experiencing a technical issue with our product, do not email the documentation  
team. Instead, contact Customer Support at https://www.microfocus.com/support so they can  
assist you.  
If an email client is configured on this computer, click the link above to contact the documentation  
team and an email window opens with the following information in the subject line:  
Feedback on Installation, Configuration, and Usage Guide (Fortify ScanCentral SAST 24.2.0)  
Just add your feedback to the email and click send.  
If no email client is available, copy the information above to a new message in a web mail client, and  
send your feedback to fortifydocteam@opentext.com.  
We appreciate your feedback!  
OpenText™ Fortify ScanCentral SAST (24.2.0)  
Page 111 of 111