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. Coldfusion日付形式からCシャープ形式への変換
- 3. ある形式のXMLから別の形式のXMLへの変換
- 4. 電子メール形式のPHPコード件名
- 5. エッジ入力形式から頂点入力形式へのグラフデータの変換
- 6. 変換データテーブル形式
- 7. ジャスパーレポートExcel形式の変換
- 8. DateTime形式の変換
- 9. sql datetime形式の変換
- 10. JavaScript形式の変換
- 11. オーディオ形式の変換
- 12. Gnuplot形式の変換、バイト
- 13. 時刻からデフォルトの日時への変換形式
- 14. C言語でのCIDR形式へのネットマスク変換
- 15. Javaの指数形式から小数への変換
- 16. コンパイルエラー:CSVからLibsvm形式への変換
- 17. 間隔「1:05:04」からHH:MM形式への変換Informix 11.50
- 18. SQL intから16進数への変換little/bigエンディアン形式
- 19. HH:MM PM/AM形式への時間変換
- 20. 分HH:MM形式から更新クエリへの変換
- 21. リッチテキスト形式からプレーンテキスト問題への変換
- 22. Unicode文字列から日付形式への変換エラー
- 23. 条件付き総和を閉形式解に変換する
- 24. 異なるデータフレーム名のループでRData形式に変換
- 25. Perl日付形式変換
- 26. Geomesa .csv変換形式
- 27. Excel形式を変換
- 28. 変換日付形式
- 29. 変換テキストファイルSequentialFileOutput形式
- 30. AngularJS - タイムスタンプの日付形式をJavaScript形式に変換する
あなたの質問には次の回答がありますか? –