Я хочу настроить SSL на Postgresql 12. Затем мое приложение Java добавит записи в базу данных, удалит и т. Д. c.
Я создал сертификаты: CA, сервер, клиент. CA и сервер находятся в каталоге C: \ Program Files \ PostgreSQL \ 12 \ data. Клиент находится в C: \ Users \ User \ AppData \ Roaming \ postgresql.
I сделал это для моего Java (хранилище доверенных сертификатов): https://jdbc.postgresql.org/documentation/head/ssl-client.html
Конфиги:
pg_hba:
hostnossl all all 0.0.0.0/0 reject
hostssl all all 0.0.0.0/0 cert clientcert=1
postgresql .conf:
ssl = on
ssl_ca_file = 'root.crt'
Я могу соединить сервер throw pgAdmin и cmd с моими сертификатами, но не могу соединиться с помощью своего приложения Spring Boot.
Теперь есть это Применение *
Это происходит в конце процесса, как я вижу (часть результатов javax. net .debug = ssl):
update handshake state: change_cipher_spec
upcoming handshake states: client finished[20]
upcoming handshake states: server change_cipher_spec[-1]
upcoming handshake states: server finished[20]
main, WRITE: TLSv1.2 Change Cipher Spec, length = 1
*** Finished
verify_data: { 104, 228, 110, 105, 172, 1, 108, 84, 30, 158, 127, 133 }
***
update handshake state: finished[20]
upcoming handshake states: server change_cipher_spec[-1]
upcoming handshake states: server finished[20]
main, WRITE: TLSv1.2 Handshake, length = 40
main, READ: TLSv1.2 Alert, length = 2
main, RECV TLSv1.2 ALERT: fatal, unexpected_message
%% Invalidated: [Session-2, TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384]
main, called closeSocket()
main, handling exception: javax.net.ssl.SSLException: Received fatal alert: unexpected_message
Журналы PostgreSQL ничего не говорят новое:
СООБЩЕНИЕ: Получено фатальное оповещение: неожиданное сообщение
Я действительно не знаю, что может быть не так ... Может, кто-то здесь может мне помочь? Спасибо!