当前位置: 首页 > news >正文

第二十九章 添加数字签名 - 指定 KeyInfo 的规范化方法

文章目录

  • 第二十九章 添加数字签名 - 指定 `<KeyInfo> `的规范化方法
  • 添加签名确认

第二十九章 添加数字签名 - 指定 <KeyInfo> 的规范化方法

默认情况下,<KeyInfo> 元素使用Exclusive XML Canonicalization进行规范化, 元素包括以下内容:

<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">

要使用包容性 XML 规范化来规范化此元素,请执行以下操作:

 Set sig.SignedInfo.CanonicalizationMethod.Algorithm=$$$SOAPWSc14n

其中 sig%XML.Security.Signature 的实例。

在这种情况下, <KeyInfo> 包含以下内容:

<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315">

添加签名确认

WS-Security 1.1 <SignatureConfirmation> 功能使 Web 客户端能够确保收到的 SOAP 消息是响应 Web 客户端发送的原始请求而生成的。客户端请求通常经过签名,但并非必须如此。在此机制中,Web 服务将 <SignatureConfirmation> 元素添加到安全标头元素,Web 客户端可以检查该 <SignatureConfirmation>元素。

对于 Web 服务,要将<SignatureConfirmation> 元素添加到安全标头元素:

  1. 调用 Web 服务的 WSAddSignatureConfirmation() 方法。对于参数,请指定安全标头元素的主签名。例如:
 do ..WSAddSignatureConfirmation(sig)
  1. 照常发送 SOAP 消息。请参阅添加安全标头元素中的一般注释。

此方法将 WS-Security 1.1 <SignatureConfirmation> 元素添加到出站消息中。它为 SecurityIn 中收到的每个 <Signature>SecurityOut 属性添加一个 <SignatureConfirmation> 元素。

如果 SecurityIn 不包含签名,则会添加不带 Value 属性的 <SignatureConfirmation> 元素,这是 WS-Security 1.1 的要求。

有关验证<SignatureConfirmation> 元素的信息,请参阅检查签名确认。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Kubernetes】常见面试题汇总(二十七)
  • 【原创 架构设计】多级缓存的应用、常见问题与解决方式
  • 【无人机设计与控制】基于蜣螂优化算法求解多无人机集群路径规划问题
  • 【波束管理】
  • leetcode第80题:删除有序数组的重复项(||)
  • MatrixOne助力一道创新打造高性能智能制造AIOT系统
  • java进程与线程
  • 基于单片机无线智能报警系统的设计
  • 华为昇腾智算中心-智算中心测试方案与标准
  • Java Integer 缓存机制:小镇的居民与大城市的拥堵
  • python内置模块pathlib.Path类操作目录和文件
  • Redis数据结构之list列表
  • 【编程底层原理】mysql的redo log undo log bin log日志的作用,以及何时生成,涉及到哪些参数变量
  • Oracle 单机和集群环境部署教程
  • JUC高并发编程1:JUC概述
  • 分享一款快速APP功能测试工具
  • 《Java编程思想》读书笔记-对象导论
  • android高仿小视频、应用锁、3种存储库、QQ小红点动画、仿支付宝图表等源码...
  • Apache Zeppelin在Apache Trafodion上的可视化
  • Django 博客开发教程 8 - 博客文章详情页
  • E-HPC支持多队列管理和自动伸缩
  • Hibernate【inverse和cascade属性】知识要点
  • Lucene解析 - 基本概念
  • 关于字符编码你应该知道的事情
  • 浏览器缓存机制分析
  • 那些被忽略的 JavaScript 数组方法细节
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 区块链分支循环
  • 摩拜创始人胡玮炜也彻底离开了,共享单车行业还有未来吗? ...
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • ​linux启动进程的方式
  • #LLM入门|Prompt#3.3_存储_Memory
  • #QT项目实战(天气预报)
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (21)起落架/可伸缩相机支架
  • (23)Linux的软硬连接
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (ZT)一个美国文科博士的YardLife
  • (第30天)二叉树阶段总结
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (论文阅读笔记)Network planning with deep reinforcement learning
  • (一)spring cloud微服务分布式云架构 - Spring Cloud简介
  • (一)模式识别——基于SVM的道路分割实验(附资源)
  • (原)Matlab的svmtrain和svmclassify
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)Unity3DUnity3D在android下调试
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .Net Web项目创建比较不错的参考文章
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .Net(C#)常用转换byte转uint32、byte转float等
  • .NetCore部署微服务(二)
  • @PreAuthorize注解