Wyjątek certyfikatu łączący się z Azure SQL z JDBC z domyślnym ciągiem połączenia (ten, o którym mówi konsola zarządzania)
Chcę połączyć się z serwerem Azure SQL Server z jdbc.
Kopiuję ciąg połączenia z konsoli zarządzania azure. To jest coś w stylu:
jdbc: sqlserver: //XXXX.database.windows.net: 1433; baza danych = RRRR; użytkownik = ZZZZZ @ XXXX; hasło = PPPPPPPPPPP; encrypt = true; hostNameInCertificate = *. database.windows.net
Gdy próbuję połączyć się z tą wartością, pojawia się następujący błąd:
com.microsoft.sqlserver.jdbc.SQLServerException: Sterownik nie może ustanowić bezpiecznego połączenia z programem SQL Server przy użyciu szyfrowania Secure Sockets Layer (SSL). Błąd: „java.security.cert.CertificateException: nie można zweryfikować nazwy serwera w certyfikacie podczas inicjowania Secure Sockets Layer (SSL). Nazwa serwera to * .database.windows.net, nazwa w certyfikacie to data.am2- 1.database.windows.net.
Następnie, jeśli zmienię * .database.windows.net na data.am2-1.database.windows.net, tak jak mówi wyjątek, działa poprawnie.
Czy to problem z ustawieniem tej nazwy? Czuję, że jeśli jest to domyślna karta, to prawdopodobnie się zmieni? i kiedy to zrobię, zakładam, że nie będę już mógł się połączyć. Czy ktoś inny miał ten problem? Używam najbardziej aktualnych sterowników jdbc dla SQL Server, które mogłem znaleźć.