Mysql 8.0 버전이고 해당 오류가 발생한다면 다음과 같은 옵션을 확인해야한다.
- useSSL : DB에 SSL로 연결
- allowPublicKeyRetrieval : 서버에서 RSA 공개키를 검색하거나 가져와야하는지
useSS=false라고 작성한다면 allowPublicKeyRetrival=true 해줘야한다.
해당 사이트에 따르면 ssl mode는 default 값이 “Use SSL if the server supports it”이다.
ALLOW Public Key Retrieval은 default 값으로 false가 되어있다.
공식 문서
If the user account uses sha256_password authentication, the password must be protected during transmission; TLS is the preferred mechanism for this, but if it is not available then RSA public key encryption will be used. To specify the server’s RSA public key, use the ServerRSAPublicKeyFile connection string setting, or set AllowPublicKeyRetrieval=True to allow the client to automatically request the public key from the server. Note that AllowPublicKeyRetrieval=True could allow a malicious proxy to perform a MITM attack to get the plaintext password, so it is False by default and must be explicitly enabled.
만약 사용자 계정이 sha256_password 인증을 사용한다면 비밀번호는 반드시 보호되어야 한다. TLS가 선호되는 메커니즘이지만 만약 사용하지 않는다면 RSA Public key를 사용할 수 있다. 해당 기능을 사용하기 위해서는 AllowPublicKeyRetrieval=True 설정을 적용하면 된다.
reference
MySQL Connection String Options for .NET/C# - MySqlConnector
'정기간행물 > daily' 카테고리의 다른 글
ALB health check unhealty 이슈 (0) | 2023.09.02 |
---|---|
우리 팀의 코드 품질 향상을 위한 Code Review - 홍승환 (0) | 2023.09.01 |
AWS 서비스 (1) | 2023.04.10 |
Spring boot에 JKS파일 정보만 입력했는데 어떻게 암호화, 복호화가 둘 다 될까? (0) | 2023.04.04 |
curl이란? (0) | 2023.03.31 |