askarKeyFromKeyExchange function
Implementation
AskarResult<LocalKeyHandle> askarKeyFromKeyExchange(
KeyAlgorithm alg,
LocalKeyHandle skHandle,
LocalKeyHandle pkHandle,
) {
Pointer<NativeLocalKeyHandle> localKeyHandlePtr = calloc<NativeLocalKeyHandle>();
Pointer<Utf8> algPointer = nullptr;
try {
algPointer = alg.value.toNativeUtf8();
final result = nativeAskarKeyFromKeyExchange(
algPointer,
skHandle.toInt(),
pkHandle.toInt(),
localKeyHandlePtr,
);
final errorCode = ErrorCode.fromInt(result);
final localKeyHandle = LocalKeyHandle.fromPointer(errorCode, localKeyHandlePtr);
return AskarResult<LocalKeyHandle>(errorCode, localKeyHandle);
} finally {
freePointer(localKeyHandlePtr);
freePointer(algPointer);
}
}