Signature.fromBytes constructor

Signature.fromBytes(Uint8List bytes)

Implementation

Signature.fromBytes(Uint8List bytes) {
  algorithm = SignatureSchema.fromValue(bytes[0]);
  var rs = bytes.sublist(1);
  if (algorithm == SignatureSchema.sm2Sm3) {
    var idx = rs.indexWhere((b) => b == 0);
    if (idx == -1) throw ArgumentError('Missing sm2 id');
    if (!ListEquality().equals(rs.sublist(0, idx), Constant.defaultSm2Id))
      throw ArgumentError('Deformed sm2 id');
    rs = rs.sublist(idx + 1);
  }
  r = rs.sublist(0, 32);
  s = rs.sublist(32);
}