Hi,

I am using cassandra version 2.1 . My goal is to do cassandra client to
node security using SSL with my self-signed CA.

Self-signed CA is giving me following files.
1. ca.crt
2. ca.key
3. client.csr
4. client.crt
5. client.key
6. client.p12

I am creating .jks (client.jks) file from client.p12 using below command so
that I can use client.jks as a keystore and truststore in cassandra.yaml
file. (We can't use .p12 file as a keystore and truststore because it's not
in X.509 format).

"keytool -importkeystore -srckeystore client.p12 -srcstoretype pkcs12
-destkeystore client.jks -deststoretype jks -deststorepass <passwd>"

I have to connect cassandra with cql.

I am creating cqlshrc file in .cassandra directory and I am putting
client.crt as a certfile and usercert. I am putting client.key as a userkey.

When I am running "cqlsh --ssl". I am getting error (mentioned below).

"Connection error: ('Unable to connect to any servers', {'127.0.0.1':
error(1, u"Tried connecting to [('127.0.0.1', 9042)]. Last error: [SSL:
CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)")})"

Second thing is when I am using ca.key and ca.crt and again creating client
certificate(node_cer_user1.pem), client key(node_key_user1.pem) and
keystore(node.keystore) using below commands then It's working.

1. keytool -importcert -alias <clusterCA> -file ca.crt -keystore
<clustertruststore> -storepass <passwd>
2. keytool -genkeypair -alias <node> -keyalg RSA -keysize 2048 -keypass
<passwd> -keystore <node.keystore> -storepass <passwd> -validity 365
3. keytool -keystore <node.keystore> -alias <node> -certreq -file
<node.cert> -storepass <passwd> -keypass <passwd>
4. openssl x509 -req -CA ca.crt -CAkey ca.key -in <node.cert> -out
<node.signed> -days 365 -CAcreateserial
5. keytool -keystore <node.keystore> -storepass <passwd> -alias <clusterCA>
-import -file ca.crt -noprompt
6. keytool -keystore <node.keystore> -storepass <passwd> -alias <node>
-import -file <node.signed> -keypass <passwd>
7. keytool -importkeystore -srckeystore <node.keystore> -destkeystore
<node_user1.p12> -deststoretype PKCS12
8. openssl pkcs12 -in <node_user1.p12> -nokeys -out <node_cer_user1.pem>
-passin pass:<passwd>
9. openssl pkcs12 -in <node_user1.p12> -nodes -nocerts -out
<node_key_user1.pem> -passin pass:<passwd>


Self-signed CA is giving me client.crt, client.key and keystore, then Why
It's not working? Why I have to create certificates again using ca.crt and
ca.key?


Thanks,
Vishwajeet

Reply via email to