Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 Search Documentation | 2026.1

# Secure P4 Search communications

P4 Search communications should be secured over SSL using the HTTPS protocol. This involves creating a Java keystore with a valid SSL certificate.

1. Create a certificate signing request (CSR) and private key with the following command:

    openssl req -new -newkey rsa:2048 -nodes -keyout server.key -out server.csr

2. Provide answers to the questions about your organization and the domain you are installing the P4 Search service on.
3. Send the CSR to your certificate provider to create a valid certificate and chained authority.

   You can view an existing CSR with the following command:

    openssl req -text -noout -verify -in server.csr

4. Add the certificate to a Java keystore and bundle any chained authority. For example:

- Certificate example.com.crt
- Chained authority CA.crt
- Private key server.key

If a certificate does not exist, you can create one:

    openssl x509 -signkey server.key -in server.csr -req -days 365 -out example.com.crt

You should consider using a valid SSL certificate issued by a trusted Certificate Authority (CA), including the full certificate chain.
5. Combine your machine's certificate and private key to produce a PK12 formatted file:

    openssl pkcs12 -export -in example.com.crt -inkey server.key -name example.com -out example.com.p12
    Enter [password]

6. Create/Add the PK12 file to the Java keystore:

    keytool -importkeystore -deststorepass [password] -destkeystore keystore.jks -srckeystore example.com.p12 -srcstoretype PKCS12
    Enter [password]

7. Bundle the CA.crt:

    keytool -import -alias bundle -trustcacerts -file CA.crt -keystore keystore.jks
    Enter [password]

8. Migrate to PKCS12:

    keytool -importkeystore -srckeystore keystore.jks -destkeystore keystore.jks -deststoretype pkcs12
    Enter [password]

9. Copy the keystore to a suitable location and check the file permissions. For example:

   - Windows: c:\Program Files\Perforce
   - Linux: /opt/perforce
10. Make a note of the keystore location and password for use during the installation or configuration of P4 Search.
11. Configure the keystore location, password, and protocol:

    com.perforce.p4search.service.keystore=<location>
    com.perforce.p4search.service.keypass=[password]
    com.perforce.p4search.service.protocol=https

12. Restart the P4 Search service by running the following command as root:

    sudo systemctl restart p4search.service

13. P4 Search is now configured for https.

Your search for returned results