加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

delphi – Lockbox数字签名组件问题

发布时间:2020-12-15 09:11:39 所属栏目:大数据 来源:网络整理
导读:我正在评估 TurboPower LockBox库以进行数字签名.我创建了一个1024位的RSA密钥,并试图用它来签署一个260字节的文本.更改文本中的一个或两个字符后,签名仍然有效.这可以吗?或者这可能是这个库的问题. 改变一个角色也有至关重要的作用.我需要创建一个更大的密
我正在评估 TurboPower LockBox库以进行数字签名.我创建了一个1024位的RSA密钥,并试图用它来签署一个260字节的文本.更改文本中的一个或两个字符后,签名仍然有效.这可以吗?或者这可能是这个库的问题.
改变一个角色也有至关重要的作用.我需要创建一个更大的密钥吗?

UPDATE

为了测试库,我使用了它附带的演示应用程序.我已经生成了一个1024 RSA密钥对,然后尝试了数字签名功能.首先,我尝试了一个真正的260位文本文件,发现我可以更改其中的一些字符,签名仍然有效.然后我把它缩小到followinf字符串:

AAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAA 8

当我改变’8’字符时,它仍然有效.我甚至可以缩小范围.

执行验证的代码是:

Signatory1: TSignatory;
....

var
  DocumentStream,SignatureStream: TStream;
....

DocumentStream  := TFileStream.Create( edtRSADocumentFile.Text,fmOpenread);
try
SignatureStream := TFileStream.Create( edtRSASignatureFile.Text,fmOpenread);
try
 Res := Signatory1.Verify( DocumentStream,SignatureStream)
finally
  SignatureStream.Free
end;
finally
  DocumentStream.Free;
end;

解决方法

首先,我不会认为图书馆有任何问题,因为它已被使用多年.您不应该能够更改输入并使用相同的签名来验证它并且它可以工作. Keysize不会发挥作用.

为了得到真正的答案,我会扩展你的问题 – 什么版本的Delphi?你能展示一些代码吗?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读