U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 土豆PE使用教程 >

《OpenSSL3.0学习之二十四 提供程序-object》

来源:http://www.tudoupe.com时间:2022-02-19

?博客首页: 男星的博客
?欢迎关注?点赞?收藏⭐️留言?
❤️ 期待一起交流!
?作者水平很有限,如果发现错误,求告知,多谢!
?有问题可私信交流!!!

文章目录

      • ?概要
      • ?描述
      • ?参数参考

?概要

?描述

提供程序本机对象抽象是一组OSSL_PARAM键和值,可用于将提供程序本机对象传递到 OpenSSL 库代码,或者在 OpenSSL 库代码的帮助下在不同的提供程序操作实现之间传递。

其目的是使某些提供程序本机操作可以传递属于其他操作或 OpenSSL 库代码的任何类型的对象。

可以通过以下方式传递对象:

  1. 按值
    这意味着对象数据 作为八位字节字符串或 UTF8 字符串传递,其他提供的实现可以以不同的方式处理这些字符串。对象的编码取决于它使用的上下文;例如,== OSSL_DECODER==允许多种编码, 这取决于现有的解码器。如果中央 OpenSSL 库功能是直接处理数据,则必须在 DER 中对所有对象类型进行编码,但OSSL_OBJECT_NAME除外(请参阅下面的" 参数参考 "),其中假定为纯 UTF8 字符串。

  2. 通过引用
    这意味着不会直接传递对象数据,而是传递对象引用。它是一个八位字节字符串,只有正确的提供程序才能正确理解。

按值排序的对象可由处理 DER 编码对象的任何内容使用。

通过引用,对象需要来自对象的实现(我们称之为 X)及其目标实现(我们称之为 Y)的更高级别的协作:

  1. 目标实现中的对象加载函数

    目标实现 (Y) 可能具有可以采用对象引用的函数。仅当目标实现与发起相关对象抽象的提供程序 (X) 来自同一提供程序时,才能使用此选项。

    要使用的确切目标实现是根据对象类型(可能还有对象数据类型)确定的。例如,当 OpenSSL 库接收到对象类型为OSSL_OBJECT_PKEY的对象抽象时,它将使用对象数据类型作为其键类型(EVP_KEYMGMT_fetch中的第二个参数)获取提供程序-keymgmt

  2. 原始实现中的对象导出程序

    原始实现 (X) 可能具有导出器函数。此导出器函数可用于以OSSL_PARAM形式导出对象,然后可以通过目标实现的导入函数导入该对象。

    当无法从同一提供程序获取目标实现 (Y) 时,可以使用此选项。

?参数参考

提供程序原生对象抽象是一个OSSL_PARAM,其中包含以下参数:

  • “data” (OSSL_OBJECT_PARAM_DATA) < octet string > or < UTF8 string >
    按值传递的对象数据。

  • “reference” (OSSL_OBJECT_PARAM_REFERENCE) < octet string >
    通过引用传递的对象数据。

  • “type” (OSSL_OBJECT_PARAM_TYPE) < integer >
    对象类型,一个可能具有以下任何值的数字(全部定义在 <openssl/core_object.h> 中):

    1. OSSL_OBJECT_NAME
      对象数据只能按值传递,并且应为 UTF8 字符串。

      这对于提供程序-storemgmt很有用 当 URI 加载导致新的 URI 时。

    2. OSSL_OBJECT_PKEY
      对象数据适合用作提供程序本机EVP_PKEY键数据。对象数据可以按值传递,也可以按引用传递。

    3. OSSL_OBJECT_CERT
      对象数据适合用作 X509 数据。此对象类型的对象数据只能按值传递,并且应为八位字节字符串。

      由于没有提供程序本机 X.509 对象,因此接收此对象抽象的 OpenSSL 库应将数据转换为具有 d2i_X509() 的 X509 对象。

    4. OSSL_OBJECT_CRL
      对象数据适合用作X509_CRL数据。对象数据只能按值传递,并且应该是八位字节字符串。

      由于没有提供程序本机 X.509 CRL 对象,因此接收此对象抽象的 OpenSSL 库应将数据转换为具有 d2i_X509_CRL() X509_CRL对象。

  • “data-type” (OSSL_OBJECT_PARAM_DATA_TYPE) < UTF8 string >
    对象内容的特定类型。合法值取决于对象类型;如果OSSL_OBJECT_PKEY, 则数据类型应为适合获取可以处理数据的提供程序-keymgmt的密钥类型。

  • “data-structure” (OSSL_OBJECT_PARAM_DATA_STRUCTURE) < UTF8 string >
    对象内容的最外层结构。合法值取决于对象类型。

  • “desc” (OSSL_OBJECT_PARAM_DESC) < UTF8 string >
    描述对象的额外详细信息的人类可读文本。

当使用提供程序本机对象 abtraction 时,它必须包含至少一种形式的对象数据(按值传递的对象数据,即"数据"项,或通过引用传递的对象数据,即"引用"项)。两者可能同时存在,在这种情况下,接收它的OpenSSL库代码将使用最佳变体。

对于对象类型OSSL_OBJECT_NAME的对象,必须指定该对象类型。

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息