sign method

List<int> sign(
  1. RSAPrivateKey key,
  2. dynamic msg
)
override

Implementation

List<int> sign(
    final RSAPrivateKey key, final /* String | List<int> | BigInt */ msg) {
  List<int> msgBytes;
  if (msg is List<int>) {
    msgBytes = msg;
  } else if (msg is String) {
    msgBytes = utf8.encode(msg);
  } else if (msg is BigInt) {
    msgBytes = bigIntToBytes(msg);
  } else {
    throw ArgumentError.notNull('msg');
  }

  final encodedMessage = emsaPkcs1v15Encode(msgBytes, key.blockSize, hasher);

  return key.engine.signBlock(encodedMessage);
}