标签: digital-signature

什么是常见的 RSA 符号指数?

RSA 加密/解密指数和 RSA 签名/校验指数之间有什么区别吗?

encryption cryptography rsa digital-signature

3
推荐指数
1
解决办法
1万
查看次数

如何使用iText对pdf进行数字签名?

如何使用iText签署pdf?我正在浏览这个LINK 但却不了解my_private_key.pfx.我真的需要数字签名证书吗?请澄清我.提前致谢.

java pdf certificate itext digital-signature

3
推荐指数
1
解决办法
2万
查看次数

openSSL - 如何设置发行人详细信息?

我正在使用下一个命令来创建自签名数字签名证书:

openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout myCert.pem -out homeMadeCrt/myCert_20140209_230846.pem -subj "/C=IL/ST=Oregon/L=Portland/O=companyName/CN=CommonName/GN=GivenName/SN=SureName/emailAddress=email@addresss.com/serialNumber=123456"

openssl pkcs12 -export -in myCert.pem -out myCert.p12 -password pass:foobar

openssl pkcs12 -in myCert.p12 -out myCert.crt -password pass:foobar

一切都很好,唯一的问题是我需要发行人的详细信息与主题不同,但在这种方法中它们是相同的。

你知道我可以控制发行人的详细信息吗?

openssl self-signed digital-signature

3
推荐指数
1
解决办法
1万
查看次数

iText分离签名手段

你能否详细解释一下我最终给我一些关于 iText 分离签名究竟意味着什么的例子(一个用于附加,一个用于分离)?

我找到了这个精彩的文档:关于 iText 数字签名的iText 数字签名 pdf但我仍然不确定我是否理解 iText 分离签名概念。

阅读文档(见链接)我找到了这个定义:

在 PDF 中,我们有时会提到分离的签名。根据维基百科,分离签名是一种数字签名,它“与其签名数据分开”,而不是“捆绑到一个文件中”。这个定义在 PDF 的上下文中并不完全正确:签名包含在 PDF 文件中,但签名的属性是“签名的一部分”,而不是“存储在签名字典中”

我不清楚“签名的属性”是什么意思(它指的是什么签名属性?)

请注意,文章(iText 文档)的作者正在处理签名 PDF 文件的以下片段:

%PDF-1.4
%âãÏÓ
3 0 obj
<</F 132/Type/Annot/Subtype/Widget/Rect[0 0 0 0]/FT/Sig
/DR<<>>/T(signature)/V 1 0 R/P 4 0 R/AP<</N 2 0 R>>>>
endobj
1 0 obj
<</Contents <0481801e6d931d561563fb254e27c846e08325570847ed63d6f9e35 ... b2c8788a5>
/Type/Sig/SubFilter/adbe.pkcs7.detached/Location(Ghent)/M(D:20120928104114+02'00')
/ByteRange [0 160 16546 1745 ]/Filter/Adobe.PPKLite/Reason(Test)/ContactInfo()>>
endobj
...
9 0 obj
<</Length 63>>stream
q
BT
36 806 Td
0 -18 Td
/F1 12 Tf …
Run Code Online (Sandbox Code Playgroud)

itext digital-signature

3
推荐指数
1
解决办法
3417
查看次数

为什么gzip使用CRC而不是一般的哈希算法?

数字签名代码字有什么区别?

背景: 我最近一直在使用gzip压缩文件进行大量的工作.我在阅读Python zlib文档时发现的一件有趣的事情是声称CRC不应该用作通用哈希算法.这让我想知道,如果CRC不是一般的哈希算法,它的重点是什么?检查平等不是重点吗?

algorithm hash gzip crc digital-signature

3
推荐指数
2
解决办法
331
查看次数

在充气城堡上验证javacard签名ALG_ECDSA_SHA

我的问题看起来像这样:我在javaCard上生成一个签名(jcdk 2.2.2),当我想在终端上使用BouncyCastle验证它时,签名并不总是被验证 - 3,66中的1(平均100次尝试)签名是经核实,其余部分归还假.当我验证卡上的签名时,它总是返回true,但是在终端上它通常返回false,但有时是真的.因为终端有时给出一个肯定的答案我认为代码是好的,原因是其他地方,但我可能是错的.

在javacard im usign Signature.ALG_ECDSA_SHA,并在终端Signature.getInstance("SHA1withECDSA","BC")上我尝试了SHA1withDetECDSA,但我的行为相似.

请帮忙.

java cryptography bouncycastle digital-signature javacard

3
推荐指数
1
解决办法
902
查看次数

验证c#中的数字签名

我有一个签名的"DLL"文件,我想在运行时验证他的数字签名("在我加载之前")

我的代码中嵌入了证书的公钥,有没有办法从数字签名中获取"消息摘要"?或另一种验证文件的方法没有被操纵?

我不想检查证书的"CA"和其他属性,因为恶意用户可以创建具有相同属性的证书

*注意我也不想使用SignTool :)

.net c# certificate digital-signature x509certificate

3
推荐指数
1
解决办法
1942
查看次数

GnuPG的clearsign选项如何工作?

可以使用PGP对文件进行签名,通过clearsign在CMD中执行以下命令来使用选项

gpg --clearsign filename

GnuPG使用什么样的算法来清除选项,这样即使在执行签名之后,输出签名也是可读的?

我阅读了一本手册,说明了clearsign选项是如何工作的,但我无法理解它.它可以在这里找到.

根据手册,盔甲适用于签名,使签名不可读.但问题是清晰度如何使签名可读.

但是,如何控制由哈希算法和加密函数组成的签名输出作为明文?

通过使用散列和加密函数,如何将输出保证为可读的ASCII字符范围?

cryptography gnupg pgp digital-signature

3
推荐指数
1
解决办法
1203
查看次数

使用 node.js 加密的数字签名

有人可以提供有关如何使用 node.js 实现数字签名的基本演练吗?我已经谷歌搜索,但还没有得到它。说,我有一个 API,我想签名并验证对它的每个 http 请求和它的响应。这就是我目前的想象,请纠正我的错误:

1)我需要为客户端生成一个足够随机的密钥,用于签署请求;

2)结果签名(通过标头提供)是用字符串的密钥散列加密的,它必须包括:

  • 请求正文的哈希值(以防止篡改);
  • 时间戳;
  • 随机数;
  • 网址;
  • HTTP 动词

然后,服务器将能够检查消息的真实性。

问题:

1)nonce(一些随机值)和时间戳(我读过一篇建议同时使用两者的帖子)在这种情况下有什么区别?

2) 我是否需要在该字符串中包含 eTag 标头?

3) 还有什么,上面没有列出,应该包括在内?

4) 我应该在 API 服务器上保留与客户端相同的密钥并使用它解密和检查请求,还是应该将存储在 API 服务器上的密钥和存储在服务器上的密钥与 API 通信私钥-公钥对?如果它们确实需要成为私钥 - 公钥密钥对,我如何在节点中使用公钥(反之亦然)解密用私钥加密的内容?

请纠正我描述中的错误并添加我遗漏的内容。谢谢你。

encryption digital-signature node.js

3
推荐指数
1
解决办法
1万
查看次数

javascript/golang RSA加密/验证

我在客户端上有以下javascript

var NodeRSA = require('node-rsa');

var ClientSide = new NodeRSA({ b: 512 });
var privateKey = `-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAj1IEeouqDYiMX0rMiPAI64UntzNxE01+tB+k+aKesHzVXE5A
GnyWHIFdrByfjR93CMh3y56xsL78VP1/Xp8iVmAnbiFN5kpmawJ1owhDvNIl8A+Q
UiDzMg0z/yepzjp61Dg4CUFzGrmTfYO1aMWyWhR0ZKfy+HvVaGjpod2ioScU7Fkz
eO+fDR85quLFta7OXDwqD4NCPYeZTS5fgK1Nn72nrItoj5e36fzWvZntfvi4NHt7
nqOj4VH5e5YJHvmLWHh5Swh+OVyIAwhxYSK5PSupicGG8ixVy75hkjzZ2vW5JdVW
MPYbVUMpqjtE+i1zQTYNJ36hM/zznZR/drU7UwIDAQABAoIBAHvs02qTMWuaUqZj
KxCNXWkpLfo/RNsH+zMM2b3xW34HswWps8wzRilHwxN7fIquVmMF1HAAvGyz98QV
nfjXaP1/DxkvOwiR9JU6/zUFhGzU2XEGRCh/zUnOGNPcG/vynRq7sdhu+3R0WpAB
Pu9lYp55aVtPzcwGZ7VsYfhQiLsGnJ5GkBS7z4P3aG29By6fGnTwR83iQHtR5SvQ
Rb/xJxZjTM00OZ2ssAtw24Hu8QXTuOAHdy2B5E1tsF+hVHs4iB0OiLzW7m4GBkb/
/og76ouB4G+j6IjG2E5TO0eAdslKn2w3dZRgqnVDF5CPtRdbAc83xOwSouuuqN26
FPsLkwECgYEA4Jyf3j9UzW0znnOcul4MDvfKuMCzD/5wnc24aYBbie4Joi/jqDbc
9J5jqyfgzdqwjxiwkEFJi7gBcclO1i1SoIfA6ooVoJeQlzdMpSytZVhzgE2aJO1E
ORP7kLimAHysjMJ27Fix1VRZltcZe0E9DErkw/hoPemAMvDvW2myyaECgYEAo1k7
iS4O9GSHUKvbEJWR5r+9Qvv4aObOaRFRDfq4/E9fZwujzKAvxwkGFXjxwpzxKJqN
paVEL2cWY+S46f4B501xgnNknuf6po8ZEaXD5vy281xoU4YX1KFySbV8eXGmkyiO
M2+vPGrsTGOIsKnQW8jmaxWTClbSdPoLWfwzqHMCgYAS/Kp2+xuMEgMfDd7d0j1q
tn+ohoGchIG4lT9Vi8gxLLIbx7iS67BZ7Vm3ijNys13hetDSIPK6oN9eYwoLCOHH
ODKSoQGbBbTvU3ljLRerTYLWAblaDcSKnqnRXgqKV/+uFnI/IHBH/E1mduBsjuM+
OsaD2mfVc/umUr+pFpJKgQKBgCeaTb3fhc6oxMnBMLZfnOT13Zvs3PgJ5UdB5IXg
IJNDZxzjjI3i1FKMFIaGMQ7+39T5S5g6bkKT2rDTViWc6Lc8ZmW7Nkz0byeMkAZg
SxOod26fG8gMPaDWl4/ZSVlkPX92GKvNyw152tpWU2CJezOVjI+vxlt+Wz3zFWd2
psuTAoGAbdlzYFK+7e2ru8fdbVk9SBLn9cnPdDCx+wgJV7dB0zzSh1oqIrE766Mx
c9wBIKWNqNEsFsFI4ejuMRdC4Hyc6ecCNea3nj3BHCS70V0p1MtFII6SpADDqBTW
3ZnLfcN2MiFDBXVqNkCsMcqd8KVdzEqEy1JDplmW84OpfQu88ms=
-----END RSA PRIVATE KEY-----`
var publicKey = `-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAj1IEeouqDYiMX0rMiPAI
64UntzNxE01+tB+k+aKesHzVXE5AGnyWHIFdrByfjR93CMh3y56xsL78VP1/Xp8i
VmAnbiFN5kpmawJ1owhDvNIl8A+QUiDzMg0z/yepzjp61Dg4CUFzGrmTfYO1aMWy
WhR0ZKfy+HvVaGjpod2ioScU7FkzeO+fDR85quLFta7OXDwqD4NCPYeZTS5fgK1N
n72nrItoj5e36fzWvZntfvi4NHt7nqOj4VH5e5YJHvmLWHh5Swh+OVyIAwhxYSK5
PSupicGG8ixVy75hkjzZ2vW5JdVWMPYbVUMpqjtE+i1zQTYNJ36hM/zznZR/drU7
UwIDAQAB
-----END PUBLIC KEY-----`

ClientSide.importKey(privateKey, 'pkcs1');
let result = ClientSide.sign('test_message', 'base64')

console.log(result)

var serverSide = new NodeRSA({ b: 512 …
Run Code Online (Sandbox Code Playgroud)

javascript cryptography rsa go digital-signature

3
推荐指数
1
解决办法
578
查看次数