@Test public void testSeparateWrappedFiles() throws Exception { AuthHandler auth = Nats.credentials("src/test/resources/jwt_nkey/test_wrapped.jwt", "src/test/resources/jwt_nkey/test_wrapped.nk"); NKey key = NKey.fromSeed(SEED.toCharArray()); byte[] test = "hello world again".getBytes(StandardCharsets.UTF_8); char[] pubKey = auth.getID(); assertArrayEquals(key.getPublicKey(), pubKey); assertArrayEquals(key.sign(test), auth.sign(test)); assertArrayEquals(JWT.toCharArray(), auth.getJWT()); }
@Test public void testChainFile() throws Exception { AuthHandler auth = Nats.credentials("src/test/resources/jwt_nkey/test.chain"); NKey key = NKey.fromSeed(SEED.toCharArray()); byte[] test = "hello world".getBytes(StandardCharsets.UTF_8); char[] pubKey = auth.getID(); assertArrayEquals(key.getPublicKey(), pubKey); assertArrayEquals(key.sign(test), auth.sign(test)); assertArrayEquals(JWT.toCharArray(), auth.getJWT()); }
@Test public void testSeparateBareFiles() throws Exception { AuthHandler auth = Nats.credentials("src/test/resources/jwt_nkey/test.jwt", "src/test/resources/jwt_nkey/test.nk"); NKey key = NKey.fromSeed(SEED.toCharArray()); byte[] test = "hello world and again".getBytes(StandardCharsets.UTF_8); char[] pubKey = auth.getID(); assertArrayEquals(key.getPublicKey(), pubKey); assertArrayEquals(key.sign(test), auth.sign(test)); assertArrayEquals(JWT.toCharArray(), auth.getJWT()); } }
@Test public void testJWTAuthWithChainFile() throws Exception { NKey theKey = NKey.createUser(null); assertNotNull(theKey); String version = NatsTestServer.generateGnatsdVersionString(); if (!version.contains("version 2")) { // Server version doesn't support this test return; } try (NatsTestServer ts = new NatsTestServer("src/test/resources/operator.conf", true)) { Options options = new Options.Builder(). server(ts.getURI()). maxReconnects(0). authHandler(Nats.credentials("src/test/resources/jwt_nkey/user.chain")). build(); Connection nc = Nats.connect(options); try { assertTrue("Connected Status", Connection.Status.CONNECTED == nc.getStatus()); } finally { nc.close(); assertTrue("Closed Status", Connection.Status.CLOSED == nc.getStatus()); } } }