GB/T 25061-2020 信息安全技术 XML数字签名语法与处理规范.pdf

GB/T 25061-2020 信息安全技术 XML数字签名语法与处理规范.pdf
积分0.00
特惠
积分0
VIP全站资料免积分下载
立即下载
同类资料根据编号标题搜索
文档
仅供个人学习
反馈
标准编号:
文件类型:.pdf
资源大小:3 M
标准类别:环境保护标准
资源ID:247387
VIP资源

标准规范下载简介:

内容预览由机器从pdf转换为word,准确率92%以上,供参考

GB/T 25061-2020 信息安全技术 XML数字签名语法与处理规范.pdf

签名语法通过XML模式定义来定义,所有的XML模式定义使用下面的XML前导说明部分、文

GB/T250612020

Q/DEB 0004 S-2014 云南大理洱宝实业有限公司 调味酸汁6.1.2ds:CryptoBinary简单类型

定义ds:CryptoBinary简单类型,把XML中任意长度的整数表示成字节字符串。具体方法是先把 整数值转化成高位在前格式的位串,在位串前面补0使得位数是8的整数倍,去掉开头为零字节(连续 8个0的位串),然后对这个字节串进行base64编码,base64编码遵循RFC2045。 注:base64Binary与CryptoBinary类型相同,定义一个新的类型主要是兼容不同的使用习惯。 模式定义:

!ELEMENTCanonicalizationMethod(#PCDATA%Method.ANY;)*

6.4.3SignatureMethod元素

6.4.4Reference元素

Reference元素可出现一次或者多次,用来指明密码杂凑算法、杂凑值、签名对象的标识符、签名对 象的类型和进行杂凑处理前的一个变换列表。标识(URI)和变换描述了如何对内容进行杂凑处理 Iype属性指明如何处理引用的数据。可选的ID属性允许Reference引用其他的内容。 模式定义:

文档类型定义:

6.4.4.2URI属性

6.4.4.3Reference处理模型

签名应用程序不必为了符合本标准而与XPath规范一致,但对于那些希望充分利用XML特性,将 XML签名生成作为应用程序的一部分来处理的应用程序则应使用XPath数据模型、定义和语法。采 用XPath的目的是为那些希望使用这些特征,而文符合XPath规范的应用提供一种可选途径。应用可 对一个节点集合进行充分的功能替换,并且仅实现本标准需要的那些Xpath表达式行为,为了简单起 见,本标准通常使用Xpath术语而不在每个地方都注明。对于“XPath节点集合”需求可实现一个包含 节点集合功能相同的应用程序。应用程序应对XML文档采用与Xpath处理等效的方式处理文档。 解析URI或者一系列Transform的变换结果的数据类型是一个八位位组流或者是一个Xpath的 节点集合。 本标准中所涉及的变换是根据输人定义的。签名应用程序的正常行为应为: a)如果数据对象是八位位组流且下一个变换要求一个节点集合,签名应用程序应对字节流进行 分析,通过XML标准处理过程来得出必需的节点集合; b) 如果数据对象是一个节点集合而下一个变换需要八位位组,签名应用程序必须使用规范的 XML来把节点集合转化成八位位组流。 在需要不同输人的变换中进行变换时,用户可指定替代的变换来覆盖这些缺省的变换,最终的八位 位组流包含了受保护的数据,用DigestMethod指定的密码杂凑算法对这些数据对象进行处理,得出的 结果放在DigestValue中

若URI引用为非同文档引用,解析URI引用的结果应为一个八位位组流。URI标识的XML文档 指向同文档引用或应用不要求变换时,签名应用程序不必解析它。 若片段出现在一个绝对或者相对URI的前面,那么片段的含义由资源的MIME类型定义。对于 XML文档,也可通过一个代理来完成签名程序对URI的解析(包括对片段的处理)。如果片段处理不 是标准化处理的引用确认可能会失败。本标准建议URI属性不包括片段标识符,而将这种处理过程当 作附加的XPath变换来进行说明 当片段没有出现在URI前面时,XML签名程序应支持空URI和无名Xpointer;若应用程序还要 支持任何保存注释的规范化操作,那么建议对同文档的Xpointer提供支持。由于应用程序可能无法控 制片段的生成,因此所有其他对Xpointer的支持都是可选的,所有对无名和外部引用的Xpointer的支 持也是可选的

6.4.4.4同文档URI引用

解析同文档引用应产生一个适合规范化XML使用的Xpath节点集合。特别是,解析一个空URI 应产生一个Xpath节点集合,该集合包含拥有URI属性的XML文档的每个非注释节点。片段URI中 并号后面的字符应符合Xpointer语法,处理Xpointer的时候,应用程序应使用包含URI属性的XML 文档的根节点来初始化Xpointer处理文档。若Xpointer处理后的结果是一个节点集合时,应用程序应 通过下面的方法获得: a)去弃点节点; b)名字空间子资源中包括完整或者部分内容的XPath节点; C 用子节点替换根节点(假设它在节点集合里面); d)把所有元素节点E替换为E和E的后代节点(文本、注释、PI或者元素)以及所有的E和它的 后代元素的名字空间和属性节点; e)如果URI不是一个完整的XPointer,那么删除所有的注释节点。 解析时应执行步骤d)的替换。XPointer是使用子树的根节点元素来指明一个XML文档的语法分 析树的子树,而规范化的XML把一个节点集合当作节点的集合,在这种情况下,缺少后代节点就会导 致在规范形式的内容的不足。 步骤e)用来处理空URI、裸名指针和子序列XPointers。当传递一个节点集合时,需要按照有注释 和没注释对节点集合进行处理,处理成字节流时会调用Xpath表达式(缺省的或者没有注释的),因此, 为了在传递节点集合的时候保留脱模注释的缺省的行为,应去除非完整的XPointer的URI。若要在通 过标识符ID选择元素的时候保留注释,应使用这样的全XPointer:URI=#xpointer(id("ID"));若 要在选择整个文档的时候保留注释,应使用这样的全XPointer:URI=#xpointer(/)",XPointer包含 了一个含有根节点的简单的Xpath表达式,步骤d)会将该根节点替换为语法分析树的所有节点(所有 的后代、所有的属性和所有节点的名字空间)

6.4.4.5Transforms元素

5.4.4.6DigestMethod元素

DigestMethod是指定签名对象的密码杂凑算法的必要元素,使用通用结构来描述算法标识符和实 现算法(可参考附录D)。 如果URI解析的结果和变换处理的结果是一个XPath节点集合,则结果应按Reference处理模型 中规定的方法进行变换;如果URI解析和变换处理结果是字节流,则不需要进行变换,直接对得出的字 节流数据进行密码杂凑算法处理。 模式定义:

6.4.4.7DigestValue元素

6.5KeyInfo元素

6.5.3.2RSAKeyValue元素

3.3SM2KeyValue元

GB/T250612020

simpleType name= "ECPointType" 文档类型定义:

6.5.4RetrievalMethod 元素

KeyInfo中的RetrievalMethod元素用于传递存储在另一个位置的KeyInfo信息的引用。例如, 个文档内的儿个签名使用一个内部或者外部的X509证书链来验证签名,每个签名的Keylnfo都可用 个RetrievalMethod元素来引用证书链,而无须每次都使用X509Certificate元素的完整证书链, 除了没有DigestMethod或DigestValue子元素,RetrievalMethod使用与Reference的URI属性和 Reference处理模型同样的语法和解析引用的行为,且应包含URI。 Type是表示要检索的数据类型的可选标识符。本标准定义了具有相应XML结构的KeyInfo类 型,解析一个RetrievalMethod的Reference的结果是一个XML元素或者是以此元素为根的文档, KeyInfo的rawX509Certificate类型(不包含XML结构)返回一个二进制X509证书。 模式定义:

6.5.5X509Data元素

GB/T250612020

·转义所有的后续的空格,用“\20”代替“\”。 因XML文档逻辑上包含字符,而不是字节,故应根据产生该XML文档的物理表示所使用的字符 编码方法来对结果GB/T13000字符串进行编码。 引人dsig11X509Digest元素后,可弃用X509IssuerSerial元素。

6.5.6DEREncodedKeyValue元素

6.5.7KeyInfoReference元素

6.6Obiect元素

GB/T250612020

下面描述Manifest和SignatureProperties元素,并描述如何处理XML处理指令和注释。这些元 索可出现在上级容模型允许的任何地方;Signature内容模型应出现在Object中。本章为可选内容,应 用系统可根据实际情况选用

7.2Manifest元素

7.3SignatureProperties元素

GB/T250612020

7.4Signature元素中的处理指令

本标准的语法与处理没有使用XML处理指令 注:如果CanonicalizationMethod没有去掉应用程序放在SignedInfo中的处理指令,那么它们也会被进行签名处理 所有CanonicalizationMethod都包含处理指令。如果一个处理指令是签名处理内容的一部分,那么对处理指令 的任何改变都会导致签名失败

本标准的语法与处理没有使用XML处理指令, 注:如果CanonicalizationMethod没有去掉应用程序放在SignedInfo中的处理指令,那么它们也会被进行签名处理 所有CanonicalizationMethod都包含处理指令。如果一个处理指令是签名处理内容的一部分,那么对处理指今 的任何改变都会导致签名失败

有CanonicalizationMethod都包含处理指令。如果一个处理指令是签名处理内容的一部分,那么对处理指令 任何改变都会导致签名失败 lature元素中的注释 准的语法与处理没有使用XML注释 果CanonicalizationMethod不去掉SignedInfo中的注释或者其他引用的XML,那么它们都会被进行签名处 。因此,如果保留了它们,任何注释的改变都会导致签名失败;同样,如果不指定忽视注释的规范化/变换方 法(如规范化的XML),对于任何XML数据的XML签名都会受到注释变化的影响

7.5Signature元素中的注释

本标准的语法与处理没有使用XML注释。 注:如果CanonicalizationMethod不去掉SignedInfo中的注释或者其他引用的XML,那么它们都会被进行签名处 理。因此,如果保留了它们,任何注释的改变都会导致签名失败;同样,如果不指定忽视注释的规范化/变换方 法(如规范化的XML),对于任何XML数据的XML签名都会受到注释变化的影响

本标准的语法与处理没有使用XML注释。 注:如果CanonicalizationMethod不去掉SignedInfo中的注释或者其他引用的XML,那么它们都会被进行签名处 理。因此,如果保留了它们,任何注释的改变都会导致签名失败;同样,如果不指定忽视注释的规范化/变换方 法(如规范化的XML),对于任何XML数据的XML签名都会受到注释变化的影响,

使用人员在检测签名消息是应验证其是 4、6.5及6.6的要求,若使用了附加 的签名消息,还应验证是否符合7.2、7.3的要求,各个元素的具体示例参见附录A。

附录A (资料性附录) XML数字签名实例

A. 1.2更多 Reference 的内容

SC/T 1108-2011 鳖类性状测定的签名就是把资源的内容和签署者的密钥绑定到一起

Object和SignatureProperty扩展实例

GB/T250612020

A.3Object和Manifest扩展实例

LY/T 2394-2014 林业企业能源计量器具管理规范GB/T250612020

附录B (规范性附录) XML数字签名文档类型定义

©版权声明
相关文章