카산드라 클러스터에 노드 간 암호화를 설정했습니다. 이제 클라이언트 대 노드를 설정하려고합니다. this documentation에 따르면 내 클라이언트의 SSL 인증서를 가져 와서 모든 노드의 트러스트 스토어로 가져 오는 것이 쉬워야합니다. 나는 그런 증명서를 아직 가지고 있지 않지만 이것은 나의 질문이 아니다.DataStax Java 드라이버로 Cassandra 클라이언트 - 노드 암호화를 설정하는 방법은 무엇입니까?
내 클라이언트가 DataStax Java 드라이버를 사용하고 있기 때문에 클라이언트 측에서 SSL을 활성화하려면 Cluster
을 구축 할 때 withSSL()
메서드를 사용하여 SSL을 사용해야합니다. 좋아,하지만 내가 뭘해야 해? 나는 JSSE에 익숙하지 않아서 필요한 것이 무엇인지 모른다. SSL 통신은 양방향입니까? 즉, 드라이버가 클러스터의 각 노드에 대한 SSL 인증서에 액세스해야합니까?
# 1에서 수행 한 작업과 # 2에서 설정을 배치 했으므로 수행 할 작업을 알고 있습니다. # 3과 관련해서는 클라이언트 응용 프로그램에 자체 키 스토어와 트러스트 스토어가 있어야 함을 의미한다고 가정합니다. 이 파일들은 # 1의 지침에 따라 Cassandra 노드를 설정하는 것과 비슷한 다른 파일이어야합니까? – 2rs2ts
나는 생각하지 않는다. 내가 말할 수있는 것부터, 노드의 키/트러스트 스토어 중 하나를 재사용 할 수 있어야합니다. 어쨌든 서로를 신뢰해야하기 때문입니다. 또한, 위의 [5]를 제외하고 클라이언트 인증서를 생성하는 것을 포함하는 예제를 보지 못했습니다. 이는 약간 모호합니다. – CHK
노드 저장소를 다시 사용하고 싶지 않습니다. 각 노드가 다른 노드를 모두 신뢰해야하기 때문에 새로운 노드를 회전 시키면 클라이언트의 트러스트 스토어를 업데이트해야합니다. 아니면 필요한가? SSL 인증이 양방향인지 여부를 이전에 질문했습니다. – 2rs2ts