I have a public key, a message and a signature. I want to verify that the signature is correct using SHA-384/PSS signer from PointyCastle.
I managed to build something but the signature verification fails and I suppose it is because of salt parameter which I don't know how to build/create it.
var rsaPublicKey = RSAPublicKey.fromPEM(publicKey);
final signer = Signer('SHA-384/PSS');
AsymmetricKeyParameter<RSAAsymmetricKey> keyParams =
PublicKeyParameter<RSAPublicKey>(rsaPublicKey.asPointyCastle);
signer.init(
false,
ParametersWithSalt(keyParams, Uint8List()), // THIS is the salt
);
final sig = PSSSignature(base64Decode(signature));
final verified = signer.verifySignature(
Uint8List.fromList(message.codeUnits),
sig,
);
I'm not sure what to pass to the second parameter of ParametersWithSalt(keyParams, Uint8List() needed to initialise the signer.
Any hint is highly appreciated.