generateKeyPair method

  1. @override
Future<DpopKeyPair> generateKeyPair()

Generates a new key pair.

Implementation

@override
Future<DpopKeyPair> generateKeyPair() async {
  try {
    final pair = await wc.EcdsaPrivateKey.generateKey(_curve);
    final pkcs8 = await pair.privateKey.exportPkcs8Key();
    final jwkJson = await pair.publicKey.exportJsonWebKey();
    final jwk =
        DpopJwk(x: jwkJson['x']! as String, y: jwkJson['y']! as String);
    return DpopKeyPair(
        privateKeyPkcs8: Uint8List.fromList(pkcs8), publicJwk: jwk);
  } on DpopException {
    rethrow;
  } catch (_) {
    throw const DpopCryptoException('P-256 key pair generation failed.');
  }
}