0

我似乎无法让任何 xmlsec1 标志调用正常工作;我现在尝试了几种情况,我能想到的最好的方法是以下错误消息:

root@sbe:/srv/jarsigner-keystore# xmlsec1 sign --privkey-pem MEDELEXIS_SWD_SRV.p12.key.pem unsignedTemplate.xml 
func=xmlSecOpenSSLDsaSha1EvpSign:file=signatures.c:line=639:obj=unknown:subj=unknown:error=11:invalid size:size(r)=32 or size(s)=32 > 20
func=xmlSecOpenSSLEvpSignatureExecute:file=signatures.c:line=491:obj=dsa-sha1:subj=EVP_SignFinal:error=4:crypto library function failed: 
func=xmlSecTransformDefaultPushBin:file=transforms.c:line=2207:obj=dsa-sha1:subj=xmlSecTransformExecute:error=1:xmlsec library function failed:final=1
func=xmlSecTransformIOBufferClose:file=transforms.c:line=2891:obj=dsa-sha1:subj=xmlSecTransformPushBin:error=1:xmlsec library function failed: 
func=xmlSecTransformC14NPushXml:file=c14n.c:line=279:obj=exc-c14n:subj=xmlOutputBufferClose:error=5:libxml2 library function failed: 
func=xmlSecTransformCtxXmlExecute:file=transforms.c:line=1236:obj=unknown:subj=xmlSecTransformPushXml:error=1:xmlsec library function failed:transform=exc-c14n
func=xmlSecDSigCtxProcessSignatureNode:file=xmldsig.c:line=614:obj=unknown:subj=xmlSecTransformCtxXmlExecute:error=1:xmlsec library function failed: 
func=xmlSecDSigCtxSign:file=xmldsig.c:line=303:obj=unknown:subj=xmlSecDSigCtxSigantureProcessNode:error=1:xmlsec library function failed: 
Error: signature failed 
Error: failed to sign file "unsignedTemplate.xml"

我不知道 invalid size:size(r)=32 or size(s)=32 > 20 是什么意思?!我尝试了几种带有 pkcs12 的键组合,转换为 pem, der 每次上述错误都是我能得到的最好的。原始证书是使用gnomint创建的,所以我想这应该是正确的!

当我使用 xmlsec 1.2.18 时,唯一缺少的是尝试使用较新的 openssl 编译 1.2.19 ......但几个小时后,这只会引发新的问题,这些问题必须放在 stackoverflow 中!

任何帮助表示赞赏!

4

1 回答 1

2

该问题仅发生在大小 >=2048 位的 DSA 密钥上!所以例如以下失败

openssl dsaparam 2048 > dsaparam 
openssl gendsa -out keydsa.pem dsaparam
xmlsec1 sign --output doc-signed-x509.xml --privkey-pem keydsa.pem unsigned.xml

而以下工作

openssl dsaparam 2047 > dsaparam 
openssl gendsa -out keydsa.pem dsaparam
xmlsec1 sign --output doc-signed-x509.xml --privkey-pem keydsa.pem unsigned.xml

是时候提交错误报告了吗?

于 2013-11-09T21:35:56.693 回答