ossl_store
名称
ossl_store - 存储检索函数
概要
#include <openssl/store.h>
描述
通用
STORE 是一层功能,用于从任何类型的存储库中检索一系列受支持的对象,存储库可以作为文件名或 URI 访问。
该功能支持以下模式:“打开与存储库的通道”,“循环并一次检索一个对象”以及“通过关闭通道来完成”。
检索到的对象作为包装器类型 OSSL_STORE_INFO 返回,可以从中检索 OpenSSL 类型。
URI 方案和加载器
对 URI 方案的支持称为 STORE "加载器",可以从调用应用程序或可加载引擎动态添加。
对 'file' 方案的支持内置于 libcrypto
中。有关更多信息,请参见 ossl_store-file(7)。
UI_METHOD 和 密码短语
OSS_STORE API 不执行任何操作来强制对 UI_METHOD 提供的密码短语的任何特定格式或编码。但是,密码短语应使用 UTF-8 编码。任何其他编码的结果未定义。
示例
通用调用
OSSL_STORE_CTX *ctx = OSSL_STORE_open("file:/foo/bar/data.pem");
/*
* OSSL_STORE_eof() simulates file semantics for any repository to signal
* that no more data can be expected
*/
while (!OSSL_STORE_eof(ctx)) {
OSSL_STORE_INFO *info = OSSL_STORE_load(ctx);
/*
* Do whatever is necessary with the OSSL_STORE_INFO,
* here just one example
*/
switch (OSSL_STORE_INFO_get_type(info)) {
case OSSL_STORE_INFO_CERT:
/* Print the X.509 certificate text */
X509_print_fp(stdout, OSSL_STORE_INFO_get0_CERT(info));
/* Print the X.509 certificate PEM output */
PEM_write_X509(stdout, OSSL_STORE_INFO_get0_CERT(info));
break;
}
}
OSSL_STORE_close(ctx);
另请参见
OSSL_STORE_INFO(3)、OSSL_STORE_LOADER(3)、OSSL_STORE_open(3)、OSSL_STORE_expect(3)、OSSL_STORE_SEARCH(3)
版权
版权所有 2016-2018 OpenSSL 项目作者。版权所有。
根据 Apache 许可证 2.0 版(“许可证”)授权。除非符合许可证,否则您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 中获得副本。