我正面临一个问题,无法弄清楚我错过了什么。我在c#中计算数字签名并且无法获得正确的签名值。是否有人知道签名前缀是否可以更改签名值?我的web服务想要一个“ds”前缀,我做的fom代码是计算签名,然后添加前缀。这可能是问题吗?我的摘要值是正确的,但签名值是不同的。是否有必要先设置前缀,然后计算签名? 谢谢!
答案 0 :(得分:2)
我不知道你是否还有这个问题,但如果有人像我一样找到这个帖子,这就是我找到的解决方案。我遇到了相反的问题,我需要取消“ds:”前缀,所以我使用了来自DOMSignContext类的setDefaultNamespacePrefix()方法。这是代码:
DOMSignContext dsc = new DOMSignContext(privateKey,document.getDocumentElement()。getElementsByTagName(“Rps”)。item(indexNFEs));
dsc.setDefaultNamespacePrefix( “”); //这才是真正重要的事情
signature.sign(DSC);
因此,要插入“ds:”,您可以尝试使用setDefaultNamespacePrefix(“ds:”)
希望这可以帮助您或其他任何可能访问此页面的人!