Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C#中签名和验证XML文件

在C#中签名和验证XML文件
EN

Stack Overflow用户
提问于 2013-12-13 09:42:27
回答 1查看 1.5K关注 0票数 0

我试图在一台计算机上签名XML,然后在另一台计算机上验证该XML。我见过这个问题(Signed and Verify xml file in C#),但提问者不清楚,也没有找到答案。

我使用以下示例对XML文件进行签名和验证:http://msdn.microsoft.com/en-us/library/ms229745(v=vs.110).aspx

如果我在同一台计算机上同时运行签名和验证,则验证工作。但是当我尝试在另一台计算机上验证时,它失败了。

在对文件进行签名之前,我创建如下所示的密钥容器:

代码语言:javascript
运行
AI代码解释
复制
aspnet_iisreg -pc "MY_KEY_CONTAINER" -exp

我在XML上签名,然后导出密钥(请注意,这里我没有使用-pri导出私钥):

代码语言:javascript
运行
AI代码解释
复制
aspnet_iisreg -ps "MY_KEY_CONTAINER" "D:\\MY_KEY_CONTAINER.xml" 

然后在另一台计算机上导入键:

代码语言:javascript
运行
AI代码解释
复制
aspnet_iisreg -pi "MY_KEY_CONTAINER" "D:\\MY_KEY_CONTAINER.xml"

然后,在第二台计算机上,我运行与第一台计算机相同的验证应用程序。但是,在第二台计算机上,验证失败。这两台机器上的设置是相同的。它们都运行着相同的.net版本。

我要确认,我所描述的进程应该有效。如果我的代码没有问题,我上面描述的密钥交换过程是否有效?

编辑:我开始将键打印到屏幕上,并意识到即使删除旧键并创建新键,应用程序中的键也不会更改。似乎有两个不同的关键容器,即使它们有相同的名称。我的应用程序正在访问一个密钥容器,在运行aspnet_iisreg命令时使用另一个密钥容器。这是正确的吗?是什么原因造成的,我能解决吗?

EN

回答 1

Stack Overflow用户

发布于 2013-12-13 10:38:15

上面提到的MSDN示例遗漏的是创建的签名中的KeyInfo结构。KeyInfo甚至允许您将证书包含在已签名的文档中,这使得证书完全可移植--证书是签名文档的一部分,这意味着在接收方您不仅可以验证签名,还可以接受或拒绝证书(通常涉及拇指指纹查找)。

我在MSDN文章中也不喜欢的是缺乏理论--有三种类型的签名--信封、信封和分离。这种区别可能很重要,最好能更深入地了解正在发生的事情。

这就是为什么我编写了一个包含三个部分的教程,介绍可互操作的XMLDsig。我展示了如何以可互操作的方式在C#和Java中创建和验证签名:

第一部分(理论) http://www.wiktorzychla.com/2012/12/interoperable-xml-digital-signatures-c.html

第2部分(C#) 20.html

第3部分(Java) 4247.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20572737

复制
相关文章
设置输入延时约束
这是一个经典的时序分析模型,上游芯片将时钟发送给FPGA,对于内部同步元件之间的可以使用create_clock进行约束,对于外部芯片发送数据通过FPGA端口到达FPGA内部第一级接受触发器使用set_input_delay进行约束,对于FPGA的末级触发器通过端口到达下游芯片使用set_output_delay进行约束。输入端口到输出端口的组合逻辑使用set_max_delay进行约束。 图中trace_delay指的是板级延迟,输入延迟指的是上游芯片的时钟沿发出数据到FPGA接收到数据所需的时
瓜大三哥
2018/02/24
2.5K0
设置输入延时约束
iOS从Xib中设置样式
iOS在写视图的有的人喜欢纯代码去写,从之前的绝对定位方式(Frame),到现在的自动布局(Autolayout),但这种方式的好处是便于复制修改和装X,但是缺点是代码不容易看,不便于修改
码客说
2019/10/22
2.4K0
【已解决】Xcode 9对于 Fastlane 打包成功无法Export iPA
【已解决】Xcode 9对于 Fastlane 打包成功无法Export iPA 问题描述 最近打包系统一直走在导出 iPA 的时候就错误了。出现了证书错误。 29E2BFAA-FAA9-40D6-A
君赏
2018/09/07
1K0
WebGL或OpenGL关于模型视图投影变换的设置技巧
看了不少的关于WebGL/OpenGL的资料,笔者发现这些资料在讲解图形变换的时候都讲了很多的原理,然后举出一个特别简单的实例(坐标是1.0,0.5的那种)来讲解。确实一看就懂,但用到实际的场景之中就一脸懵逼了(比如地形的三维坐标都是很大的数字)。所以笔者这里结合一个具体的实例,总结下WebGL/OpenGL中,关于模型变换、视图变换、投影变换的设置技巧。
charlee44
2022/05/05
1.1K0
WebGL或OpenGL关于模型视图投影变换的设置技巧
或对,或错?
公号许久没更文了,这段时间以来,自己在面临着一些抉择。未曾想过,毕业后一个月考虑的事情比大学四年加起来的还要多。也许是大学过得太安逸了,欠的债全部攒到毕业后来还。
Python技术与生活认知的分享
2018/09/30
4710
或对,或错?
Oracle 基础--【表空间与表】【约束】【视图】
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
颍川
2019/11/21
8810
设置Xcode自动管理证书文件
许多的开发者依然维护着旧的项目,他们也许需要选择一个证书签名去编译。这个问题讨论怎么在Xcode设置来自动化选择证书通过他们默认的设置,这个问题适用于IOS和MAC的开发人员
君赏
2018/08/31
3.3K0
设置Xcode自动管理证书文件
对复制实施主键约束
在本文中,我们介绍一个配置选项,该选项控制复制通道是否允许创建没有主键的表。这延续了我们最近在复制安全性方面的工作,在该工作中,我们允许用户强制执行权限检查和/或强制执行基于行的事件。
MySQLSE
2020/09/28
9430
对复制实施主键约束
【IOS开发基础系列】Autolayout自动布局专题
        bounds是指这个view在它自己坐标系的坐标和大小 而frame指的是这个view在它superview的坐标系的坐标和大小区别主要在坐标系这一块。很明显一个是自己为原点的坐标系,一个是以屏幕为原点的坐标系。
江中散人_Jun
2023/10/16
3990
【IOS开发基础系列】Autolayout自动布局专题
Xcode中和symbols有关的几个设置
其实被这个问题困扰了好久,不过秉承着三分钟热度的新年新气象,还是要多弄懂一点(⊙_⊙)ゞ
且行且珍惜_iOS
2022/05/13
2.1K0
Xcode中和symbols有关的几个设置
【约束布局】ConstraintLayout 之 Chains 链式约束 ( Chains 简介 | 代码 及 布局分析 | 链头设置 | 间距设置 | 风格设置 | 权重设置 )
Chains 创建后 代码 及 样式 : 下图是 官方配图 , 表示一个 最小的 链 , 只有两个 控件 , 控件两端 约束于 父控件 , 控件之间 互相约束 ;
韩曙亮
2023/03/27
3.8K0
【约束布局】ConstraintLayout 之 Chains 链式约束 ( Chains 简介 | 代码 及 布局分析 | 链头设置 | 间距设置 | 风格设置 | 权重设置 )
xcode7中KSImageNamed-Xcode-master插件无法使用问题的解决
Xcode 升级到7之后VVDocumenter-Xcode,OMColorSense,KSImageNamed等一系列的插件失效的解决办法,以及不小心误点了 Skipbundle 的解决办法。
用户1451823
2018/09/13
9960
xcode7中KSImageNamed-Xcode-master插件无法使用问题的解决
xcode 8.0 导致rn无法运行解决办法
Ignoring return value of function declared with warn_unused_result attribute
conanma
2021/05/10
8410
MyLayout和XIB或SB的混合使用方法
MyLayout是一个可以非常简单和方便的实现各种界面布局的第三方开源库。在我的github项目中大部分DEMO都是通过代码来实现界面布局的,但这并不是表示MyLayout不支持XIB和SB。 在构建一个应用的MVC框架中,我们希望模型、视图、控制这三部分都尽可能的低耦合,而苹果推荐的视图部分构建则是通过XIB或者SB来完成的。因为MyLayout中的各种布局视图类其实都是从UIView派生的,因此MyLayout是完全可以和XIB以及SB混合使用的。 MyLayout的一些布局视图属性以及子视图的扩展布局属性是可以在XIB或者SB界面编辑器里面进行设置的。唯一的一个缺点是这些属性的设置不能起到所见即所得的效果。 因为MyLayout是一个独立而完整的界面布局框架,因此您可以和系统默认的AutoLayout混合使用,也可以完全独立的单独使用。
欧阳大哥2013
2018/08/22
9190
MyLayout和XIB或SB的混合使用方法
【说站】mysql主键约束的设置
UNIQUE 和 PRIMARY KEY 的区别:一个表可以有多个字段声明为UNIQUE,但只能有一个 PRIMARY KEY声明。
很酷的站长
2022/11/23
2.8K0
WWDC 2018年十大视频评论
现在,“ 开发人员Triceraptus ” 的年度迁移已经结束,WWDC 2018包装已经从圣何塞的McEnery会议中心落下帷幕,我们还剩下另一系列令人信服的会议视频。
iOSDevLog
2018/08/22
3.5K0
WWDC 2018年十大视频评论
mysql 设置外键约束(foreign key)
建立外键约束可以采用列级约束语法和表级约束语法,如果仅仅对单独的一个数据列建立外键约束,则使用列级约束语法即可;如果需要对多个列组合创建外键约束,或者需要为外键约束指定名字则必须使用表级约束语法。
全栈程序员站长
2022/06/25
5.6K0
WWV 2018年十大必看视频
我们汇集了十大WWDC 2018视频列表,涵盖了您需要知道的一切,包括Core ML,Siri Shortcuts,ARKit 2等等!
iOSDevLog
2018/10/10
3.1K0
WWV 2018年十大必看视频
怎么设置ie兼容性视图设置_ie浏览器兼容性视图怎么设置
通过域策略和用户配置文件,设定IE的兼容性视图后,新发放虚拟机兼容性视图设置没有效果
全栈程序员站长
2022/10/04
2.9K0
怎么设置ie兼容性视图设置_ie浏览器兼容性视图怎么设置
mysql 取消外键约束_主键约束和外键约束什么意思
解决方法是在Mysql中取消外键约束: SET FOREIGN_KEY_CHECKS=0;
全栈程序员站长
2022/11/01
6.9K0
mysql 取消外键约束_主键约束和外键约束什么意思

相似问题

无法为重复视图设置约束(Xcode 11.0)

123

解开或关闭视图控制器不工作。Xcode 6.4

122

iOS: layoutIfNeeded似乎不能在约束更改后更新视图(Xcode6.4,Swift 1.2)

10

XCode 6.4提交

11

无法用Xcode 6.4构建核心图

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档