Sample code for 30+ languages & platforms
React Native

AWS KMS List Keys

See more AWS KMS Examples

Gets a list of all KMS keys in the caller's AWS account and Region.

Chilkat React Native Downloads

React Native
import { AuthAws, JsonObject, Rest } from '@chilkat/react-native'

async function chilkatExample() {
  // This example requires the Chilkat API to have been previously unlocked.
  // See Global Unlock Sample for sample code.

  const rest = new Rest();

  // Connect to the Amazon AWS REST server.
  // Make sure to use the region that is correct for you.
  // such as https://kms.us-west-2.amazonaws.com/
  const bTls = true;
  const port = 443;
  const bAutoReconnect = true;
  await rest.connectAsync('kms.us-west-2.amazonaws.com', port, bTls, bAutoReconnect);

  // Provide AWS credentials for the REST call.
  const authAws = new AuthAws();
  authAws.accessKey = 'AWS_ACCESS_KEY';
  authAws.secretKey = 'AWS_SECRET_KEY';
  // the region should match our URL above..
  authAws.region = 'us-west-2';
  authAws.serviceName = 'kms';

  rest.setAuthAws(authAws);

  rest.addHeader('X-Amz-Target', 'TrentService.ListKeys');
  rest.addHeader('Content-Type', 'application/x-amz-json-1.1');

  let strJson: string;
  try {
    strJson = await rest.fullRequestStringAsync('POST', '/', '{}');
  } catch {
    console.log(rest.lastErrorText);
    return;
  }

  // A successful response will have a status code equal to 200.
  if (rest.responseStatusCode !== 200) {
    console.log(`response status code = ${rest.responseStatusCode}`);
    console.log(`response status text = ${rest.responseStatusText}`);
    console.log(`response header: ${rest.responseHeader}`);
    console.log(`response body: ${strJson}`);
    return;
  }

  // Examine the successful JSON response (shown below)
  const json = new JsonObject();
  json.load(strJson);
  json.emitCompact = false;

  console.log(json.emit());

  // Sample output:

  // {
  //   "KeyCount": 4,
  //   "Keys": [
  //     {
  //       "KeyArn": "arn:aws:kms:us-west-2:954491834127:key/082f8520-7afc-4a09-b703-89b7243072e5",
  //       "KeyId": "082f8520-7afc-4a09-b703-89b7243072e5"
  //     },
  //     {
  //       "KeyArn": "arn:aws:kms:us-west-2:954491834127:key/17432483-ff08-4950-93d3-f46ebb5e17d1",
  //       "KeyId": "17432483-ff08-4950-93d3-f46ebb5e17d1"
  //     },
  //     {
  //       "KeyArn": "arn:aws:kms:us-west-2:954491834127:key/1b0e5b3c-0675-4510-adb6-a75b40a93da0",
  //       "KeyId": "1b0e5b3c-0675-4510-adb6-a75b40a93da0"
  //     },
  //     {
  //       "KeyArn": "arn:aws:kms:us-west-2:954491834127:key/265e3993-428b-4581-9466-b1030a53062f",
  //       "KeyId": "265e3993-428b-4581-9466-b1030a53062f"
  //     },
  //   ],
  //   "Truncated": false
  // }

  // Use this online tool to generate parsing code from sample JSON: 
  // Generate Parsing Code from JSON

  let keyArn = '';
  let keyId = '';

  const keyCount = json.intOf('KeyCount');
  let i = 0;
  const countI = json.sizeOfArray('Keys');
  while (i < countI) {
    json.i = i;
    keyArn = json.stringOf('Keys[i].KeyArn');
    keyId = json.stringOf('Keys[i].KeyId');
    i++;
  }
}