1
我正在创建一个API用于修改C中的X509
证书,我想添加一种方法来修改扩展。例如,将另一个DNS条目添加到subjectNameAlt
,以便它将是DNS:example.com,DNS:example2.com
而不仅仅是DNS:example.com
。删除和重新添加不好的原因是因为我必须重新分析扩展(这很困难),我宁愿添加一条信息。我将如何通过OpenSSL API执行此操作?如何修改X509的扩展?
我想简单地重用添加代码:
ex = X509V3_EXT_conf_nid(NULL, &ctx, NID_subject_alt_name, "DNS:new.dns.example");
if (!ex)
return;
X509_add_ext(cert,ex,-1);
X509_EXTENSION_free(ex);
但运行后,在所有发现的(即使我尝试添加其他新的)分机心不是。
这与您提前10分钟询问的[此问题]非常相似(http://stackoverflow.com/questions/15978758/how-do-you-remove-an-extension-from-an-x509)。考虑编辑原文,而不是问一个新问题。 –
@luserdroog他们是相似的,但在OpenSSL API中涉及不同的方法,并有不同的目标 – chacham15
好的。我只是说*它看起来像*前一个Q的修订版本。您可能希望使它们*更加不同的外观*以避免其他人尝试关闭作为副本。 –