首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数字签名:使用SignServer Java的签名者的证书

数字签名:使用SignServer Java的签名者的证书
EN

Stack Overflow用户
提问于 2016-11-25 16:44:12
回答 3查看 1.1K关注 0票数 0

我有一个要求,代表客户创建数字签名使用SignServer。我对两个问题有点困惑。

  1. 是每个客户端都需要一个唯一的证书,还是每个客户端都可以使用一个证书?
  2. 我可以使用SignServer创建数字签名证书,因为我在它们的文档中找不到类似的东西。如果不是,建议从服务器端应用程序创建数字签名证书的方法是什么?

提前谢谢

EN

回答 3

Stack Overflow用户

发布于 2016-11-28 08:15:59

( 1)是否每个客户端都需要一个唯一的证书,还是每个客户端都可以使用一个证书?

我不知道这个项目,但读了文档

SignServer是一个服务器端签名服务器。每个用户的单独签名密钥或组织的一个中心密钥

所以,取决于你的需要。如果要识别每个签名者,请使用单独的证书。在其他情况下,使用中央证书。但不是说证书存储在中央服务器中。它们不分发给用户。您需要一个中央存储库。建议使用加密硬件(HSM)。您需要为用户生成凭据,以便他们可以使用证书。

2)我是否可以使用SignServer创建数字签名证书,因为我在它们的文档中找不到类似的东西。如果不是,建议从服务器端应用程序创建数字签名证书的方法是什么?

通常,签名解决方案不与公钥证书颁发机构耦合以颁发证书。看一下这个链接

  • EJBCAhttps://www.ejbca.org/ --一种已知的PKI证书颁发软件,用于颁发证书。这是一个J2EE开源解决方案。
  • 专家PKI教程:它是一组基于OpenSSL的脚本,用于建立一个证书颁发机构

当然,您也可以使用邦西城堡构建自己的集成解决方案。根据要颁发的证书数量和CA的复杂性选择它。

票数 4
EN

Stack Overflow用户

发布于 2016-11-30 12:34:11

这个问题也在SignServer论坛中得到了回答。

多个签名者可以共享相同的密钥对和证书。只需将它们指向相同的密码令牌和密钥,并为它们配置相同的证书。 证书不打算由SignServer创建。生成密钥对之后,您可以获得一个证书签名请求(CSR),您可以将该请求带到证书颁发机构(CA),它可以为您颁发证书。 为了进行测试,或者在您的组织中没有CA的情况下,如果您不想从商业CA购买证书,您可以使用EJBCA (ejbca.org)或OpenSSL这样的软件来建立您自己的PKI。

票数 1
EN

Stack Overflow用户

发布于 2018-04-14 17:31:00

由于签名必须通过网络传递,所以我们转换成字符串,但由于安全性的原因,不能只使用原始字节数组的字符串。因此,我们对字节数组进行操作,并将其转换为不同的字符串。我们不应该发送新字符串(字节[]签名),我们应该发送新字符串(Base64.encode(byte[]签名))

公式是: data.getByte() +私钥à签名

你可以从中学到更多,链接是非常有帮助的。http://javaint4bytes.blogspot.com/2018/04/java-signature-certificates.html

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40809425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档