首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

白话TPM

、国外机构认证过的EK背书密钥,根证书等信息,这也是为什么国内发展自己的可信标准,并推进支持国家密码算法的可信密码模块作为可信根的初衷,毕竟可信根掌握别人手中多少是不放心的,因为可信根(Root of...其他用途可以参考: 国外的TPM国内的TCM安全芯片 安全形式概念: 消息:双方间传送的字节序列; 机密性:防止未授权方查看消息内容; 认证:将消息关联到创建者,使接收方可以确定只有创建者能发送这条消息...所有对象都有相应的授权数据授权策略,与NV索引一样,对象的策略创建后就不能被修改。当一个对象命令中使用时,对象创建时,由用户决定哪些命令可以使用授权数据知晓,哪些命令只能使用策略来执行。...Hierarchy的实体包括永久性实体(hierarchy句柄)、树根的主对象其他对象,如树密钥。 NV索引属于一个hierarchy,但不在树。...近期看了一段时间的TSS协议栈代码,应用层面如果没有FAPI的封装,使用起来确实会相当困难,并且也没法解决对单个TPM设备的互斥访问冲突问题!

48920

C#refout具体怎么使用什么情况下使用?

使用ref前必须对变量赋值,out不用。   out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都要赋值,ref引用的可以修改,也可以不修改。   ...区别可以参看下面的代码应该就明白了: using System; class TestApp {  static void outTest(out int x, out int y)  {//离开这个函数前,必须对xy...//y = x;   //上面这行会报错,因为使用了out后,xy都清空了,需要重新赋值,即使调用函数前赋过值也不行   x = 1;   y = 2;  }  static void refTest...,变量可以不赋值   outTest(out a, out b);   Console.WriteLine("a={0};b={1}",a,b);   int c=11,d=22;   outTest(...out c, out d);   Console.WriteLine("c={0};d={1}",c,d);   //ref test   int m,n;   //refTest(ref m, ref

2.7K10
您找到你想要的搜索结果了吗?
是的
没有找到

可信计算之可信平台模块介绍

非易失性存储:用于存储关键数据,主要包括密钥背书密钥EK存储根密钥SRK)以及所有者授权数据。...一些典型的例子包括: (1)VPN认证身份:设备用TPM的私钥签名消息,后台用公钥验证签名,从而确保内部网络资源只有特定的设备用户可以访问; (2)信息交互的身份确认:使用TPM存储的私钥对数据做签名...隐私保护的场景下,针对不同的信息使用不同的密钥加密,细化隐私保护的粒度,增强安全性; (2)针对不同安全级别的数据,使用不同的密钥; (3)可以将加密后的密钥存放在服务器上,需要时再从服务器获取,使用更灵活...TPM系统启动时,会根据系统状态,由软件算出一系列哈希值,并存储平台配置寄存器(PCR),后续可以使用特定私钥签名这一系列测量值,然后向外部报告。...这个软件栈实现了TPM2.0规范,提供了一系列工具库,方便开发者接入。 核心特点: (1)跨平台。整体设计不依赖操作系统,可以不同的操作系统环境下使用,可移植性好。 (2)完全开源。

22310

使用 DMA FPGA 的 HDL 嵌入式 C 之间传输数据

使用 DMA FPGA 的 HDL 嵌入式 C 之间传输数据 该项目介绍了如何在 PL 的 HDL 与 FPGA 的处理器上运行的嵌入式 C 之间传输数据的基本结构。...因此,要成为一名高效的设计人员,就必须掌握如何在硬件软件之间来回传递数据的技巧。 本例使用的是 Zynq SoC(片上系统)FPGA,它具有硬核 ARM 处理器。...使用 AXI DMA 控制 PL 的 HDL 与 PS C 代码之间的数据传输有两个主要层: Memory Map to Stream (MM2S) Stream to Memory Map...PS 的 C 代码寄存器读/写 DMA 的顺序。 Verilog 的 AXI-Stream握手 AXI stream接口使用一组简单的握手信号机制,用于嵌入式设计的数据交换。...这也解释了当我第一次开始使用 DMA 时, SDK/Vitis 的示例 DMA 项目中注意到的一些事情。

51610

C#ASP.NET Core创建 gRPC 客户端和服务器

gRPC ,客户端应用程序可以像本地对象一样直接调用不同机器上的服务器应用程序上的方法,从而使您更轻松地创建分布式应用程序和服务。...gRPC 客户端和服务器可以各种环境运行相互通信(从 Google 内部的服务器到您自己的桌面),并且可以用 gRPC 支持的任何语言编写。...例如,您可以使用 Java 轻松创建 gRPC 服务器,并使用 Go、Python 或 Ruby 编写客户端。... C#ASP.NET Core创建 gRPC 客户端和服务器 C#ASP.NET Core创建 gRPC 客户端和服务器十分简单,可以参考微软官方的几篇文章: 使用 C# 的 gRPC 服务...使用 .NET 客户端调用 gRPC 服务 教程: ASP.NET Core 创建 gRPC 客户端和服务器 对应在VS2022分别运行GRPC服务端客户端的SayHello示例接口调用如下图所示

7600

WindowsC#中使用DapperMysql.Data库连接MySQL数据库

WindowsC#中使用DapperMysql.Data库连接MySQL数据库 Windows中使用C#连接Mysql数据库比较简单,可以直接使用MySql.Data库,目前最新版本为:8.3.0...Dapper是一款轻量级ORM工具,是一个简单的.NET对象映射器,速度上几乎与使用原始ADO.NET数据读取器的速度一样快。ORM是一个对象关系映射器,它负责数据库编程语言之间的映射。...:mysql-installer-web-community-8.0.36.0.msi,并采用C# .Net WinForm窗体程序作为演示示例,我们展示如何使用Mysql.DataDapper连接MySql...2、通过NuGet包管理器安装Mysql.DataDapper库 创建项目名称为WindowsFormsMySqlDbApp的C#窗体程序之后,通过项目中的引用-》管理 NuGet 程序包(N)-....msi数据库安装包之后,我们root账号的初始密码设置为123456,然后使用Navicat Premium 16连接并登录本地MySQL数据库,然后先创建ytdemo数据库,然后该数据库创建people

4400

【DB宝28】Oracle 19c创建容器数据库(5)--使用DBCA静默克隆数据库(从19c开始)

之前的几篇内容: 【DB宝24】Oracle 19c创建容器数据库(1)--DBCA静默创建CDB 【DB宝25】Oracle 19c创建容器数据库(2)--DBCA图形化创建CDB 【DB...宝26】Oracle 19c创建容器数据库(3)--手动创建CDB 【DB宝27】Oracle 19c创建容器数据库(4)--Duplicating a CDB(从18c开始) 这是Oracle...2、可以克隆远程,也可以克隆本地的CDB 下面给出一个使用示例: 环境介绍: 源库 目标库 IP地址 172.17.0.2 172.17.0.3 主机名 lhr2019ocp ocp19c 存储方式...oradata -primaryDBConnectionString:源库的连接串 -databaseConfigType SI:代表源库是单实例 -gdbName CDB4 -sid CDB4:目标库的siddb_name.../26736162/ • 作者微信:db_bao • 作者QQ:646634621,QQ群:230161599、618766405 • 提供Oracle OCP、OCM、高可用(rac+dg+ogg)MySQL

1.6K20

设计模式(九):抽象工厂模

抽象工厂模式,每个具体工厂都提供了多个用于创建多种不同类型具体对象的方法,这些不同类型的对象都存在一个共同的属性,构成一个族。...而实际过程,一个工厂往往要生产多种类的产品,例如可乐和橙汁一起生产,方便售卖。原有的工厂方法模式不符合实际使用的要求,所以聪明的先辈们又想到了一种新的设计模式——抽象工厂模式。...使用抽象工厂模式一般要满足以下条件。 系统中有多个产品族,每个具体工厂创建同一族不同等级结构的多种产品。 系统一次只可能消费其中某一族产品。 ? ? 抽象工厂与工厂方法的区别 ?...抽象工厂模式的工厂保留了工厂方法模式的优秀属性,同时可以创建多种类的产品,而工厂方法模式的工厂只能创建一类产品。...抽象工厂模式的优点: 将具体产品的创建延迟到具体工厂,从工厂获取具体产品,减少客户与具体产品的耦合度,有利于系统的维护与拓展 当一个产品族的多个对象被设计成一起工作时,它能保证客户端始终只使用同一个产品族的对象

34930

openssl的部分使用例子

这个hash值被切分成两部分:加密钥匙(key)初始化向量(initialization vector)。当然加密钥初始化向量也可以手工指定,但是不推荐那样,因为容易出错。...(iv)命令行指定 $ openssl rc5 -in plaintext.doc -out ciphertext.bin -S C62CB1D49F158ADC -iv E9EDACA1BD7090C6...首先,Diffie-Hellman创建一套双方都认可的参数集,包括一个随机的素数生成因子(generator value,通常是2或者5)。...不推荐这样使用。 env: 从环境变量获取口令,比pass方式安全了些,但是进程环境仍可能被别有用心的进程读到。 file: 从文件获取,注意保护好文件的安全性。 fd: 从文件描述符读取。...它可运行在UnixWindows系统

25810

Python 3.7.0 来了!

编译器不是编译定义时注释执行表达式的代码,而是将注释以字符串形式存储。如果需要,可以使用typing.get_type_hints()在运行时解析注释。...PEP 538:C语言环境强制 Python 3系列的一个持续的挑战是确定一种合理的默认策略,用于处理目前非Windows平台上使用默认C或POSIX语言环境的“7-bit ASCII”文本编码假设...PEP 539:新增用于线程本地存储的C API 虽然Python为线程本地存储支持提供了一个C API; 但现有的线程本地存储(TLS)API使用int来表示所有平台上的TLS密钥,但这既不符合POSIX...PEP 539通过向CPython提供新的线程本地存储(TSS)API来改变这一点,该API取代了CPython解释器中使用现有TLS API,同时弃用现有API。...TSS API使用新类型Py_tss_t而不是int来表示TSS密钥,这将允许本地TLS密钥定义的平台上构建CPython。

78100

系统安全加密验证签名之Openssl命令

)协议的实现,囊括主要的密码算法、常用的密钥证书封装管理功能及SSL协议(SSL/TLS工具集),并提供丰富的应用程序供测试或其它目的使用。...并实现了私钥的PKCS#12PKCS#8的编解码功能; 密钥证书管理是PKI的一个重要组成部分,OpenSSL为之提供了丰富的功能,支持多种标准;OpenSSL标准中提供了对私钥的加密保护功能,使得密钥可以安全地进行存储分发...;确保数据传送不被改变,即数据的完整性,现已成为该领域中全球化的标准。...Key是私用密钥,openssl格式,通常是rsa算法。 csr是证书请求文件,用于申请证书。制作csr文件的时候,必须使用自己的私钥来签署申请,还可以设定一个密钥。...创建根 CA 说明: 本节描述了整个过程常见的CA操作,即创建全新的CA有几个步骤:配置、创建目录结构初始化密钥文件,最后生成根密钥证书 根CA配置如下: 1.第一部分包括了CA的名称、基础URL

3.6K30

掌握 C# 变量:代码声明、初始化使用不同类型的综合指南

C# ,有不同类型的变量(用不同的关键字定义),例如: int - 存储整数(没有小数点的整数),如 123 或 -123 double - 存储浮点数,有小数点,如 19.99 或 -19.99...要将文本变量结合起来,使用 + 字符: string name = "John"; Console.WriteLine("Hello " + name); 您还可以使用 + 字符将一个变量添加到另一个变量...(x + y + z); 第一个示例,我们声明了三个 int 类型的变量(x、y z),并为它们赋了不同的值。...第二个示例,我们声明了三个 int 类型的变量,然后将它们都赋予了相同的值 50。 C# 标识符 所有的 C# 变量都必须使用唯一的名称来标识。 这些唯一的名称被称为标识符。...注意: 建议使用描述性名称,以创建易于理解维护的代码: // 好的 int minutesPerHour = 60; // 可以,但不容易理解 m 实际上是什么 int m = 60; 命名变量的一般规则是

26610

使用awk命令批量删除指定范围的账号

欢迎转载,转载请注明出处,谢谢 大家都知道,Linux系统的账户信息都存放在/etc/passwd这个文件,通过查看这个文件我们就可以了解到系统内每个账号的详细信息。...System message bus:/:/sbin/nologin 16 polkitd:x:997:995:User for polkitd:/:/sbin/nologin 17 tss...:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin...接着使用system函数拓展了一下,把账号名称的值赋给变量user。账号删除(选项r:删除主目录邮件池)命令为:userdel -r,值赋给变量cmd。...这两行命令应该还可以拓展到其他地方使用,欢迎有想法的小伙伴提出来。当然,我这个命令语句写得也很次,各位大大们面前班门弄斧了,欢迎指正。

1.1K30

linuxwindows互传文件,用户配置文件密码配置文件,用户组用户管理

linuxwindows互传文件 用户配置文件密码配置文件 用户组管理 用户管理 2.27 LinuxWindows互传文件 想要能让LinuxWindows互传文件,可以使用Xshell,但是首先需要在...相对的etc目录下还有一个shadow文件,这个文件是用户的密码文件,用户的密码都存放在这里,这个文件passwd文件是一一对应的,所以这个文件是专门用来存储、控制用户的密码的。...:: 如果使用ls命令去逐个列出这些文件,会发现还有一个相同名称带个-号的文件,这个带有-号的文件是备份文件,如果不小心删除了原来的文件的话,拷贝这个文件就可以使用了。...gid,CentOS7指定的gi要在1000以上,1000以内的已经预留给系统了,CentOS6则是500以上,这一点要区分一下: [root@study-01 ~]# groupadd -g 1005...创建用户时没有指定用户的uid的话,那么默认是从上一个用户的uid自增。如果创建用户时不指定gid的话,gid不会根据上一个用户的gid自增,而是用户的uid一致。

2K10

使用 Microsoft.Net.Compilers 旧版本的 Visual Studio 201320152017 开启新的 C# 7.x C# 8 语法

新版本的 C# 特性需要新版本的 Visual Studio 的支持。不过,如果你不介意修改项目的话,你也能在低版本的 Visual Studio 获得高版本的 C# 语言支持了。...不同 Visual Studio 原生支持的 C# 版本 Visual Studio 每一次的重大发布都带来新的 C# 版本(至少 Visual Studio 2017 之前是这样),于是通常情况下如果你使用了旧版本的...各个 C# 版本的主要特性、发布日期发布方式(C# 1.0 - 7.3) - 吕毅 引入 Microsoft.Net.Compilers 不过,伴随着 .NET Core 生态的崛起 NuGet 的逐渐广泛的使用...这是一个 .NET 的编译器包,无论你系统安装的是什么版本的 C# 编译器,使用此包都可以强制项目使用某个特定版本的 C# 编译器。...第三步:编辑项目使用最新版本的 C# 语言 就像普通的项目启用最新版 C# 语言一样,在你的项目的 csproj 的 PropertyGroup 添加以下属性: 1 Latest

27320

PKI - 03 密钥管理(如何进行安全的公钥交换)

防止公钥被截获更改:密钥交换过程,公钥必须确保不会被截获更改。如果公钥被恶意修改,那么接收方就无法正确验证数字签名或进行安全通信,从而导致安全漏洞。...Full Mesh复杂度:密钥交换涉及到多个实体之间的通信密钥交换,特别是大规模网络,实体之间的连接可能形成复杂的Full Mesh结构,导致密钥管理密钥交换的复杂度增加。...特别是大规模网络,或者需要频繁进行公钥交换的情况下,使用电话或其他带外通道来回读密钥指纹可能会变得不够实用高效。因此,实际应用需要权衡利弊,根据具体情况选择合适的密钥交换机制。...进一步解释一下: 用户B签名用户A的公钥:首先,用户B使用自己的私钥对用户A的公钥进行签名,生成数字签名。这个数字签名相当于用户B对用户A的公钥的认可背书,确保了公钥的真实性完整性。...用户B签名用户C的公钥:接下来,用户B使用自己的私钥对用户C的公钥进行签名,生成数字签名。这个数字签名确保了用户B对用户C的公钥的认可背书

4200

业界 | Dropbox力荐!我们如何应对Python桌面应用程序的崩溃

与操作系统集成时尤其如此,其中最简单的路径往往是使用平台特定的工具语言(例如,Windows上的COMmacOS上的Objective-C)。...因此, Dropbox应用程序, Python创建的每个本机线程都有一个关联的 PyThreadState 结构。解释器使用本机线程特定的存储来创建此对象本机线程之间的连接。...此偏移量Python运行时的设置早期确定:这称为特定于线程的存储“密钥”。此步骤为进程的所有线程创建一个特定于线程的存储的“插槽”,然后由Python用它来存储其特定于线程的状态。...(Python / pylifecycle.c)。此结构包括TSS密钥以及其他有趣的调试工具。 注意:我们已将此更改作为拉取上传到github,希望能对大众有所裨益。...线程状态使用单个指针指向任何给定时间的最顶层帧。给定以上设置TSS密钥,我们可以从本机线程开始,找到PyThreadState,然后“遍历堆栈”PyFrameObjects。

1.4K10

Fabric的6大特性

背书者执行链码以模拟网络对等方中的提议,从而创建一个读/写集。 3)然后背书的peer节点将签名的提案响应(背书)发送回应用程序。...此外,由于只有背书人和提交人才能真正看到交易,因此区块链系统的不同部分需要较少的信任级别,从而提供了更高的安全性。 例如,资本市场,随着股权支持证券或债券的买卖,交易量由于参与者的增加而增加。...每笔交易都会产生一组资产键值对,这些键值对创建,更新或删除时将被提交到账本。peer支持LevelDBCouchDB两种格式存储。...这种JSON格式有助于最大程度地减少生成简单报告执行审核功能所需的工作。例如,供应链场景,您可以使用JSON文档样式来帮助概述商品运输实体的特定数据。...6 保护数字钥匙敏感数据 HSM(硬件安全模块)提供了对数字密钥的高级保护。对于涉及身份管理的方案,HSM可以更好的保护密钥敏感数据。 更多教程请参考 flydean的博客

1.2K20
领券