Signature.fromSerializedString constructor
Signature.fromSerializedString(
- String serialized
Deserialize a signature encoded with serialize into its component parts
Implementation
Signature.fromSerializedString(String serialized) {
if (serialized.contains('+') || serialized.contains('/')) {
throw new Exception('string not base64 url safe encoding');
}
final decomposedPayload = serialized.split(".");
if (decomposedPayload.length != 4) {
throw Exception('Signature should contain 4 parts');
}
final signed = decomposedPayload[0];
final signingStrategy = decomposedPayload[1];
final encodedSignature = decomposedPayload[2];
final encodedData = decomposedPayload[3];
if (signed == 'Sign' && signingStrategy.substring(0, 3) == 'Rsa') {
this.keySize = int.parse(signingStrategy.substring(3));
this.signature = base64Url.decode(encodedSignature);
this.data = base64Url.decode(encodedData);
} else {
throw new Exception('String is not a serialized RSA signature');
}
}