Sample code for 30+ languages & platforms
Dart

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 Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

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

  final rest = CkRest();

  // 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/
  final bTls = true;
  final port = 443;
  final bAutoReconnect = true;
  rest.connect('kms.us-west-2.amazonaws.com', port, bTls, bAutoReconnect);

  // Provide AWS credentials for the REST call.
  final authAws = CkAuthAws();
  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');

  final String strJson;
  try {
    strJson = rest.fullRequestString('POST', '/', '{}');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

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

  // Examine the successful JSON response (shown below)
  final json = CkJsonObject();
  json.load(strJson);
  json.emitCompact = false;

  print(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

  var keyArn = '';
  var keyId = '';

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