2

我有一个公钥、一条消息和一个签名。SHA-384/PSS我想使用来自的签名者验证签名是否正确PointyCastle

我设法构建了一些东西,但是签名验证失败了,我想这是因为salt我不知道如何构建/创建它的参数。

  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,
  );

我不确定将什么传递给ParametersWithSalt(keyParams, Uint8List()初始化签名者所需的第二个参数。

任何提示都非常感谢。

4

0 回答 0