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的修訂版本。您可能希望使它們*更加不同的外觀*以避免其他人嘗試關閉作爲副本。 –