在 Dart 中使用 PointyCastle 进行 SHA-384/PSS 签名验证

问题描述

我有一个公钥、一条消息和一个签名。我想使用 SHA-384/PSSPointyCastle signer 验证签名是否正确。

我设法构建了一些东西,但签名验证失败了,我想这是因为我不知道如何构建/创建它的 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() 的第二个参数传递什么。

非常感谢任何提示

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)