我在我的Cassandra集羣上設置了節點到節點的加密。現在我想設置客戶端到節點。根據this documentation,它應該像獲取客戶端的SSL證書並將其導入每個節點的信任庫一樣簡單。我還沒有這樣的證書,但這不是我的問題。如何使用DataStax Java驅動程序設置Cassandra客戶端到節點的加密?
由於我的客戶端使用DataStax Java驅動程序,似乎爲了從客戶端啓用SSL,當我構建Cluster
時,我應該使用withSSL()
方法來啓用SSL。好的,但我還需要做什麼?我對JSSE不熟悉,所以我不知道還有什麼是必要的。 SSL通信是雙向的,即驅動程序是否需要訪問集羣中每個節點的SSL證書?
我已經完成了#1,並且已經在#2中找到了設置,所以我知道該做什麼。關於#3:我認爲這意味着我的客戶端應用程序必須擁有自己的密鑰庫和信任庫?這些必須是不同的文件,類似於我通過#1中的指令設置Cassandra節點的方式嗎? – 2rs2ts 2014-09-12 20:02:57
我不*認爲*如此。從我所知道的情況來看,您應該可以重用節點的關鍵/信任存儲之一,因爲無論如何它們都必須相互信任。另外,我還沒有看到任何例子,包括生成一個客戶證書,除了上面的[5],這是有點含糊不清。 – CHK 2014-09-12 20:27:32
我不認爲我會想重用節點的商店。由於我應該讓每個節點相互信任所有其他節點,因此旋轉新節點意味着我必須更新客戶端的信任庫。或者這是必要的?我之前曾問過SSL認證是否是雙向的。 – 2rs2ts 2014-09-12 21:36:24