clojurewerkz/cassaforte — pull request #61 by juhani-hietikko (2014-08-27 12:58:10+00:00)
Title: A new SSL option to allow overriding default cipher suites.

I've added an option to specify SSL cipher suites when calling build-cluster.

Datastax Java driver's default cipher suites (SSLOptions/DEFAULT_SSL_CIPHER_SUITES) require installing the Java Cryptography Extension Unlimited Strength Jurisdiction Policy Files. Without installing these, connecting to a cluster with SSL fails:
"java.lang.IllegalArgumentException: Cannot support TLS_RSA_WITH_AES_256_CBC_SHA with currently installed providers"

One way to work around this is by specifying cipher suites that work with standard JCE in the SSLOptions given to the Java driver's Cluster builder. That is the motive for this change.

:cipher-suites is expected to contain a Seq (e.g. vector) of Strings, where each item specifies a cipher suite (e.g. "TLS_RSA_WITH_AES_128_CBC_SHA"). When the :cipher-suites option is omitted, build-ssl-options and build-cluster work as before, using default cipher suites from SSLOptions.