2
A
回答
2
在OpenSSL中似乎沒有任何可用的幫助函數來執行此操作。它看起來像實現你想要的唯一方法是解析字符串並逐個構建元素。你可以使用strsep
的是,造成這樣的代碼(沒有做任何錯誤檢查和容易出錯關於變化的名稱格式):
#define TEST_NAME "CN=CA1, O=DEVANG"
X509_NAME *x509name = X509_NAME_new();
char *x509nameString = strdup(TEST_NAME);
char *toFree = x509nameString;
char *x509nameEntryString = strsep(&x509nameString, ",");
char *x509nameEntryTypeString;
char *x509nameEntryValueString;
while (NULL != x509nameEntryString) {
x509nameEntryValueString = x509nameEntryString;
x509nameEntryTypeString = strsep(&x509nameEntryValueString, "=");
X509_NAME_add_entry_by_txt(x509name, x509nameEntryTypeString,
MBSTRING_ASC, x509nameEntryValueString, -1, -1, 0);
/* Need to skip spaces */
while ((NULL != x509nameString) &&
(' ' == *x509nameString)) {
x509nameString = &x509nameString[1];
}
x509nameEntryString = strsep(&x509nameString, ",");
}
/* See the result, just FYI */
X509_NAME_print_ex_fp(stdout, x509name, 0, XN_FLAG_ONELINE);
free(toFree);
用於比較兩個X509_NAME
情況下,該功能X509_NAME_cmp()
可用。
我確實希望有人有更好的答案...
相關問題
- 1. 將SID轉換爲名稱
- 2. 如何轉換`X509 *`證明書`STACK_OF(X509_NAME)`
- 3. 如何以簡單的方式將輸入名稱點轉換爲json格式?
- 4. 將服務名稱轉換爲端口
- 5. Linux,將errno轉換爲名稱
- 6. R將名稱轉換爲數字
- 7. 使用VBA將ID轉換爲名稱
- 8. 將名稱值對轉換爲xml
- 9. 將字符集名稱轉換爲NSStringEncoding
- 10. 將顏色名稱轉換爲RGB
- 11. 將字符串轉換爲類名稱
- 12. 將月份名稱轉換爲數字
- 13. 將值範圍轉換爲名稱
- 14. 將主機名轉換爲IPAddr
- 15. 將IP轉換爲主機名
- 16. 將shopify主題轉換爲常規HTML
- 17. 將pygments主題轉換爲gvim colorscheme
- 18. 使用GSON將JSON樣式屬性名稱轉換爲Java CamelCase名稱
- 19. 將設備名稱轉換爲型號名稱
- 20. 將對象名稱空間和名稱轉換爲對象
- 21. 如何將HttpRequestBase轉換爲HttpRequestMessage,考慮標題名稱?
- 22. 如何將日期格式從mm.dd.yy轉換爲月份名稱dd,yyyy?
- 23. 將字符串轉換爲格式爲
- 24. StyleSheet.parseCSS將樣式名稱轉換爲小寫AIR
- 25. XSD模式將XML數據轉換爲JSON格式的問題
- 26. 轉換WordPress主題爲Drupal6?
- 27. 將社區主題轉換爲企業主題
- 28. 如何將多頁WordPress主題轉換爲單頁主題?
- 29. Ruby:將日期轉換爲十進制作爲名稱作爲名稱
- 30. time_t轉換格式問題
下面的答案是否解決了您的問題? –