OpenSSL 编程:X.509 证书与 PKCS#7、S/MIME 详解
在网络安全编程领域,OpenSSL 是一个强大且广泛使用的工具库。本文将深入探讨 OpenSSL 中 X.509 证书的创建、验证,以及 PKCS#7 和 S/MIME 的签名与验证等重要内容。
1. X.509 证书创建
首先,我们来看如何创建一个完整有效的 X.509 证书。在创建过程中,会使用到 X509V3_set_ctx 函数来为证书扩展创建上下文。
void X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subject,
X509_REQ *req, X509_CRL *crl, int flags);
由于我们不需要为 X509_REQ 或 X509_CRL 对象添加扩展,并且不需要任何标志,所以在调用该函数时,部分参数可以设为 NULL ,最后一个参数设为 0 。这个 X509V3_CTX 对象会被 X509V3_EXT_conf 使用,以支持添加一些更复杂的扩展,例如 subjectKeyIdentifier 扩展,它是通过对证书部分数据进行哈希计算得到的,而 X509V3_CTX 对象为其提供了访问证书的途径。
接
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



