mirror of
https://github.com/corda/corda.git
synced 2024-12-28 16:58:55 +00:00
Merge remote-tracking branch 'remotes/open/master'
# Conflicts: # docs/source/changelog.rst
This commit is contained in:
parent
4c123643ac
commit
ad5ceedbd9
@ -85,6 +85,9 @@ Unreleased
|
|||||||
* JDBC drivers for SQL server and PostgresSQL are no longer bundled as part of Corda releases. If you are running a node
|
* JDBC drivers for SQL server and PostgresSQL are no longer bundled as part of Corda releases. If you are running a node
|
||||||
on such databases you need to provide the associated driver as described in :doc:`node-database`.
|
on such databases you need to provide the associated driver as described in :doc:`node-database`.
|
||||||
|
|
||||||
|
* Shell (embedded available only in dev mode or via SSH) connects to the node via RPC instead of using the ``CordaRPCOps`` object directly.
|
||||||
|
To enable RPC connectivity ensure node’s ``rpcSettings.address`` and ``rpcSettings.adminAddress`` settings are present.
|
||||||
|
|
||||||
R3 Corda 3.0 Developer Preview
|
R3 Corda 3.0 Developer Preview
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Network permissioning
|
Network permissioning
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
.. contents::
|
.. contents::
|
||||||
@ -59,8 +59,8 @@ We can visualise the permissioning structure as follows:
|
|||||||
|
|
||||||
Keypair and certificate formats
|
Keypair and certificate formats
|
||||||
-------------------------------
|
-------------------------------
|
||||||
You can use any standard key tools or Corda's ``X509Utilities`` (which uses Bouncy Castle) to create the required
|
You can use any standard key tools to create the required public/private keypairs and certificates. The keypairs and
|
||||||
public/private keypairs and certificates. The keypairs and certificates should obey the following restrictions:
|
certificates must obey the following restrictions:
|
||||||
|
|
||||||
* The certificates must follow the `X.509 standard <https://tools.ietf.org/html/rfc5280>`_
|
* The certificates must follow the `X.509 standard <https://tools.ietf.org/html/rfc5280>`_
|
||||||
|
|
||||||
@ -75,6 +75,10 @@ public/private keypairs and certificates. The keypairs and certificates should o
|
|||||||
|
|
||||||
* RSA with 3072-bit key size
|
* RSA with 3072-bit key size
|
||||||
|
|
||||||
|
.. note:: Corda's ``X509Utilities`` show how to generate the required public/private keypairs and certificates using
|
||||||
|
Bouncy Castle. You can find the ``X509Utilities`` in the `Corda repository <https://github.com/corda/corda>`_, under
|
||||||
|
``/node-api/src/main/kotlin/net/corda/nodeapi/internal/crypto/X509Utilities.kt``.
|
||||||
|
|
||||||
Certificate role extension
|
Certificate role extension
|
||||||
--------------------------
|
--------------------------
|
||||||
Corda certificates have a custom X.509 v3 extension that specifies the role the certificate relates to. This extension
|
Corda certificates have a custom X.509 v3 extension that specifies the role the certificate relates to. This extension
|
||||||
|
@ -163,6 +163,8 @@ Applies to both gradle deployNodes tasks and/or corda node configuration (node.c
|
|||||||
JoinColumn(name = "transaction_id", referencedColumnName = "transaction_id")))
|
JoinColumn(name = "transaction_id", referencedColumnName = "transaction_id")))
|
||||||
override var participants: MutableSet<AbstractParty>? = null,
|
override var participants: MutableSet<AbstractParty>? = null,
|
||||||
|
|
||||||
|
* Shell - to use Shell ensure ``rpcSettings.address`` and ``rpcSettings.adminAddress`` settings are present.
|
||||||
|
|
||||||
Testing
|
Testing
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
|
|
||||||
|
@ -9,6 +9,8 @@ import net.corda.core.utilities.getOrThrow
|
|||||||
import net.corda.core.utilities.unwrap
|
import net.corda.core.utilities.unwrap
|
||||||
import net.corda.node.services.Permissions
|
import net.corda.node.services.Permissions
|
||||||
import net.corda.nodeapi.exceptions.InternalNodeException
|
import net.corda.nodeapi.exceptions.InternalNodeException
|
||||||
|
import net.corda.testing.core.ALICE_NAME
|
||||||
|
import net.corda.testing.core.BOB_NAME
|
||||||
import net.corda.testing.core.singleIdentity
|
import net.corda.testing.core.singleIdentity
|
||||||
import net.corda.testing.driver.DriverParameters
|
import net.corda.testing.driver.DriverParameters
|
||||||
import net.corda.testing.driver.NodeParameters
|
import net.corda.testing.driver.NodeParameters
|
||||||
@ -63,8 +65,8 @@ class RpcExceptionHandlingTest {
|
|||||||
|
|
||||||
driver(DriverParameters(startNodesInProcess = true)) {
|
driver(DriverParameters(startNodesInProcess = true)) {
|
||||||
|
|
||||||
val nodeA = startNode(NodeParameters(rpcUsers = users)).getOrThrow()
|
val nodeA = startNode(NodeParameters(providedName = ALICE_NAME, rpcUsers = users)).getOrThrow()
|
||||||
val nodeB = startNode(NodeParameters(rpcUsers = users)).getOrThrow()
|
val nodeB = startNode(NodeParameters(providedName = BOB_NAME, rpcUsers = users)).getOrThrow()
|
||||||
|
|
||||||
assertThatCode { nodeA.rpc.startFlow(::InitFlow, nodeB.nodeInfo.singleIdentity()).returnValue.getOrThrow() }.isInstanceOfSatisfying(InternalNodeException::class.java) { exception ->
|
assertThatCode { nodeA.rpc.startFlow(::InitFlow, nodeB.nodeInfo.singleIdentity()).returnValue.getOrThrow() }.isInstanceOfSatisfying(InternalNodeException::class.java) { exception ->
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user