我正在尝试验证签名的XML SAML响应。它在XML中包含一个伪造的证书。
我在一个PEM文件中有已知的真实证书。
当我跑的时候
xmlsec1 --verify --pubkey-cert-pem pubkey-real.pem \
--id-attr:ID urn:oasis:names:tc:SAML:2.0:assertion:Assertion \
--node-id DaavCk888T6_KR-Rtdm52CZSceG saml-req-spoofed.xml它正确地验证了它!它使用伪造的SAML请求中的证书,而不是我在命令行传递的已知正确的证书。我之所以知道这一点,是因为当我将--print-debug添加到参数中时,它会输出伪造的证书信息。
有没有办法强制xmlsec1忽略XML文件中的证书,并强制它使用我在命令行传递的证书?
我在Mac上运行xmlsec1 1.2.20。
发布于 2020-02-27 07:27:47
经过相当多的努力,我发现你可以尝试添加--enabled-key-data,例如:
--enabled-key-data rsa或--enabled-key-data x509
这两种方法都应该有效。您也可以尝试
xmlsec1 --list-key-data查看您可以选择的选项。
https://stackoverflow.com/questions/53416673
复制相似问题