signBytes abstract method
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);