Description
Tested with Java SDK 2.5.1 against Vulcan 5.5.0-1979
Java SDK spews password for 'default' bucket does not match.
With same SDK, Spock 5.1.0-5511 worked.
Here is steps to setup client certificate
https://hub.internal.couchbase.com/confluence/display/JP/Setup+Client+Cert+based+Authentication
Rest is java code and here is the snippet
String username = "sdkqecertreaduser"; |
JsonObject content = JsonObject.create().put("hello", "world"); |
UserRole[] roles = {new UserRole("data_reader", bucketname)}; |
|
assertEquals(0, initCert(username, host)); |
assertEquals(true, addKey(key, content, bucketname, host)); |
assertEquals(true, createUser(username, roles, bucketname, host)); |
|
CouchbaseEnvironment env = DefaultCouchbaseEnvironment
|
.builder()
|
.sslEnabled(true) |
.sslKeystoreFile("cert/keystore.jks") |
.sslKeystorePassword("123456") |
.connectTimeout(50000) |
.computationPoolSize(5) |
.bootstrapCarrierSslPort(11207) |
.certAuthEnabled(true) |
.bootstrapHttpDirectPort(8091) |
.bootstrapHttpSslPort(18091) |
.bootstrapCarrierDirectPort(11210) |
.build();
|
|
String[] nodes = {host};
|
CouchbaseCluster cluster = CouchbaseCluster.create(env, nodes);
|
|
Bucket bucket = null; |
try { |
bucket = cluster.openBucket(bucketname);
|
result = true; |
} catch (Exception e){ |
e.printStackTrace();
|
result = false; |
}
|
if (result) { |
try { |
assertNotEquals(bucket.get(key, 3, TimeUnit.SECONDS), null); |
Thread.sleep(1000); |
|
// Close all buckets and disconnect |
cluster.disconnect();
|
result = true; |
} catch (Exception e) { |
e.printStackTrace();
|
result = false; |
}
|
}
|