如何得到SignedXm验证Xml签名的日志文件

SignedXml是一个重要的类,主要用来对Xml签名和验证。

如果签名验证出错,但是它没有提供具体的错误信息。

根据标准,重要的签名验证步骤有两个,一个是digest的验证,另一个是签名的验证。

Java的官方代码可以告诉你如何得到这两步的错误信息。不过C#就没有,而是通过SignedXmlDebugLog写到微软的日志框架里。

其实微软的验证出错信息更为详细,但是就是不告诉你如何去得到。

我按照网上文章把listener,traceSource配置好了,就是得不到日志,真的是脑袋大。

难后用ILSPY查看反编译代码,发现SignedXmlDebugLog时internal类,其中有个私有的traceSource,想在运行时看看到底traceSource有没有配置后或者listerner有没有配置好,

结果用Assembly.GetTypes()死活找不到SignedXmlDebugLog类,但是反编译又明明能看到,真是见鬼了!

我还以为是internal类无法反射了,头皮都快挠破了!

反复试验其他的internal类发现时运行时版本搞错了,我的项目的运行时是2.0,但是SignedXmlDebugLog是在4.0里才有,2.0的System.Security.dll里没有。

TNND,运行时版本搞死人!

把项目运行时改成4.0,签名验证日志也出来了,SignedXmlDebugLog也可以抓出来了。

不过终于知道如何配置trace source,如何配置微软的日志了。

硬座宝发明人原创,如果想转载必须保留“硬座宝发明人原创”。

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

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇