ubuntu – MySQL SSL:其他签名确认错误

前端之家收集整理的这篇文章主要介绍了ubuntu – MySQL SSL:其他签名确认错误前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试为 MySQL启用SSL连接 – SSL将在MysqL显示为启用,但由于此错误,我无法建立任何连接:ERROR 2026(HY000):SSL连接错误:ASN:其他签名确认错误

我正在运行以下内容

  1. Ubuntu Version: 14.04.1 LTS (GNU/Linux 3.13.0-34-generic x86_64)
  2. MysqL Version: 5.5.38-0ubuntu0.14.04.1
  3. OpenSSL Version: OpenSSL 1.0.1f 6 Jan 2014

我使用这些命令生成我的证书(所有在/ etc / MysqL生成):

  1. openssl genrsa -out ca-key.pem 2048
  2. openssl req -new -x509 -nodes -days 3650 -key ca-key.pem -out ca-cert.pem -subj "/C=US/ST=NY/O=MyCompany/CN=ca"
  3.  
  4. openssl req -newkey rsa:2048 -nodes -days 3650 -keyout server-key.pem -out server-req.pem -subj "/C=US/ST=NY/O=MyCompany/CN=server"
  5. openssl rsa -in server-key.pem -out server-key.pem
  6. openssl x509 -req -in server-req.pem -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
  7.  
  8. openssl req -newkey rsa:2048 -nodes -days 3650 -keyout client-key.pem -out client-req.pem -subj "/C=US/ST=NY/O=MyCompany/CN=client"
  9. openssl rsa -in client-key.pem -out client-key.pem
  10. openssl x509 -req -in client-req.pem -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem

我把以下内容放在my.cnf中:

  1. [MysqLd]
  2. ssl-ca=/etc/MysqL/ca-cert.pem
  3. ssl-cert=/etc/MysqL/server-cert.pem
  4. ssl-key=/etc/MysqL/server-key.pem

当我尝试连接指定客户端证书时 – 我收到以下错误

  1. MysqL -uroot -ppassword --ssl-ca=/etc/MysqL/ca-cert.pem --ssl-cert=/etc/MysqL/client-cert.pem --ssl-key=/etc/MysqL/client-key.pem
  2.  
  3. ERROR 2026 (HY000): SSL connection error: ASN: bad other signature confirmation

如果我没有SSL连接,我可以看到MysqL已正确加载证书:

  1. MysqL -uroot -ppassword --ssl=false
  2.  
  3. MysqL> SHOW VARIABLES LIKE '%ssl%';
  4. +---------------+----------------------------+
  5. | Variable_name | Value |
  6. +---------------+----------------------------+
  7. | have_openssl | YES |
  8. | have_ssl | YES |
  9. | ssl_ca | /etc/MysqL/ca-cert.pem |
  10. | ssl_capath | |
  11. | ssl_cert | /etc/MysqL/server-cert.pem |
  12. | ssl_cipher | |
  13. | ssl_key | /etc/MysqL/server-key.pem |
  14. +---------------+----------------------------+
  15. 7 rows in set (0.00 sec)

生成的证书通过了OpenSSL验证和模数:

  1. openssl verify -CAfile ca-cert.pem server-cert.pem client-cert.pem
  2. server-cert.pem: OK
  3. client-cert.pem: OK

我错过了什么?我以前在不同的服务器上使用过相同的过程并且它工作 – 但是Ubuntu版本是12.04 LTS而OpenSSL版本更旧(不记得具体).最新的OpenSSL有什么变化吗?

任何帮助,将不胜感激!

我用了:
  1. # Generate a CA key and certificate with SHA1 digest
  2.  
  3. openssl genrsa 2048 > ca-key.pem;
  4. openssl req -sha1 -new -x509 -nodes -days 3650 -key ca-key.pem > ca-cert.pem;
  5.  
  6. # Create server key and certficate with SHA1 digest,sign it and convert
  7. # the RSA key from PKCS #8 (OpenSSL 1.0 and newer) to the old PKCS #1 format
  8.  
  9. openssl req -sha1 -newkey rsa:2048 -days 3650 -nodes -keyout server-key.pem > server-req.pem;
  10. openssl x509 -sha1 -req -in server-req.pem -days 3650 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > server-cert.pem;
  11. openssl rsa -in server-key.pem -out server-key.pem;
  12.  
  13. # Create client key and certificate with SHA digest,sign it and convert
  14. # the RSA key from PKCS #8 (OpenSSL 1.0 and newer) to the old PKCS #1 format
  15.  
  16. openssl req -sha1 -newkey rsa:2048 -days 3650 -nodes -keyout client-key.pem > client-req.pem;
  17. openssl x509 -sha1 -req -in client-req.pem -days 3650 -CA ca-cert.pem -CAkey ca-key.pem -set_serial 01 > client-cert.pem;
  18. openssl rsa -in client-key.pem -out client-key.pem;

设置我的ssl(ubuntu 12.04).我的MysqL配置包含:

  1. [client]
  2. ssl-cert=/etc/MysqL/client-cert.pem
  3. ssl-key=/etc/MysqL/client-key.pem
  4.  
  5. [MysqLd]
  6. ssl-ca=/etc/MysqL/ca-cert.pem
  7. ssl-cert=/etc/MysqL/server-cert.pem
  8. ssl-key=/etc/MysqL/server-key.pem

看看this post调试ssl.和this post for openssl的变化(ubuntu 10.04 – > 14.04).

猜你在找的Ubuntu相关文章