'How do I use the an AWS data key to encrypt a string in typescript?

I am working on a project that uses the result of GenerateDataKey from the AWS KMS SDK. The result is the following:

{
    "PrivateKeyCiphertextBlob":".......",
    "PrivateKeyPlaintext":".....",
    "PublicKey": "MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA8zpg35PbIC/+KCHiGSZr/SY80uZIlNYkO3P2YRL9bMdk6m2Syj+TjOpjx67Wj+vrHyVYabY8WgN5S/Qu3qJro08rBkT3cxIwHVB7iJr5geJ6/SwK3j8T2ZyA8ZaiCx3+qf6YOGzAoik2X5krIkol+SpNxs9vEhmMcJ4jwWW/8+/CZN0CjQ0QAyjjaojKcBZdxhzDZ2Vqe7vWp5AjRzlcwLnygCkywgkvSStAheePIQ6hyFdFbHJVCIE7zeG+ata9q6ouGspo4CFNdrVGn/MRb79vzeTnbnsuUvGIXcPSqONKCZeMRA+IzStkzxpZ2OoUYjPalFHv2kM+fLUFrJR4FO4d+w6WdMPlLFDD7qKaw3jnDSOmTPM73Isw4bYIjmSa00JQuMK1Nh0duW9nsR0XOuWKHo9uYDlwm43Sd9zij2wVzmy0FIXbj8ipt4ggZGkDiczK/q7XXsgMEGCgdPn0hcWUjoCqBlh0++cOLRTpHf52APVMhEJdsjimoOdGh97jZmQUwTKxA5l3hKkxEhHgVehRZDexHdQWgZpi28cEH5vCMUNCJo29awtp3YnUkO19lVEY18dourdeFji+FfELlqtl1VVh0DIohqneLBemDef2fT1olQyez//JckWJYIGwqRIk0AfxUSMe0hRT5evdotJ5guQCKZmoNvgwUXBKG8kCAwEAAQ==",
    "KeyId": "arn:aws:kms:us-east-1:xxxxxxxxxxxx:key/yyyyyyyyyyyy",
    "KeyPairSpec": "RSA_4096"
}

How do I use the result of PublicKey to encrypt a random string in Javascript/Typescript? Newbie to TS here, so would appreciate the help!

UPDATE: Here's what I'm doing so far:

import { publicEncrypt } from 'crypto';

import {
  KMSClient,
  DataKeyPairSpec,
  GenerateDataKeyPairCommand,
} from '@aws-sdk/client-kms';
...
    const cdkPublicKey = 'MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA8zpg35PbIC/+KCHiGSZr/SY80uZIlNYkO3P2YRL9bMdk6m2Syj+TjOpjx67Wj+vrHyVYabY8WgN5S/Qu3qJro08rBkT3cxIwHVB7iJr5geJ6/SwK3j8T2ZyA8ZaiCx3+qf6YOGzAoik2X5krIkol+SpNxs9vEhmMcJ4jwWW/8+/CZN0CjQ0QAyjjaojKcBZdxhzDZ2Vqe7vWp5AjRzlcwLnygCkywgkvSStAheePIQ6hyFdFbHJVCIE7zeG+ata9q6ouGspo4CFNdrVGn/MRb79vzeTnbnsuUvGIXcPSqONKCZeMRA+IzStkzxpZ2OoUYjPalFHv2kM+fLUFrJR4FO4d+w6WdMPlLFDD7qKaw3jnDSOmTPM73Isw4bYIjmSa00JQuMK1Nh0duW9nsR0XOuWKHo9uYDlwm43Sd9zij2wVzmy0FIXbj8ipt4ggZGkDiczK/q7XXsgMEGCgdPn0hcWUjoCqBlh0++cOLRTpHf52APVMhEJdsjimoOdGh97jZmQUwTKxA5l3hKkxEhHgVehRZDexHdQWgZpi28cEH5vCMUNCJo29awtp3YnUkO19lVEY18dourdeFji+FfELlqtl1VVh0DIohqneLBemDef2fT1olQyez//JckWJYIGwqRIk0AfxUSMe0hRT5evdotJ5guQCKZmoNvgwUXBKG8kCAwEAAQ==';

    const encryptedSecret = publicEncrypt(
      Buffer.from(cdkPublicKey),
      Buffer.from('Hello World!'),
    );

And I get:

error:0909006C:PEM routines:get_name:no start line


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source