gpt4 book ai didi

windows - 限制新创建的自签名证书的预期用途

转载 作者:可可西里 更新时间:2023-11-01 11:18:50 25 4
gpt4 key购买 nike

我正在使用 CertCreateSelfSignCertificate 创建自签名证书.这有效,我可以用它加密/签名/解密/验证数据。

我想限制证书的预期用途,但我最终得到的证书总是启用了“ ”预期用途。这是我用来为 CertCreateSelfSignCertificate 调用准备 pExtensions 参数的代码:

BYTE key_usage_value = CERT_DATA_ENCIPHERMENT_KEY_USAGE | 
CERT_DIGITAL_SIGNATURE_KEY_USAGE;
CERT_KEY_USAGE_RESTRICTION_INFO key_usage = {
0, NULL,
{ sizeof(key_usage_value), &key_usage_value }
};

auto key_usage_data = EncodeObject(szOID_KEY_USAGE_RESTRICTION, &key_usage);

CERT_EXTENSION extension[] = {
{ szOID_KEY_USAGE_RESTRICTION, TRUE, {
key_usage_data.size(), key_usage_data.data()
} }
};

CERT_EXTENSIONS extensions = {
elemsof(extension),
extension
};

EncodeObject 只是调用 CryptEncodeObject并将结果作为 std::vector 返回。

我没有找到太多关于此的文档,所以我实际上不确定这是我应该做的。谁能指出我做错了什么?

最佳答案

我猜你的证书的扩展 key 使用是空的,这意味着所有的目的都是允许的,如果你想限制这些,你需要定义它们,包括每个的特定 OID,例如,A证书仅适用于:

智能卡登录、数字签名和不可否认性

将在 Extended Key Usage 字段中填充

1.3.6.1.4.1.311.20.2.2
2.5.29.37.3
2.5.29.37

希望对你有帮助

关于windows - 限制新创建的自签名证书的预期用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22230018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com