diff --git a/node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt b/node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt index 4588efa7ed..e922bca66d 100644 --- a/node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt +++ b/node/src/main/kotlin/net/corda/node/internal/AbstractNode.kt @@ -155,7 +155,7 @@ abstract class AbstractNode(open val configuration: NodeConfiguration, * or has loaded network map data from local database */ val nodeReadyFuture: CordaFuture get() = _nodeReadyFuture - + /** A [CordaX500Name] with null common name. */ protected val myLegalName: CordaX500Name by lazy { val cert = loadKeyStore(configuration.nodeKeystore, configuration.keyStorePassword).getX509Certificate(X509Utilities.CORDA_CLIENT_CA) CordaX500Name.build(cert.subjectX500Principal).copy(commonName = null) @@ -643,7 +643,7 @@ abstract class AbstractNode(open val configuration: NodeConfiguration, val (id, name) = if (serviceInfo == null) { // Create node identity if service info = null - Pair("identity", myLegalName.copy(commonName = null)) + Pair("identity", myLegalName) } else { val name = serviceInfo.name ?: myLegalName.copy(commonName = serviceInfo.type.id) Pair(serviceInfo.type.id, name) diff --git a/node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt b/node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt index 67a7d8efe1..30f87dc06b 100644 --- a/node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt +++ b/node/src/main/kotlin/net/corda/node/services/config/NodeConfiguration.kt @@ -79,6 +79,7 @@ data class FullNodeConfiguration( rpcUsers.forEach { require(it.username.matches("\\w+".toRegex())) { "Username ${it.username} contains invalid characters" } } + require(myLegalName.commonName == null) { "Common name must be null: $myLegalName" } } fun calculateServices(): Set {