RsassaPkcs1V15PrivateKey class abstract

RSASSA-PKCS1-v1_5 private key for signing messages.

An RsassaPkcs1V15PrivateKey instance hold a private RSA key for computing signatures using the RSASSA-PKCS1-v1_5 scheme as specified in RFC 3447.

An RsassaPkcs1V15PrivateKey can be imported from:

A public-private KeyPair consisting of a RsassaPkcs1V15PublicKey and a RsassaPkcs1V15PrivateKey can be generated using RsassaPkcs1V15PrivateKey.generateKey.

Example

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

// Generate a key-pair.
final keyPair = await RsassaPkcs1V15PrivateKey.generateKey(
  4096,
  BigInt.from(65537),
  Hash.sha256,
);

// Using privateKey Bob can sign a message for Alice.
final message = 'Hi Alice';
final signature = await keyPair.privateKey.signBytes(utf8.encode(message));

// Given publicKey and signature Alice can verify the message from Bob.
final isValid = await keypair.publicKey.verifyBytes(
  signature,
  utf8.encode(message),
);
if (isValid) {
  print('Authentic message from Bob: $message');
}
Annotations
  • @sealed

Properties

hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

exportJsonWebKey() Future<Map<String, dynamic>>
Export RSASSA-PKCS1-v1_5 private key in JSON Web Key format.
exportPkcs8Key() Future<Uint8List>
Export this RSASSA-PKCS1-v1_5 private key in PKCS #8 format.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
signBytes(List<int> data) Future<Uint8List>
Sign data with this RSASSA-PKCS1-v1_5 private key.
signStream(Stream<List<int>> data) Future<Uint8List>
Sign data with this RSASSA-PKCS1-v1_5 private key.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

generateKey(int modulusLength, BigInt publicExponent, Hash hash) Future<KeyPair<RsassaPkcs1V15PrivateKey, RsassaPkcs1V15PublicKey>>
Generate an RSASSA-PKCS1-v1_5 public/private key-pair.
importJsonWebKey(Map<String, dynamic> jwk, Hash hash) Future<RsassaPkcs1V15PrivateKey>
Import RSASSA-PKCS1-v1_5 private key in JSON Web Key format.
importPkcs8Key(List<int> keyData, Hash hash) Future<RsassaPkcs1V15PrivateKey>
Import RSASSA-PKCS1-v1_5 private key in PKCS #8 format.