rest - 在 DSS 中使用 Base64 编码证书调用服务器签名服务

标签 rest digital-signature electronic-signature p12

我需要执行 DSStok:sign 请求使用给定的证书而不是别名。

<alias>certificate</alias>

我试图用 base64 字符串替换下面的一个,但在日志中出现以下错误。

INFO | http-nio-8080-exec-3 | o.a.cxf.services.SoapSignatureTokenConnection.FAULT_OUT | FAULT_OUT

示例,原始 SOAP 请求:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tok="http://token.dss.esig.europa.eu/">
   <soapenv:Header/>
   <soapenv:Body>
      <tok:sign>
         <toBeSigned>
            <bytes>wFNeS+K3n/2TKRMFQ2v4iTFOSj+uwF7P/Lt98xrZ5Ro=</bytes>
         </toBeSigned>
         <digestAlgorithm>SHA256</digestAlgorithm>
         <alias>certificate</alias>
      </tok:sign>
   </soapenv:Body>
</soapenv:Envelope>

我已经将证书添加到 cacerts 文件,但无法通过 getKeys SOAP 请求检索。或者换句话说,我如何将新的 p12 添加到服务器端以使其通过别名可用?

最佳答案

p12文件在dss.properties文件中是可配置的,不支持直接在请求中使用base64:

Server signing token
dss.server.signing.keystore.type = PKCS12
dss.server.signing.keystore.filename = user_a_rsa.p12
dss.server.signing.keystore.password = password

如果是 demo-webapp,则必须重建 dss-demonstrations 存储库的根目录(mvn clean install)以将新的签名证书放入 webapp。

关于rest - 在 DSS 中使用 Base64 编码证书调用服务器签名服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54592168/

相关文章:

java - 如何将 REST Web 服务部署到 AWS?

java - 将 PSS 参数中的 "salt length"参数更改为 BouncycaSTLe

http - 为什么不允许 HTTP PUT 在 REST API 中进行部分更新?

java - 我可以创建在 JBOSS 服务器上运行的类的对象吗?

c# - 如何正确使用rsa验证数据?

java - 从 XML 签名值获取 sha1 哈希值

javascript - Wacom Stu-430 签名捕获速度太慢

php - 签名板: Capturing more than one signature

node.js - Rest API Kafka 流