keyFromKeyExchange method

Key keyFromKeyExchange({
  1. required KeyAlgorithm algorithm,
  2. required Key secretKey,
  3. required Key publicKey,
})

Derives an instance of this key directly from a supported key exchange.

Throws an AskarKeyException if key derivation fails.

Implementation

Key keyFromKeyExchange({
  required KeyAlgorithm algorithm,
  required Key secretKey,
  required Key publicKey,
}) {
  try {
    return Key(
      askarKeyFromKeyExchange(
        algorithm,
        secretKey.handle,
        publicKey.handle,
      ).getValueOrException(),
    );
  } catch (e) {
    throw AskarKeyException('Failed to get key from key exchange: $e');
  }
}