Hi
I am trying to create a key via the KMS REST API using the following appended code but iam getting a HTTP 401 error. How do i authenticate to the API? Any help appreciated.
Sitaraman
URL url = new URL(“http://192.168.67.131:16000/kms/v1/keys”);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod(“POST”);
conn.setRequestProperty(“Content-Type”, “application/json”);
String userName = “root”;
String passWord = “passwd1”;
String userPassword = userName + “:” + passWord;
String encoding = new sun.misc.BASE64Encoder().encode(userPassword.getBytes());
conn.setRequestProperty(“Authorization”, “Basic ” + encoding);
//String input = “{\”qty\”:100,\”name\”:\”iPad 4\”}”;
String input = “{\”name\” : \”key-name\”, \”cipher\” : \”AES\”, \”length\” : 256, \”material\” : \”test123\”, \”description\” : \”description\”}”;
OutputStream os = conn.getOutputStream();
os.write(input.getBytes());
os.flush();
if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {
throw new RuntimeException(“Failed : HTTP error code : ”
+ conn.getResponseCode());
}
BufferedReader br = new BufferedReader(new InputStreamReader(
(conn.getInputStream())));
String output;
System.out.println(“Output from Server …. \n”);
while ((output = br.readLine()) != null) {
System.out.println(output);
}
conn.disconnect();