command-codes

news/2025/4/1 6:11:41/

Hierarchy Commands
 

TPM2_CreatePrimary

此命令用于在主种子之一下创建主对象或在 TPM_RH_NULL 下创建临时对象。 该命令使用 TPM2B_PUBLIC 作为要创建的对象的模板。 不应检查唯一字段的大小是否与其他对象参数一致。 该命令将创建并加载一个主对象。 不返回敏感区域。

注 1 由于未返回敏感数据,因此无法重新加载密钥。 它既可以持久化,也可以重新创建。
注 2 为了互操作性,唯一字段不应设置为大于对象参数所允许的值,以便解组不会失败。
注 3 空缓冲区是合法的唯一字段值。

示例 1 对象参数中 keyBits 为 2048 的 TPM_ALG_RSA 对象应具有不大于 256 字节的唯一字段。
示例 2 TPM_ALG_KEYEDHASH 或 TPM_ALG_SYMCIPHER 对象应具有唯一字段,该字段不大于对象的 nameAlg 生成的摘要

TPM2_Create() 允许的任何类型的对象和属性组合都可以通过此命令创建。 模板和参数的约束与 TPM2_Create() 相同,除了主存储密钥和临时存储密钥不受限于使用其父代的算法。 对于已创建对象的属性设置,fixedParent、fixedTPM、decrypt 和 restricted 隐含在父对象(永久句柄)中设置。 其余属性隐含为 CLEAR。
TPM 将使用批准的 KDF 从 primaryHandle 中指示的主要种子派生对象。 模板的所有位都用于创建主密钥。 从主种子创建主对象的方法在 TPM 2.0 第 1 部分中描述并在 TPM 2.0 第 4 部分中实现。如果使用相同的 inPublic 参数、inSensitive.data 和主种子多次调用此命令,则 TPM 应生成 相同的主要对象。

此命令需要授权。 附加到平台主要种子 (PPS) 的主要对象的授权应由 platformAuth 或 platformPolicy 提供。 主要对象授权附加到存储主种子(SPS)的应由 ownerAuth 或 ownerPolicy 提供。 附加到背书主种子 (EPS) 的主密钥的授权应由 endorsementAuth 或 endorsementPolicy 提供

10.2 source

10.2.6 CryptUtil.c
 

10.2.6.6 Algorithm-Independent Functions

10.2.6.6.8 CryptCreateObject()
 

这个函数创建一个对象。 对于非对称密钥,它将创建一个密钥对,对于父密钥,它将创建一个用于子保护的种子值。 对于对称对象(TPM_ALG_SYMCIPHER 或 TPM_ALG_KEYEDHASH),如果调用者未提供密钥,它将创建一个密钥。 它将创建一个随机的秘密种子值,该种子值与秘密值一起散列以创建公共唯一值。 publicArea、sensitive 和 sensitiveCreate 是唯一必需的参数,也是 TPM2_Create() 使用的唯一参数。 其他参数是可选的,当生成的对象需要确定性时使用。 主对象和派生对象都是这种情况。 当提供种子值时,将填充 RAND_STATE 并将其用于对象生成中需要随机数的所有操作。 在最简单的情况下,TPM2_CreatePrimary() 将使用种子、标签和上下文,其中上下文是模板的哈希值。 如果主对象在背书层次结构中,它也将使用 ehProof 填充证明。 对于派生密钥,种子将是来自父项的秘密值,标签和上下文将根据 TPM2_CreateLoaded() 的参数进行设置,并且将设置 hashAlg,这会导致 RAND_STATE 成为 KDF 生成器。

ibmtpm 1682版本中的实现:

 

 

 

引用<<TCG_TPM2_r1p59_Part3_Commands_code_pub.pdf>>

引用<<TCG_TPM2_r1p59_Part4_SuppRoutines_code_pub.pdf>>


http://www.ppmy.cn/news/906703.html

相关文章

Command(命令模式)行为型

这命令模式 一、概述二、结构三、实例四、适用场景五、优缺点 一、概述 描述&#xff1a;看电视时&#xff0c;只需要轻轻一按遥控器就能完成频道的切换&#xff0c;这就是命令模式&#xff0c;将换台请求和换台处理完全解耦了。电视机遥控器&#xff08;命令发送者&#xff0…

col command

文章目录 1.命令简介2.命令格式3.选项说明4.常用示例5.相关疑问参考文献 1.命令简介 col&#xff08;control&#xff09;是一个标准输入文本过滤器。 col 从标准输入读取内容&#xff0c;过滤掉控制字符反向换行符&#xff08;RLF-Reverse Line Feed&#xff09;和半反向换行…

Commander基本使用

随着NodeJs的不断发展&#xff0c;对于前端来说要做的东西也就更多&#xff0c;Vue脚手架React脚手架等等等一系列的东西都脱颖而出&#xff0c;进入到人们的视野当中&#xff0c;对于这些脚手架工具来讲也只是停留在应用阶段&#xff0c;从来没有想过脚手架是如何实现的&#…

commander

node.js命令行界面的完整解决方案&#xff0c;受Ruby Commander启发。 原理: 当一个Nodejs程序运行时,process对象中有一个叫做argv的属性。命令行程序的第一个重头戏就是解析这个process.argv属性。 定义一个hello脚本,打印一下process.argv #!/usr/bin/env node console.…

Commander入门

Commander框架简介 Commander.js是一个Node.js的轻量级命令行框架&#xff0c;用于创建命令行应用程序。Commander.js提供了对应用程序命令行告知用户的友好界面&#xff0c;并应用了普遍认同的GNU和Unix标准选项。 Commander官方文档 脚手架的介绍及开发流程 基本用法 1.引入…

Command(命令)模式

目录 前言一、命令模式总结1、模式意图2、参与者3、结构、协作、适用性及效果 二、命令模式简单示例1、用例描述2、示例代码 总结 前言 本周五参加了Command&#xff08;命令 &#xff09;模式研讨会&#xff0c;本文的目的是对这个模式的总结和分享&#xff0c;希望对需要学习…

Commander(指挥官)介绍

7. Docker 管理 能对docker进行远程管理 Docker基础信息 Docker容器列表 Docker镜像列表 部署容器 : 例如部署一个nginx 拉取镜像 容器 - 查看容器详情 容器 - 停止 与 停止并删除 容器 容器 - 查看容器日志 容器 - 查看进程 容器 - 修改容器名称 容器 - 重启容器 容器 - 实时…

commando VM 安装

火眼发布Windows渗透工具包&#xff08;CommandoVM&#xff09; 包含140个渗透工具 工具下载地址&#xff1a;github.com/fireeye/commando-vm Kali Linux 已成为攻击型安全专家的标配工具&#xff0c;但对需要原生Windows功能的渗透测试员来说&#xff0c;维护良好的类似工具…