xmlsec 2.0.4:无法解析方法集签名规范NS前缀



我从xmlsec 1.2.0更新到2.0.4,因为我正在从Java 7迁移到Java 8。

现在,我遇到的问题是该方法setSignatureSpecNSprefixorg.apache.xml.security.utils.Constants中删除。

我找不到任何文档告诉我如何替换它或如何绕过它。

我已经在邮件列表和 Apache 的 JIRA 中问过,但到目前为止还没有运气。

在我的代码中,我曾经做过:

import org.apache.xml.security.utils.Constants;
...
protected final void sign(String signedElementID, Element signedElement)
throws XMLSecurityException {
  // Setting some attributes for ID, AssertionID and ResponseID
  // ...
  // Here is where it blows up!!! 
  Constants.setSignatureSpecNSprefix("");
  // The BaseURI is the URI that's used to prepend to relative URIs
  String BaseURI = "http://someurl.com"; 
  Document document = signedElement.getOwnerDocument();
  // It shouldn't affect the signature, 
  // because we don't have any relative URLs in the document
  XMLSignature sig = new XMLSignature(doc, 
                                    BaseURI, 
                                    XMLSignature.ALGO_ID_SIGNATURE_RSA,
                                Canonicalizer.ALGO_ID_C14N_EXCL_WITH_COMMENTS);

感谢您提供的任何帮助。

据说,我们可以替换

    Constants.setSignatureSpecNSprefix("");

    ElementProxy.setDefaultPrefix(Constants.SignatureSpecNS, "");

并获得相同的结果。

相关内容

  • 没有找到相关文章

最新更新