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

时间:2016-11-25 16:44:12

标签: java digital-signature digital-certificate electronic-signature

我需要使用SignServer代表客户端创建数字签名。关于2个问题,我有点困惑。

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

3 个答案:

答案 0 :(得分:4)

  

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

我不知道这个项目,但是阅读documentation

  

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

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

  

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

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

  • EJBCA https://www.ejbca.org/用于颁发证书的已知PKI证书颁发机构软件。它是一个J2EE开源解决方案

  • 专家PKI教程:这是一组基于OpenSSL的脚本来建立证书颁发机构

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

答案 1 :(得分:1)

SignServer discussion forum

也回答了这个问题
  

多个签名者可以共享相同的密钥对和证书。只需将它们指向相同的加密令牌和密钥,并为它们配置相同的证书。

     

证书不是由SignServer创建的。生成密钥对后,您可以获得证书签名请求(CSR),您可以将其带到可以为您颁发证书的证书颁发机构(CA)。

     

对于测试,或者如果您的组织中没有CA,并且您不想从商业CA购买证书,您可以使用EJBCA等软件设置自己的PKI({{3 }或OpenSSL。

答案 2 :(得分:-2)

原始数据.getByte()+私钥à签名

你可以从中学到更多, 这个链接非常有用。 https://javaint4bytes.blogspot.in/2018/04/java-signature-certificates.html