create static method
Implementation
static Future<DklsSigningKey> create(DklsMessageSignerBase signer) async {
final seedBuffer = ctss_wrapper.dklsRandomBytes(32);
final r1 = ctss_wrapper.dklsMessageSigningKeyNew(seedBuffer);
final r2 = ctss_wrapper.dklsMessageSigningKeyPublicKey(r1.ref);
final vkB64 = utils.toBase64StringUnsafe(r2);
utils.freeTssBuffer(r2);
final masterVk = signer.publicKeyB64;
final masterVkBuffer =
utils.allocateTssBufferFromBytes(base64Decode(masterVk));
final type = KeyType.values.indexOf(signer.keyType) + 1;
final vkSign = await signer.sign(vkB64);
final vkSignBuffer = utils.allocateTssBufferFromBytes(base64Decode(vkSign));
final r3 = ctss_wrapper.dklsMessageSigningKeySign(
r1.ref, vkSignBuffer, type, masterVkBuffer);
final r4 = ctss_wrapper.dklsMessageVerifyingKey(type, masterVkBuffer);
utils.freeTssBuffer(masterVkBuffer);
final r5 = ctss_wrapper.dklsMessageVerifyingKeyToBytes(r4.ref);
return DklsSigningKey(r3, r4, r5);
}