signECDSADerConst method

List<int> signECDSADerConst(
  1. List<int> digest, {
  2. List<int>? extraEntropy,
})

Implementation

List<int> signECDSADerConst(List<int> digest, {List<int>? extraEntropy}) {
  List<int> signature = _signingKey.signConstDer(
    digest: digest,
    extraEntropy: extraEntropy,
  );
  BigInt attempt = BigInt.one;
  int lengthR = signature[3];
  while (lengthR == 33) {
    signature = _signingKey.signConstDer(
      digest: digest,
      extraEntropy: [
        ...extraEntropy ?? [],
        ...BigintUtils.toBytes(attempt, length: 32),
      ],
    );
    attempt += BigInt.one;
    lengthR = signature[3];
  }
  return signature;
}