Builder Vault (TSM) Release 70.0.0
by Torben LauritzenChangelog
Client API:
- Added NewSessionConfigWithTimeouts to allow users to specify different values of
connectTimeout and sessionTimeout per session. Must be lower than the values configured
on the server.
- Removed SEPH15PRF
- Removed GenericKey. This was most likely never used since PKCS#11 was changed in 57.0
- Added support for MinaSchnorr, ZilliqaSchnorr and Sr25519
- Schnorr now uses a schnorr variant instead of the elliptic curve name to determine
which scheme to use
- Replaced PKIX public key with JSON public key in ECDSA and schnorr
- AES key import now works with the wrk17 protocol
- WebAssembly SDKv2: Added schnorrSign() helper method, to create signature from raw
private key
- Node.js SDKv2: Added schnorrSign() helper method, to create signature from raw
private key
- Node.js SDKv2: Simplified result from finalizeSignature, to just return signature
- SDKv2 Web Assembly (WASM) added
Client Communication:
- Clients can now override connectTimeout and sessionTimeout per session, as long as
the values are lower than the values configured on the server
- Removed XORSHARE and SEPH15PRF protocols
- Changed endpoints for SEPD19S to support new schnorr protocols
- Endpoint for aes key import now enabled for the wrk17 protocol
Node Communication:
- Added support for MinaSchnorr, ZilliqaSchnorr and Sr25519
- AES-GCM with two players (WRK17) now accepts input that is not a multiple of 16 bytes
- Added support for 192 and 256-bit AES in WRK17 (keygen, key import, aes-ctr, aes-cbc,
aes-gcm)
- Changed protocol implementation for PKCS11 protocol
- Changed protocol implementation for WRK17 (now handled by libmpc)
Node Configuration:
- mTLS certificate filtering has been improved to allow filtering on SerialNumber,
Subject, and Issuer
- Added DKLs23
- Removed XORSHARE and SEPH15PRF configurations
Patch changes (no effect on compatibility):
- Fix bug when dropping privileges to an unknown user
- Fix bug when using maps in mobile SDKs
- Fix bug causing wrk17 keys created prior to TSM v64 to not parse correctly
- Change format of partial results for wrk17 operations
- Fix bug in wrk17 related to matrix multiplication
- Introduced new key format for wrk17 keys (old key material still supported)
Mobile frameworks have been built using golang.org/x/mobile v0.0.0-20250305212854-3a7bc9f8a4de
Versions
Client API: 61.1 (!)
Client Communication: 30.1 (!)
Database: 7.12.0
Node Communication: 34.1 (!)
Node Configuration: 24.0 (!)
Old SDK has Entered Maintenance State
When changes are made to the SDK, we implicitly mean the new SDK (SDKv2). If there are changes to the legacy SDK it will be explicitly mentioned.
PKCS#11 for Two Players
The PKCS#11 module now works with two players. Note that running with n=2, t=1 significantly reduces performance compared to n=3,t=1
Support for ECDSA Signatures over the Stark Curve
Specify "StarkCurve" as the name of the elliptic curve when running ECDSA protocols to get signatures compatible with Starknet.
New Schnorr Schemes
The Schnorr protocol now supports the schnorr protocol used in Mina (MinaSchnorr), the one used in Zilliqa (ZilliqaSchnorr) as well as Sr25519. To use a schnorr scheme, you must now specify the name of the scheme instead of the elliptic curve. Valid schemes are: Ed25519, Ed448, BIP-340, MinaSchnorr, ZilliqaSchnorr and Sr25519. There are also constants defined in the SDK for each scheme.
New Public Key Format for ECDSA and Schnorr
The format of public keys in the SDK has been changed from PKIX public keys to a JSON format. A public key now has the following format:
{ "scheme": "...", "curve": "...", "point": "..." }
Scheme is either ECDSA or one of the schnorr schemes. Curve is the name of the elliptic curve, but can be empty if
it is uniquely defined by the scheme. Point is a compressed or uncompressed point representing the public key.
There are utility functions for converting between the old and the new format.
WASM SDKv2
A new Web Assembly SDK is available, see the docs Web Assembly docs, in the .tar.gz file, you will find a number of tests showing how to use the SDK.
Caveat
The new WASM SDKv2 does not include the option to run an embedded TSM node.