diff --git a/docs/source/running-signing-service.rst b/docs/source/running-signing-service.rst index 8ad3d10d6b..a33b2d05e1 100644 --- a/docs/source/running-signing-service.rst +++ b/docs/source/running-signing-service.rst @@ -15,8 +15,11 @@ Configuration file ------------------ At startup the signing service reads a configuration file, passed with ``--config-file`` on the command line. -This is an example of what a signing service configuration file might look like: - .. literalinclude:: ../../network-management/hsm.conf +This is an example of what a signing service configuration file might look like for doorman: + .. literalinclude:: ../../network-management/hsm-for-doorman.conf + +For network map: + .. literalinclude:: ../../network-management/hsm-for-networkmap.conf Invoke the signing service with ``-?`` for a full list of supported command-line arguments. diff --git a/network-management/README.md b/network-management/README.md index 903daeb2ce..fe8a4c048f 100644 --- a/network-management/README.md +++ b/network-management/README.md @@ -28,7 +28,7 @@ To run the HSM signing server: ``` cd network-management -java -jar capsule-hsm/build/libs/hsm-.jar --config-file hsm.conf +java -jar capsule-hsm/build/libs/hsm-.jar --config-file [hsm-configuration-file] ``` For a list of options the HSM signing server takes, run with the `--help` option: diff --git a/network-management/src/main/kotlin/com/r3/corda/networkmanage/hsm/Main.kt b/network-management/src/main/kotlin/com/r3/corda/networkmanage/hsm/Main.kt index fd622e9bcb..904e9dba6f 100644 --- a/network-management/src/main/kotlin/com/r3/corda/networkmanage/hsm/Main.kt +++ b/network-management/src/main/kotlin/com/r3/corda/networkmanage/hsm/Main.kt @@ -20,6 +20,7 @@ import com.r3.corda.networkmanage.hsm.configuration.SigningServiceConfig import com.r3.corda.networkmanage.hsm.processor.CrrProcessor import com.r3.corda.networkmanage.hsm.processor.CsrProcessor import com.r3.corda.networkmanage.hsm.processor.NetworkMapProcessor +import net.corda.core.internal.exists import org.apache.logging.log4j.LogManager import org.bouncycastle.jce.provider.BouncyCastleProvider import java.security.Security @@ -34,7 +35,12 @@ fun main(args: Array) { val cmdLineOptions = SigningServiceArgsParser().parseOrExit(*args) - val config = parseConfig(cmdLineOptions.configFile) + val config = if (cmdLineOptions.configFile.exists()) { + parseConfig(cmdLineOptions.configFile) + } else { + println("Please provide existing HSM config file using --config-file option") + return + } // Validate // Grabbed from https://stackoverflow.com/questions/7953567/checking-if-unlimited-cryptography-is-available diff --git a/network-management/src/main/kotlin/com/r3/corda/networkmanage/hsm/configuration/SigningServiceConfig.kt b/network-management/src/main/kotlin/com/r3/corda/networkmanage/hsm/configuration/SigningServiceConfig.kt index 0dd6a44989..f56ef1c273 100644 --- a/network-management/src/main/kotlin/com/r3/corda/networkmanage/hsm/configuration/SigningServiceConfig.kt +++ b/network-management/src/main/kotlin/com/r3/corda/networkmanage/hsm/configuration/SigningServiceConfig.kt @@ -89,10 +89,11 @@ class SigningServiceArgsParser : ArgsParser() { .accepts("config-file", "The path to the config file") .withRequiredArg() .withValuesConvertedBy(PathConverter(PathProperties.FILE_EXISTING)) + .required() override fun parse(optionSet: OptionSet): SigningServiceCmdLineOptions { val baseDir = optionSet.valueOf(baseDirArg) - val configFile = optionSet.valueOf(configFileArg) ?: baseDir / "signing_service.conf" + val configFile = optionSet.valueOf(configFileArg) return SigningServiceCmdLineOptions(baseDir, configFile) } }