changeIdentityPassword method
Change the password use to encrypt the identity for the userId.
userId - The ID of the user.
currentPassword - The user's current password.
newPassword - The new password.
Returns the new SSKS ID of the stored identity
Implementation
String changeIdentityPassword(
    String userId, String currentPassword, String newPassword) {
  final Pointer<Utf8> nativeUserId = userId.toNativeUtf8();
  final Pointer<Utf8> nativeCurrentPassword = currentPassword.toNativeUtf8();
  final Pointer<Utf8> nativeNewPassword = newPassword.toNativeUtf8();
  final Pointer<Pointer<Utf8>> result = calloc<Pointer<Utf8>>();
  final Pointer<Pointer<NativeSealdError>> err =
      calloc<Pointer<NativeSealdError>>();
  final int resultCode =
      _bindings.SealdSsksPasswordPlugin_ChangeIdentityPassword(
          _ptr.pointer(),
          nativeUserId,
          nativeCurrentPassword,
          nativeNewPassword,
          result,
          err);
  calloc.free(nativeUserId);
  calloc.free(nativeCurrentPassword);
  calloc.free(nativeNewPassword);
  if (resultCode != 0) {
    throw SealdException._fromCPtr(err);
  } else {
    final String res = result.value.toDartString();
    calloc.free(result.value);
    calloc.free(result);
    calloc.free(err);
    return res;
  }
}