signBytes abstract method

Future<Uint8List> signBytes(
  1. List<int> data
)

Sign data with this RSASSA-PKCS1-v1_5 private key.

Returns a signature as a list of raw bytes. This uses the Hash specified when the key was generated or imported.

Example

import 'dart:convert' show utf8, base64;
import 'package:webcrypto/webcrypto.dart';
import 'package:pem/pem.dart';

// Read prviate key data from PEM encoded block. This will remove the
// '----BEGIN...' padding, decode base64 and return encoded bytes.
List<int> keyData = PemCodec(PemLabel.privateKey).decode("""
  -----BEGIN PRIVATE KEY-----
  MIGEAgEAMBAGByqG...
  -----END PRIVATE KEY-----
""");

// Import private key from binary PEM decoded data.
final privatKey = await RsassaPkcs1V15PrivateKey.importPkcs8Key(
  keyData,
  Hash.sha256,
);

// Create a signature for UTF-8 encoded message
final message = 'hello world';
final signature = await privateKey.signBytes(utf8.encode(message));

print('signature: ${base64.encode(signature)}');

Implementation

Future<Uint8List> signBytes(List<int> data);