微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

签署由 jwt 和 tls 保护的分离的 xml

如何解决签署由 jwt 和 tls 保护的分离的 xml

我在签署 XML 文档时遇到问题。我需要像在这个 url 中制作的那样签署外部(分离的)文档: https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.xml.signedxml.computesignature?view=net-5.0 此示例适用于我的代码,但是,我的 xml 文档由 JWT 和 TLS 证书保护,因此当我尝试计算签名时,我遇到异常“无法创建安全的 ssl/tls 通道”:/ 当我尝试在服务器上创建 get 请求并且当我附加 tls 证书问题解决时,我遇到了类似的错误。不幸的是,我不知道在这种情况下如何附加 jwt 令牌和 tls(在签名机制中):/

解决方法

所以...经过一个小时的工作,我找到了一些解决方案。 问题出在 System.Security.Cryptography.Xml 参考类中。在这个类中,当引用一些外部 xml 时,方法 GetHash 发出简单的 GET 请求,你不能签署你自己的解析器。 不幸的是,我无法编辑 System.Security.Cryptography .dll。 但是我可以编辑 Medicom.XADES,所以在 BuildDigestedReferences 方法中我需要注释这一行: //object m_ containsDocument = SignedXml_m_ containsDocument.GetValue(this); //Reference_UpdateHashValue.Invoke(reference2,new object[] { m_ containsDocument,refList });

并准备我自己的 DigestValue 以供参考:

reference2.DigestValue = GetHashXML(reference2); 

其中 GetHashXML(Reference reference) 是向外部(由 ssl/tls 保护)xml 发出请求,然后计算 SHA256 哈希值并通过 BYTE 将其值返回给 reference2.DigestValue 的方法

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?