在DSS中使用Base64编码的证书呼叫服务器签名服务

时间:2019-02-08 12:08:53

标签: 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使其可以通过别名使用?

1 个答案:

答案 0 :(得分:0)

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

如果要演示dss-demonstrations存储库的demo-webapp根,则必须重建(mvn clean install)以向Webapp放置新的签名证书。