私はクライアントとサーバーでopensslを使ってテストを行っています。私のテストでは、サーバはパラメータ()に基づいて1つのペア(証明書、キー)またはその他を使用します。"ssl3_get_client_hello:サーバーの証明書と鍵に応じてサーバー内の共有暗号がありません"
void configure_context(SSL_CTX *ctx, int mode)
{
if (mode == 0) {
/* Set the key and cert */
if (SSL_CTX_use_certificate_file(ctx, "./test/certs/testcert2.pem", SSL_FILETYPE_PEM) < 0) {
ERR_print_errors_fp(stderr);
exit(EXIT_FAILURE);
}
if (SSL_CTX_use_PrivateKey_file(ctx, "test2.key", SSL_FILETYPE_PEM) < 0) {
ERR_print_errors_fp(stderr);
exit(EXIT_FAILURE);
}
} else {
if (SSL_CTX_use_certificate_file(ctx, "cert.pem", SSL_FILETYPE_PEM) < 0) {
ERR_print_errors_fp(stderr);
exit(EXIT_FAILURE);
}
if (SSL_CTX_use_PrivateKey_file(ctx, "key.pem", SSL_FILETYPE_PEM) < 0) {
ERR_print_errors_fp(stderr);
exit(EXIT_FAILURE);
}
}
}
cert.pemは自己署名入りの証明書で、testcert2はCA(鉱山)キーで署名されています。
私はcert.pemをを使用する場合、私はtestcert2を使用すると、すべてがうまく動作し、サーバが暗号TLS_RSA_WITH_AES_128_GCM_SHA256
を選択し、私はエラーを取得:サーバーに「ssl3_get_client_helloノー共有暗号を」。証明書とキーに依存して、サーバーで選択された暗号は
- ですか?
- このエラーは、キーに関連しないものが原因である可能性がありますか?
- 特定のキーでサポートされている暗号を確認するにはどうすればよいですか?
お返事ありがとうございます。
ありがとうございました! SSL_CTX_check_private_keyの問題を検出できました。 – rodolk