2
A
答えて
2
これを行うためにOpenSSLで利用できるヘルパー関数はないようです。あなたが望むものを達成する唯一の方法は、文字列を解析してX509_NAME_ENTRY
要素を1つずつ構築することです。あなたは(任意のエラーチェックを行い、名前の形式の変化に関連してエラーが発生しやすくなりません)。このコードのようなもので、その結果、そのための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);
2つのX509_NAME
のインスタンスを比較するために、機能をX509_NAME_cmp()
が利用可能です。
私は誰かがより良い答えを期待しています...
関連する問題
- 1. 数値形式への時間変換
- 2. Excel:日付形式へのテキスト変換
- 3. Coldfusion日付形式からCシャープ形式への変換
- 4. 24時間形式の時間変換への変換
- 5. ある形式のXMLから別の形式のXMLへの変換
- 6. エッジ入力形式から頂点入力形式へのグラフデータの変換
- 7. 電子メール形式のPHPコード件名
- 8. DateTime形式の変換
- 9. ジャスパーレポートExcel形式の変換
- 10. JavaScript形式の変換
- 11. sql datetime形式の変換
- 12. オーディオ形式の変換
- 13. Gnuplot形式の変換、バイト
- 14. Javaタイムスタンプ形式の変換
- 15. 変換データテーブル形式
- 16. レッドシフトの表形式データからJSONへの変換
- 17. 時刻からデフォルトの日時への変換形式
- 18. Javaの指数形式から小数への変換
- 19. C言語でのCIDR形式へのネットマスク変換
- 20. リッチテキスト形式からプレーンテキスト問題への変換
- 21. MySQLからMySQLiへの変換php形式
- 22. Unicode文字列から日付形式への変換エラー
- 23. HH:MM PM/AM形式への時間変換
- 24. コンパイルエラー:CSVからLibsvm形式への変換
- 25. 分HH:MM形式から更新クエリへの変換
- 26. POSIXからOlson/IANAタイムゾーン形式への変換
- 27. SQL intから16進数への変換little/bigエンディアン形式
- 28. 間隔「1:05:04」からHH:MM形式への変換Informix 11.50
- 29. rds形式のデータをR形式のshp形式に変換するには?
- 30. 異なるデータフレーム名のループでRData形式に変換
あなたの質問には次の回答がありますか? –