3

記事http://www.madirish.net/214に従い、 サーバー証明書を次のように生成しました

ssl-ca=server.csr

ssl-cert=server.cert

ssl-key=server.key

ssl-ca=client.csr としてのクライアント証明書

ssl 証明書 = client.cert

mysql クライアントに接続しようとすると、以下の結果が得られました。

[root@sumit mysql-cert]# mysql -uroot -padmin --ssl-ca=/etc/ssl/mysql-cert/client.csr --ssl-cert=/etc/ssl/mysql-cert/client.cert --ssl-key=/etc/ssl/mysql-cert/server.key

警告: コマンド ライン インターフェイスでパスワードを使用すると、安全でない可能性があります。

エラー 2026 (HY000): SSL 接続エラー: ASN: 他の署名の確認が正しくありません

リモートマシンから同じコマンドを試したところ、以下のエラーが発生しました

ERROR 2026 (HY000): SSL 接続エラー この問題を解決するのに役立ちます。

4

2 に答える 2

2

Charley が指摘したように、私は .csr ファイルが間違っていると思います。同じ記事に従おうとして同じ問題に遭遇しました (同じエラーに遭遇しました)。キーと証明書を生成するためにこの記事 ( https://dev.mysql.com/doc/refman/5.0/en/creating-ssl-certs.html ) に従いましたが、うまくいきました。要旨:

# Create CA certificate
shell> openssl genrsa 2048 > ca-key.pem
shell> openssl req -new -x509 -nodes -days 3600 \
     -key ca-key.pem -out ca-cert.pem

# Create server certificate, remove passphrase, and sign it
# server-cert.pem = public key, server-key.pem = private key
shell> openssl req -newkey rsa:2048 -days 3600 \
     -nodes -keyout server-key.pem -out server-req.pem
shell> openssl rsa -in server-key.pem -out server-key.pem
shell> openssl x509 -req -in server-req.pem -days 3600 \
     -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem

# Create client certificate, remove passphrase, and sign it
# client-cert.pem = public key, client-key.pem = private key
shell> openssl req -newkey rsa:2048 -days 3600 \
     -nodes -keyout client-key.pem -out client-req.pem
shell> openssl rsa -in client-key.pem -out client-key.pem
shell> openssl x509 -req -in client-req.pem -days 3600 \
     -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem

次に、ca-cert.pem は両側で ssl-ca であり、サーバーは ssl-cert と ssl-key の server-[key/cert].pem を取得し、クライアントはクライアントのものを取得します。

于 2014-02-07T07:52:11.970 に答える
1

以前は正常に機能していた一連の証明書とクライアント/サーバー環境で、同じ署名エラーが発生しました。ファイルとそれらを使用する方法はすべて同じだったので、説明していない環境の 1 つで何かが変更されたに違いないと思いました。多くの時間を無駄にした後、CA の有効期限が切れていることがわかりました。証明書を生成するときに、誤って有効期限の設定を台無しにしてしまったに違いありません。理想的な世界では、このエラー メッセージはもっと意味のあることを示しているはずですが、そうではないため、このあいまいなエラーが発生した場合に取るべき重要な (明白な) 手順を次に示します。

CA に対して証明書を検証してみてください。

sudo openssl verify -CAfile [CA PATH] [CERT PATH]

CA をテキストとして表示してみてください。

sudo openssl x509 -in [CA PATH] -text -noout
于 2018-05-28T15:45:01.460 に答える