### SIGNSERVER_STARTUP Log Event Example Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/System_Log.html Example log entry for the SIGNSERVER_STARTUP event, indicating the application has started. Includes module, administrator, issuer, serial number, worker ID, SignServer version, and reply time. ```log EVENT: SIGNSERVER_STARTUP; MODULE: SERVICE; ADMINISTRATOR: null; ISSUER: null; SERIAL_NUMBER: null; WORKER_ID: null; VERSION: SignServer 3.3.0alpha12; REPLY_TIME:1350562045545 ``` -------------------------------- ### WildFly 35 Installation and Startup on CentOS Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Application_Server_Setup.html Commands to unzip WildFly 35, navigate to its directory, and start the standalone server. Ensure you have WildFly 35 downloaded. ```bash unzip wildfly-``35.0``.``1``.Final.zip ``` ```bash cd wildfly-``35.0``.``1``.Final ``` ```bash ./bin/standalone.sh ``` -------------------------------- ### CryptoWorker Event Handling and Setup Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/CryptoWorker.html Handles 'setup' and 'search-request' messages. The 'setup' message requires a baseUrl to import necessary Lunr.js libraries and load the search index. It attempts to import 'lunr-extras.js' for additional language support. ```javascript onmessage = function(event) { // dispatch events to handling functions var message = event.data; if ((message.type === 'setup') && message.baseUrl) { setup(message.baseUrl); } if (message.type === 'search-request') { search(message.query); } } ``` ```javascript function setup(baseUrl) { importScripts(baseUrl + 'js/lunr.js',baseUrl + 'js/lunr-index.js',baseUrl + 'js/lunr-data.js' ); try { // load lunr-extras if it exists, which contains language-specific files for languages other than english importScripts(baseUrl + 'js/lunr-extras.js'); } catch (e) {} searchIndex = lunr.Index.load(lunrIndex); } ``` -------------------------------- ### Example Validation Service Configuration Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/DefaultValidationService.html A comprehensive example demonstrating the setup of a SignServer validation service worker, including its implementation class, name, cached issuers, time in cache, and configurations for multiple validators and their associated issuers. ```properties # Set up the worker -> validation service wrapper WORKER1.IMPLEMENTATION_CLASS=org.signserver.validationservice .server.ValidationServiceWorker #Uncomment and set class path to custom validation service, otherwise is default #used. #WORKER1.TYPE= # Name of Service (Optional) WORKER1.NAME=ValidationService1 # Define TestCA2 and TestCA3 as a cached for 15 seconds, TestCA1 is Not cached. WORKER1.CACHEDISSUERS=CN=TestCA2;CN=TestCA3 WORKER1.TIMEINCACHE=15 # Define a validator in charge of issuer TestCA1 and TestCA2 WORKER1.VAL1.CLASSPATH= WORKER1.VAL1.ISSUER1.CERTCHAIN=EFWAASDFADFASDFKASDKFW1231..... WORKER1.VAL1.ISSUER2.CERTCHAIN=EFWAASDFADFASDFKASDKFW1231..... # Define a validator in charge of issuer TestCA3 WORKER1.VAL2.CLASSPATH= WORKER1.VAL2.ISSUER1.CERTCHAIN=EFWAASDFADFASDFKASDKFW1231..... ``` -------------------------------- ### Verify Audit Log Examples Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Database_CLI.html Provides examples of how to run the verifylog command, including specifying nodes and sequence offsets. ```bash signserver-db audit verifylog -all ``` ```bash signserver-db audit verifylog -node server1 -node server2:708 ``` -------------------------------- ### Authenticode Signing with SHA-256 (MSI) Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Client-Side_Hashing.html Example of signing a Windows Installer file (.msi) using client-side hashing with SHA-256 digest algorithm. ```bash $ signclient signdocument -clientside -workername MSAuthCodeCMSSigner -infile unsigned.msi\ -outfile signed.msi -digestalgorithm SHA-256 ``` -------------------------------- ### Install Maven on CentOS 7 Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Install_SignServer.html Installs the Maven build tool on a CentOS 7 system. ```bash sudo yum install maven ``` -------------------------------- ### GLOBAL_CONFIG_RESYNC Log Event Example Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/System_Log.html Example log entry for the GLOBAL_CONFIG_RESYNC event, indicating that the resync command was executed for global configuration. ```log EVENT: GLOBAL_CONFIG_RESYNC; MODULE: GLOBAL_CONFIG; ADMINISTRATOR: null; ISSUER: null; SERIAL_NUMBER: null; WORKER_ID: null; REPLY_TIME:1350894343902 ``` -------------------------------- ### Install and Enable Apache Modules Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Apache_HTTP_Server_as_Reverse_Proxy.html Commands to install Apache and enable required modules on Ubuntu. These commands link the available modules to the enabled modules directory. ```bash sudo apt-get install apache2 ``` ```bash cd /etc/apache2/mods-enabled/ sudo ln -s ../mods-available/proxy.load proxy.load sudo ln -s ../mods-available/proxy_http.load proxy_http.load sudo ln -s ../mods-available/proxy_ajp.load proxy_ajp.load sudo ln -s ../mods-available/proxy_balancer.load proxy_balancer.load sudo ln -s ../mods-available/rewrite.load rewrite.load sudo ln -s ../mods-available/ssl.load ssl.load ``` -------------------------------- ### GlobalConfigSampleAccounter Configuration Examples Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/GlobalConfigSampleAccounter.html Examples demonstrating how to configure users and accounts for the GlobalConfigSampleAccounter. The GLOBALCONFIGSAMPLEACCOUNTER_USERS property maps credentials to account names, while GLOBALCONFIGSAMPLEACCOUNTER_ACCOUNTS maps account names to their balances. ```properties GLOBALCONFIGSAMPLEACCOUNTER_USERS = user1,password:account1; user2,password2:account2 ``` ```properties GLOBALCONFIGSAMPLEACCOUNTER_ACCOUNTS = account1:14375; account2:12 ``` -------------------------------- ### Install Apache Ant on RHEL 8 / AlmaLinux Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Install_Java.html Use this command to install Apache Ant on RHEL 8 or AlmaLinux systems. ```bash sudo dnf install ant ``` -------------------------------- ### HTTP GET Request Sample Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Client_HTTP_Interface.html Example of an HTTP GET request to the process endpoint. The 'data' parameter is URL-encoded. ```http http://localhost:8080/signserver/process?workerName=DemoXMLSigner&data=%3Croot%3Ehej2%3C/root%3E ``` ```http http://localhost:8080/signserver/process?workerName=DemoXMLSigner&encoding=base64&data=PGhlajI%2Bb2s8L2hlajI%2BCg%3D%3D ``` -------------------------------- ### WorkerServlet HTTP GET Request Sample Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Client_HTTP_Interface.html Example of an HTTP GET request to the WorkerServlet. The worker name is part of the URL. ```http http://localhost:8080/signserver/worker/DemoXMLSigner?data=%3Croot%3Ehej2%3C/root%3E ``` ```http http://localhost:8080/signserver/worker/DemoXMLSigner?encoding=base64&data=PGhlajI%2Bb2s8L2hlajI%2BCg%3D%3D ``` -------------------------------- ### Setup Sample Crypto Token using AdminCLI Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Quick_Start_Demo_Setup_using_Administration_CLI.html Configures a keystore-based crypto token. Ensure to reload the configuration with the assigned worker ID. ```bash $ bin/signserver setproperties doc/sample-configs/keystore-crypto.properties ``` ```bash $ bin/signserver reload 1 ``` -------------------------------- ### Basic SignServer Build with Maven Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Building_SignServer_with_Maven.html Execute this command to build all SignServer modules. Artifacts are placed in './lib' and module descriptors in './mods-available'. ```bash mvn install ``` -------------------------------- ### ECDSA Signing Example Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Client-Side_Hashing.html Demonstrates the command-line steps for signing a document using ECDSA with OpenSSL and SignClient. ```bash openssl x509 -in PlainSigner-certificate.pem -noout -pubkey > plainsigner-pubkey.pem ``` ```bash openssl dgst -sha256 -out pre-computed-hash.bin -binary sample.txt ``` ```bash bin/signclient signdocument -workername PlainSigner -infile pre-computed-hash.bin -outfile sample.sig ``` ```bash openssl dgst -signature sample.sig -verify plainsigner-pubkey.pem -SHA256 sample.txt ``` -------------------------------- ### Get TimeMonitor State via StatusReportWorker Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Logging_and_Monitoring.html Example command to retrieve the current state of the TimeMonitor application by sending a request to the TimeMonitorStatusReportWorker. ```bash $ curl http://tsaserver:8080/signserver/process -d workerName=TimeMonitorStatusReport -d data= ``` -------------------------------- ### Worker Setup Function Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Common_Properties.html Initializes the search index by importing necessary Lunr.js libraries and loading the search index. Optionally imports lunr-extras for non-English language support. ```javascript var searchIndex; function setup(baseUrl) { importScripts( baseUrl + 'js/lunr.js', baseUrl + 'js/lunr-index.js', baseUrl + 'js/lunr-data.js' ); try { // load lunr-extras if it exists, which contains language-specific files for languages other than english importScripts(baseUrl + 'js/lunr-extras.js'); } catch (e) {} searchIndex = lunr.Index.load(lunrIndex); } ``` -------------------------------- ### Get TimeMonitor State via Web (Health Check) Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Logging_and_Monitoring.html Example command to retrieve the current state of the TimeMonitor application from its state-showing web server. ```bash $ curl http://tsaserver:8980/state ``` -------------------------------- ### Sample Selenium Web Test Class Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/WebTest_Module.html An example of a web test class extending WebTestBase, demonstrating setup, teardown, and test methods for interacting with the SignServer AdminWeb. ```java @FixMethodOrder(MethodSorters.NAME_ASCENDING) // Makes the test steps execute in the correct order public class DssQa00_FooTest extends WebTestBase { // Tests should extend WebTestBase private static final String CLASS_NAME = DssQa00_FooTest.class.getSimpleName(); @BeforeClass public static void init() { setUp(CLASS_NAME); // Performs the test setup and creates the WebDriver } @AfterClass public static void exit() { getWebDriver().quit(); // Closes the browser } @Test public void a_openAdminWeb() { WebTestHelper.openAdminWeb(); // Opens the SignServer AdminWeb AllWorkersHelper.clickWorkersTab(); // Clicks the 'Workers' tab } @Test public void b_workerExists() { AllWorkersHelper.assertWorkerExists("CMSSigner"); // Checks that a worker with the name 'CMSSigner' exists } } ``` -------------------------------- ### Setup Sample Workers using AdminCLI Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Quick_Start_Demo_Setup_using_Administration_CLI.html Sets up generic workers using a provided properties file. Reload the configuration with the assigned worker ID. ```bash $ bin/signserver setproperties doc/sample-configs/CONFIGURATION.properties ``` ```bash $ bin/signserver reload 2 ``` -------------------------------- ### Build SignServer from Sources Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Install_SignServer.html Compiles and packages SignServer from its source code, skipping tests. ```bash mvn install -DskipTests ``` -------------------------------- ### Install NTPd Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Set_up_a_Test_Time_Server_with_a_Simulated_Time.html Installs the NTPd package on a Red Hat-based Linux system. Ensure NTPd is installed before proceeding with configuration. ```bash $ sudo yum install ntp ``` -------------------------------- ### Install MariaDB on CentOS Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Database_Setup.html Command to install MariaDB and its server component on CentOS systems. ```bash sudo yum install mariadb mariadb-server ``` -------------------------------- ### SignClient Command for Signing Document Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Signed_Request_Specification.html This command-line example demonstrates how to sign a document using the signclient utility. It specifies the worker name, input file, metadata, and keystore for the signing process. The '-nohttps' flag is for capturing traffic with tools like Wireshark. ```bash bin/signclient signdocument -workername CMSSigner \ -infile document.txt -metadata key1=value2 -metadata key2=value2 \ -signrequest -keystore res/test/dss10/dss10_admin1.p12 \ -nohttps ``` -------------------------------- ### Initialize SignServer Workspace Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Checking_Out_from_Source_Code_Repository.html Run this Ant target after checking out the source code to initialize the workspace. It copies files and creates the edition.properties file. ```bash bin/ant init ``` -------------------------------- ### Signer Status Report Example 4 Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/SignerStatusReportWorker.html Example of an OFFLINE worker with no certificate configured. ```text workerName=Sod74, status=OFFLINE, ``` -------------------------------- ### PKCS#11 Keystore with Configuration File Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/signdocument.html Configure PKCS#11 keystore access using a SunPKCS11 configuration file. ```bash signdocument -workerid 2 -data "" -keystoretype PKCS11_CONFIG -keystore sunpkcs11.cfg ``` -------------------------------- ### Signer Status Report Example 2 Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/SignerStatusReportWorker.html Example of an OFFLINE worker that has reached its signature limit. ```text workerName=Sod72, status=OFFLINE, validityNotBefore=2010-07-05 17:32:33 CEST, validityNotAfter=2010-09-08 17:32:33 EEST, signings=100000, signLimit=100000, ``` -------------------------------- ### OneTimeCryptoWorker Setup Function Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/OneTimeCryptoWorker.html Initializes the search index by importing necessary Lunr.js libraries and optionally 'lunr-extras.js'. Loads the Lunr index and data. ```javascript var searchIndex; function setup(baseUrl) { importScripts(baseUrl + 'js/lunr.js', baseUrl + 'js/lunr-index.js', baseUrl + 'js/lunr-data.js' ); try { // load lunr-extras if it exists, which contains language-specific files for languages other than english importScripts(baseUrl + 'js/lunr-extras.js'); } catch (e) {} searchIndex = lunr.Index.load(lunrIndex); } ``` -------------------------------- ### Basic SignServer DB CLI Usage Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Database_CLI.html Demonstrates the basic command to interact with the SignServer database CLI. ```bash bin/signserver-db audit ``` -------------------------------- ### Signer Status Report Example 1 Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/SignerStatusReportWorker.html Example of an ACTIVE worker with signature count and limit. ```text workerName=Sod71, status=ACTIVE, validityNotBefore=2010-07-05 17:32:36 CEST, validityNotAfter=2010-09-08 17:32:36 EEST, signings=132, signLimit=100000, ``` -------------------------------- ### SNTP Tool Usage Examples Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/SNTP_Tool.html Demonstrates various ways to invoke the sntp-tool command-line interface with different options. ```bash bin/sntp-tool ``` ```bash sntp-tool -servers ntp.example.com ``` ```bash sntp-tool -servers ntp1.example.com,ntp2.example.com ``` ```bash sntp-tool -servers ntp.example.com -sendsamples 2 ``` ```bash sntp-tool -servers ntp.example.com -timeout 2000 ``` -------------------------------- ### Example JWT Token Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/JWT_Authorizer.html This is an example of a Base64-encoded JWT token. It includes header, payload, and signature. ```text eyJraWQiOiJqd3Qua2V5IiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiJ1c2VyMSIsInVwbiI6ImR1a2UiLCJhdXRoX3RpbWUiOjE1ODM4MzAwMzcsImlzcyI6Im15LWF1dGgtc2VydmVyIiwiZ3JvdXBzIjpbInN0YWZmIiwiU2lnblNlcnZlci11c2VycyIsInJlbGVhc2UtbWFuYWdlcnMiLCJtYWlsdXNlcnMiXSwiZXhwIjoxNTgzODMxMDM3LCJpYXQiOjE1ODM4MzAwMzcsImp0aSI6IjQyIn0.Tzy6hoLKwmiQ4C7exBaEUVjH_TK6qiY6KUJUu2QLC-52QxJRXKdBXR1t6l2JqbhWm20o_yKcgp6d4n03AyX8IUGOVul5xY5nWP4Uyn_SfWznuANCXKIf9y8a99ucO4yTEtsrAw2Hiv88LSpia768m1epUXe8_fgoFxfZr8adtRkJ2mT5evHtFwbWtUTT2r3-okuQPvmUfhBrECVKYrBwrV3JlXgXGTjSz4j3XwFfdh516EhKXY8dSn4PMG4hmcnmLNJkz59sUOSTgpwgtp8JzqGBLqtsehJGSYVFDueIDCEbljEAXNgfIbUpT7PuE1IY8VyTm792RB_u_Dq5f03TEQ ``` -------------------------------- ### Copy SignServer Deployment Properties Sample Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Install_SignServer.html Copy the sample deployment properties file to create a new configuration file for editing. This file contains settings for the application, database, and web services. ```bash cp conf/signserver_deploy.properties.sample conf/signserver_deploy.properties ``` -------------------------------- ### Install Maven Dependencies Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Install_SignServer.html Installs dependencies not available in the Maven Central Repository into the local Maven repository. ```bash lib/maven-install-files.sh ``` -------------------------------- ### AuditRecordData Table Example - Node ID Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/CESeCore_Security_Events_Logger.html Example of a Node ID in the AuditRecordData table, typically the hostname. ```plaintext dsstsa1.example.com ``` -------------------------------- ### AuditRecordData Table Example - Admin Serial Number Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/CESeCore_Security_Events_Logger.html Example of an Admin Serial Number in the AuditRecordData table. ```plaintext 4a3442e98e3ce428 ``` -------------------------------- ### Download and Install Glowroot Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/WildFly_32+_and_JBoss_EAP_8.html Download Glowroot and place it in your WildFly directory. Ensure the wildfly user has ownership of the Glowroot directory. ```bash wget https://github.com/glowroot/glowroot/releases/download/v0.13.6/glowroot-0.13.6-dist.zip -O /tmp/glowroot.zip ``` ```bash unzip -q /tmp/glowroot.zip -d /opt/wildfly ``` ```bash chown -R wildfly:wildfly /opt/wildfly/glowroot ``` -------------------------------- ### Start WildFly as a Systemd Service Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/WildFly_32+_and_JBoss_EAP_8.html Command to start the WildFly application server after it has been configured as a systemd service. ```bash systemctl start wildfly ``` -------------------------------- ### Worker Setup Function Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Base64DatabaseArchiver.html Initializes the worker by importing necessary Lunr.js libraries and loading the search index. It attempts to import optional Lunr extras for language support. ```javascript function setup(baseUrl) { importScripts( baseUrl + 'js/lunr.js', baseUrl + 'js/lunr-index.js', baseUrl + 'js/lunr-data.js' ); try { // load lunr-extras if it exists, which contains language-specific files for languages other than english importScripts(baseUrl + 'js/lunr-extras.js'); } catch (e) {} searchIndex = lunr.Index.load(lunrIndex); } ``` -------------------------------- ### Install Apache Ant on CentOS 7 Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Install_Java.html Use this command to install Apache Ant on CentOS 7 systems. ```bash sudo yum install ant ``` -------------------------------- ### Enable WildFly on System Boot Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/WildFly_32+_and_JBoss_EAP_8.html Use this command to ensure SignServer starts automatically after a system restart. ```bash systemctl enable wildfly ``` -------------------------------- ### Signer Status Report Example 3 Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/SignerStatusReportWorker.html Example of an OFFLINE worker within validity period but offline for other reasons. ```text workerName=Sod73, status=OFFLINE, validityNotBefore=2010-07-05 17:32:33 CEST, validityNotAfter=2010-09-08 17:32:33 EEST, signings=0, signLimit=100000, ``` -------------------------------- ### Worker Setup and Index Loading Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Appx_Signer.html Initializes the worker by importing necessary Lunr.js libraries and loading the search index. It attempts to load optional 'lunr-extras.js' for additional language support. ```javascript var searchIndex; function setup(baseUrl) { importScripts( baseUrl + 'js/lunr.js', baseUrl + 'js/lunr-index.js', baseUrl + 'js/lunr-data.js' ); try { // load lunr-extras if it exists, which contains language-specific files for languages other than english importScripts(baseUrl + 'js/lunr-extras.js'); } catch (e) {} searchIndex = lunr.Index.load(lunrIndex); } ``` -------------------------------- ### Start TimeMonitor in Background Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/How_to_Configure_TimeMonitor.html Starts the TimeMonitor service to run in the background. This command includes the conf/ folder on the classpath. ```bash $ bin/timemonitor-in-background.sh ``` -------------------------------- ### Sample Usage c: signdatagroups with Metadata Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/signdatagroups.html This sample demonstrates using the signdatagroups command with additional metadata parameters provided via the -metadata option. ```bash signdatagroups -workername MRTDSODSigner -data "1=value1&2=value2&3=value3" -metadata param1=value1 -metadata param2=value2 ``` -------------------------------- ### Install OpenJDK 17 on CentOS 7 Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/Install_Java.html Use this command to install OpenJDK version 17 on CentOS 7 systems. ```bash sudo yum install java-17-openjdk ``` -------------------------------- ### Remove ExampleDS Datasource Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/WildFly_32+_and_JBoss_EAP_8.html Remove the default ExampleDS datasource and its associated default bindings. This is not necessary if Galleon was used for deployment. ```bash /opt/wildfly/bin/jboss-cli.sh --connect '/subsystem=ee/service=default-bindings:remove()' ``` ```bash /opt/wildfly/bin/jboss-cli.sh --connect 'data-source remove --name=ExampleDS' ``` ```bash /opt/wildfly/bin/jboss-cli.sh --connect ':reload' ``` -------------------------------- ### GLOBAL_CONFIG_RELOAD Log Event Example Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/doc/htdocs/System_Log.html Example log entry for the GLOBAL_CONFIG_RELOAD event, signifying that the global configuration has been reloaded from the database. ```log EVENT: GLOBAL_CONFIG_RELOAD; MODULE: GLOBAL_CONFIG; ADMINISTRATOR: null; ISSUER: null; SERIAL_NUMBER: null; WORKER_ID: null; REPLY_TIME:1350657202593 ``` -------------------------------- ### Create package content and build the Debian package Source: https://github.com/keyfactor/signserver-ce/blob/main/signserver/res/test/HelloDeb.txt This snippet creates the necessary directories for package content and then uses dpkg-deb to build the final package. ```bash mkdir -p usr/share/testpackage echo "Test package" > usr/share/testpackage/testpackage.txt cd .. dpkg-deb --build HelloDeb ```