c# - 从 CADES 签名的 XML 文件中提取原始文件内容
问题描述
首先我说我不想要现成的代码,而是来自比我了解更多的人的评估!我正在处理用 CADES 签名的 XML.P7M 文件。此签名在文件的开头、结尾和中间添加字符,使其难以辨认。为了使其可读,我必须通过删除签名注入的内容来提取文件。我使用 Bouncycastle DLL 执行此操作。这是代码
Public Function ConvertP7MXml(ByVal filePath As String) As Boolean
Try
Using inputStream = New FileStream(filePath, FileMode.Open, FileAccess.Read)
Dim signedFile As CmsSignedData = New CmsSignedData(inputStream)
sFile = Application.StartupPath & "\tmpDecrFile.xml" 'Path.GetTempFileName()
If My.Computer.FileSystem.FileExists(sFile) Then My.Computer.FileSystem.DeleteFile(sFile)
Using fileStream = New FileStream(sFile, FileMode.Create, FileAccess.Write, FileShare.ReadWrite)
signedFile.SignedContent.Write(fileStream)
End Using
File.SetAttributes(sFile, FileAttributes.Hidden)
Return True
End Using
Catch ex As Exception
MessageBox.Show("Corrupted P7M file or invalid file")
Return False
End Try
End Function
我想知道是否可以使用仅引用任何文档的框架类来执行此操作。我为之前不太理解的信息道歉,但我的英文写得不好,我是意大利人!感谢您的关注
解决方案
推荐阅读
- reactjs - 为什么类型在枚举中没有重叠?
- java - 使用 java 在 rhino 中调用 chartjs
- django - Creating functional classes in Django that provide deployment pipeline functionality
- rest - Can I invent my own HTTP Status Code for when an entity is updated and the server returns a representation of the updated entity?
- c# - 匹配数组
SqlParser.Parser 的输出? - .net - 如何批量插入SQL Server数据库?
- javascript - 按类名的按钮选择的单选按钮组
- python-3.x - 如何在 SQLAlchemy 中获取 SQL Server 函数调用的结果
- mysql - 在 MySQL 表中删除外键时如何修复错误?
- django - 如何使具有多个后备的 try_files 在 nginx 中工作?