We are pleased to announce the latest monthly Corda milestone release; M11! This milestone has focused on improving the API.
We give a special thank you to Gary Rowe for his contribution to Corda’s Contracts DSL in M11.
Work has continued on confidential identities, introducing code to enable the Java standard libraries to work with composite key signatures. This will form the underlying basis of future work to standardise the public key and signature formats to enable interoperability with other systems, as well as enabling the use of composite signatures on X.509 certificates to prove association between transaction keys and identity keys.
The identity work will require changes to existing code and configurations, to replace party names with full X.500 distinguished names (see RFC 1779 for details on the construction of distinguished names). Currently this is not enforced. However it will be in a later milestone.
- “myLegalName” in node configurations will need to be replaced, for example “Bank A” is replaced with “CN=Bank A,O=Bank A,L=London,C=UK”. Obviously organisation, location and country (“O”, “L” and “C” respectively) must be given values which are appropriate to the node. Do not just use these example values.
- “networkMap” in node configurations must be updated to match any change to the legal name of the network map.
- If you are using mock parties for testing, try to standardise on the
DUMMY_BANK_A, etc. provided in order to ensure consistency.
We anticipate enforcing the use of distinguished names in node configurations from M12, and across the network from M13.
We have increased the maximum message size that we can send to Corda over RPC from 100 KB to 10 MB.
The Corda node now disables any use of ObjectInputStream to prevent Java deserialisation within flows. This is a security enchancement, and prevents the node from deserialising arbitrary objects.
We’ve introduced the concept of platform version which is a single integer value which increments by 1 if a release changes any of the public APIs of the entire Corda platform. This includes the node’s public APIs, the messaging protocol, serialisation, etc. The node exposes the platform version it’s on and we envision CorDapps will use this to be able to run on older versions of the platform to the one they were compiled against. Platform version borrows heavily from Android’s API Level.
We have revamped the DemoBench user interface. DemoBench will now also be installed as “Corda DemoBench” for both Windows and MacOSX. The original version was installed as just “DemoBench”, and so will not be overwritten automatically by the new version. The latest version can be downloaded here.