createServerSignature static method

String createServerSignature({
  1. required Uint8List serverKey,
  2. required String authMessage,
  3. AuthenticationStringEncoding stringEncoding = AuthenticationStringEncoding.utf8,
})

Implementation

static String createServerSignature({
  required Uint8List serverKey,
  required String authMessage,
  AuthenticationStringEncoding stringEncoding =
      AuthenticationStringEncoding.utf8,
}) {
  final authMessageBytes = Uint8List.fromList(
    CraAuthentication.encodeString(
      authMessage,
      stringEncoding: stringEncoding,
    ),
  );
  Uint8List? signature;
  try {
    signature = CraAuthentication.encodeByteHmac(
      serverKey,
      defaultKeyLength,
      authMessageBytes,
    );
    return base64.encode(signature);
  } finally {
    _clear(authMessageBytes);
    if (signature != null) _clear(signature);
  }
}