在 DSS 中使用 Base64 编码证书调用服务器签名服务
Call server-signing service with Base64 encoded certificate in DSS
我需要使用给定的证书而不是别名来执行 DSS 的 tok: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
如果是 dss-demonstrations 存储库的 demo-webapp 根目录,则必须重建 (mvn clean install
) 以将新的签名证书放入 webapp。
我需要使用给定的证书而不是别名来执行 DSS 的 tok: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
如果是 dss-demonstrations 存储库的 demo-webapp 根目录,则必须重建 (mvn clean install
) 以将新的签名证书放入 webapp。