我有一個Heroku PostgreSQL數據庫。使用Heroku提供的憑證(主機,數據庫,用戶名,密碼),我可以使用PSequel客戶端從本地機器進行連接。由於Heroku需要SSL,我必須檢查「使用SSL」,這會導致出現更多字段(客戶端密鑰,客戶端證書,服務器根證書)。但是,Heroku不提供這樣的證書。我可以通過勾選「使用SSL」來連接到數據庫,但不提供這些證書給PSequel。Heroku PostgreSQL - 如何在沒有證書的情況下發生SSL連接?
這是如何工作的?我的印象是SSL連接需要證書。沒有證書,我的理解是你可以做密鑰交換和加密,但是你不知道你在跟誰說話,所以你很容易受到中間人攻擊。根據我的理解,我不能用SSL連接到Heroku PostgreSQL數據庫,或者我錯了嗎?
過去,我使用Google Cloud SQL(MySQL)和Sequel Pro。在該設置中,我將Cloud SQL設置設置爲需要SSL,並且Google向我提供了證書(客戶端密鑰,客戶端證書和服務器CA),然後將其提供給Sequel Pro以便使用SSL進行連接。如果我嘗試在未提供證書的情況下嘗試連接(但請勾選「使用SSL連接」,並輸入正確的主機,用戶名,密碼),我無法連接,而是獲得「拒絕訪問」權限。