askarKeyGetJwkPublic function

AskarResult<String> askarKeyGetJwkPublic(
  1. LocalKeyHandle handle,
  2. KeyAlgorithm algorithm
)

Implementation

AskarResult<String> askarKeyGetJwkPublic(LocalKeyHandle handle, KeyAlgorithm algorithm) {
  Pointer<Pointer<Utf8>> out = calloc<Pointer<Utf8>>();

  Pointer<Utf8> algPtr = nullptr;

  try {
    algPtr = algorithm.value.toNativeUtf8();

    final funcResult = nativeAskarKeyGetJwkPublic(handle.toInt(), algPtr, out);

    final errorCode = ErrorCode.fromInt(funcResult);

    final String value = (errorCode == ErrorCode.success) ? out.value.toDartString() : "";

    return AskarResult<String>(errorCode, value);
  } finally {
    freeDoublePointer(out);
    freePointer(algPtr);
  }
}