Options
All
  • Public
  • Public/Protected
  • All
Menu

Class KeyClient

Package version

The KeyClient provides methods to manage KeyVaultKey in the Azure Key Vault. The client supports creating, retrieving, updating, deleting, purging, backing up, restoring and listing KeyVaultKeys. The client also supports listing DeletedKey for a soft-delete enabled Azure Key Vault.

Hierarchy

  • KeyClient

Index

Constructors

constructor

  • Creates an instance of KeyClient.

    Example usage:

    import { KeyClient } from "@azure/keyvault-keys";
    import { DefaultAzureCredential } from "@azure/identity";
    
    let vaultUrl = `https://<MY KEYVAULT HERE>.vault.azure.net`;
    let credentials = new DefaultAzureCredential();
    
    let client = new KeyClient(vaultUrl, credentials);

    Parameters

    • vaultUrl: string

      the URL of the Key Vault. It should have this shape: https://${your-key-vault-name}.vault.azure.net

    • credential: TokenCredential

      An object that implements the TokenCredential interface used to authenticate requests to the service. Use the @azure/identity package to create a credential that suits your needs.

    • Default value pipelineOptions: KeyClientOptions = {}

      Pipeline options used to configure Key Vault API requests. Omit this parameter to use the default pipeline configuration.

    Returns KeyClient

Properties

vaultUrl

vaultUrl: string

The base URL to the vault

Methods

backupKey

  • backupKey(name: string, options?: BackupKeyOptions): Promise<Uint8Array | undefined>
  • Requests that a backup of the specified key be downloaded to the client. All versions of the key will be downloaded. This operation requires the keys/backup permission.

    Example usage:

    let client = new KeyClient(url, credentials);
    let backupContents = await client.backupKey("MyKey");

    Backs up the specified key.

    Parameters

    • name: string

      The name of the key.

    • Default value options: BackupKeyOptions = {}

      The optional parameters.

    Returns Promise<Uint8Array | undefined>

beginDeleteKey

  • The delete operation applies to any key stored in Azure Key Vault. Individual versions of a key can not be deleted, only all versions of a given key at once.

    This function returns a Long Running Operation poller that allows you to wait indefinitely until the key is deleted.

    This operation requires the keys/delete permission.

    Example usage:

    const client = new KeyClient(url, credentials);
    await client.createKey("MyKey", "EC");
    const poller = await client.beginDeleteKey("MyKey");
    
    // Serializing the poller
    const serialized = poller.toString();
    // A new poller can be created with:
    // await client.beginDeleteKey("MyKey", { resumeFrom: serialized });
    
    // Waiting until it's done
    const deletedKey = await poller.pollUntilDone();
    console.log(deletedKey);

    Deletes a key from a specified key vault.

    Parameters

    • name: string

      The name of the key.

    • Default value options: BeginDeleteKeyOptions = {}

      The optional parameters.

    Returns Promise<PollerLike<PollOperationState<DeletedKey>, DeletedKey>>

beginRecoverDeletedKey

  • Recovers the deleted key in the specified vault. This operation can only be performed on a soft-delete enabled vault.

    This function returns a Long Running Operation poller that allows you to wait indefinitely until the deleted key is recovered.

    This operation requires the keys/recover permission.

    Example usage:

    const client = new KeyClient(url, credentials);
    await client.createKey("MyKey", "EC");
    const deletePoller = await client.beginDeleteKey("MyKey");
    await deletePoller.pollUntilDone();
    const poller = await client.beginRecoverDeletedKey("MyKey");
    
    // Serializing the poller
    const serialized = poller.toString();
    // A new poller can be created with:
    // await client.beginRecoverDeletedKey("MyKey", { resumeFrom: serialized });
    
    // Waiting until it's done
    const key = await poller.pollUntilDone();
    console.log(key);

    Recovers the deleted key to the latest version.

    Parameters

    Returns Promise<PollerLike<PollOperationState<DeletedKey>, DeletedKey>>

createEcKey

  • The createEcKey method creates a new elliptic curve key in Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the keys/create permission.

    Example usage:

    let client = new KeyClient(url, credentials);
    let result = await client.createEcKey("MyKey", { curve: "P-256" });

    Creates a new key, stores it, then returns key parameters and properties to the client.

    Parameters

    • name: string

      The name of the key.

    • Optional options: CreateEcKeyOptions

      The optional parameters.

    Returns Promise<KeyVaultKey>

createKey

  • The create key operation can be used to create any key type in Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the keys/create permission.

    Example usage:

    let client = new KeyClient(url, credentials);
    // Create an elliptic-curve key:
    let result = await client.createKey("MyKey", "EC");

    Creates a new key, stores it, then returns key parameters and properties to the client.

    Parameters

    • name: string

      The name of the key.

    • keyType: KeyType

      The type of the key. One of the following: 'EC', 'EC-HSM', 'RSA', 'RSA-HSM', 'oct'.

    • Optional options: CreateKeyOptions

      The optional parameters.

    Returns Promise<KeyVaultKey>

createOctKey

  • The createOctKey method creates a new OCT key in Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the keys/create permission.

    Example usage:

    let client = new KeyClient(url, credentials);
    let result = await client.createOctKey("MyKey", { hsm: true });

    Creates a new key, stores it, then returns key parameters and properties to the client.

    Parameters

    • name: string

      The name of the key.

    • Optional options: CreateOctKeyOptions

      The optional parameters.

    Returns Promise<KeyVaultKey>

createRsaKey

  • The createRSAKey method creates a new RSA key in Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. It requires the keys/create permission.

    Example usage:

    let client = new KeyClient(url, credentials);
    let result = await client.createRsaKey("MyKey", { keySize: 2048 });

    Creates a new key, stores it, then returns key parameters and properties to the client.

    Parameters

    • name: string

      The name of the key.

    • Optional options: CreateRsaKeyOptions

      The optional parameters.

    Returns Promise<KeyVaultKey>

getDeletedKey

  • The getDeletedKey method returns the specified deleted key along with its properties. This operation requires the keys/get permission.

    Example usage:

    let client = new KeyClient(url, credentials);
    let key = await client.getDeletedKey("MyDeletedKey");

    Gets the specified deleted key.

    Parameters

    • name: string

      The name of the key.

    • Default value options: GetDeletedKeyOptions = {}

      The optional parameters.

    Returns Promise<DeletedKey>

getKey

  • The getKey method gets a specified key and is applicable to any key stored in Azure Key Vault. This operation requires the keys/get permission.

    Example usage:

    let client = new KeyClient(url, credentials);
    let key = await client.getKey("MyKey");

    Get a specified key from a given key vault.

    Parameters

    • name: string

      The name of the key.

    • Default value options: GetKeyOptions = {}

      The optional parameters.

    Returns Promise<KeyVaultKey>

getRandomBytes

  • Gets the requested number of bytes containing random values from a managed HSM.

    Example usage:

    let client = new KeyClient(vaultUrl, credentials);
    let bytes = await client.getRandomBytes(10);

    Parameters

    • count: number

      The number of bytes to generate between 1 and 128 inclusive.

    • Default value options: GetRandomBytesOptions = {}

      The optional parameters.

    Returns Promise<Uint8Array>

importKey

  • The import key operation may be used to import any key type into an Azure Key Vault. If the named key already exists, Azure Key Vault creates a new version of the key. This operation requires the keys/import permission.

    Example usage:

    let client = new KeyClient(url, credentials);
    // Key contents in myKeyContents
    let result = await client.importKey("MyKey", myKeyContents);

    Imports an externally created key, stores it, and returns key parameters and properties to the client.

    Parameters

    • name: string

      Name for the imported key.

    • key: JsonWebKey

      The JSON web key.

    • Optional options: ImportKeyOptions

      The optional parameters.

    Returns Promise<KeyVaultKey>

listDeletedKeys

  • Iterates the deleted keys in the vault. The full key identifier and properties are provided in the response. No values are returned for the keys. This operations requires the keys/list permission.

    Example usage:

    let client = new KeyClient(url, credentials);
    for await (const deletedKey of client.listDeletedKeys()) {
      console.log("deleted key: ", deletedKey);
    }

    List all keys in the vault

    Parameters

    Returns PagedAsyncIterableIterator<DeletedKey>

listPropertiesOfKeyVersions

  • Iterates all versions of the given key in the vault. The full key identifier, properties, and tags are provided in the response. This operation requires the keys/list permission.

    Example usage:

    let client = new KeyClient(url, credentials);
    for await (const keyProperties of client.listPropertiesOfKeyVersions("MyKey")) {
      const key = await client.getKey(keyProperties.name);
      console.log("key version: ", key);
    }

    Parameters

    Returns PagedAsyncIterableIterator<KeyProperties>

listPropertiesOfKeys

  • Iterates the latest version of all keys in the vault. The full key identifier and properties are provided in the response. No values are returned for the keys. This operations requires the keys/list permission.

    Example usage:

    let client = new KeyClient(url, credentials);
    for await (const keyProperties of client.listPropertiesOfKeys()) {
      const key = await client.getKey(keyProperties.name);
      console.log("key: ", key);
    }

    List all keys in the vault

    Parameters

    Returns PagedAsyncIterableIterator<KeyProperties>

purgeDeletedKey

  • The purge deleted key operation removes the key permanently, without the possibility of recovery. This operation can only be enabled on a soft-delete enabled vault. This operation requires the keys/purge permission.

    Example usage:

    const client = new KeyClient(url, credentials);
    const deletePoller = await client.beginDeleteKey("MyKey")
    await deletePoller.pollUntilDone();
    await client.purgeDeletedKey("MyKey");

    Permanently deletes the specified key.

    Parameters

    • name: string

      The name of the key.

    • Default value options: PurgeDeletedKeyOptions = {}

      The optional parameters.

    Returns Promise<void>

restoreKeyBackup

  • Restores a backed up key, and all its versions, to a vault. This operation requires the keys/restore permission.

    Example usage:

    let client = new KeyClient(url, credentials);
    let backupContents = await client.backupKey("MyKey");
    // ...
    let key = await client.restoreKeyBackup(backupContents);

    Restores a backed up key to a vault.

    Parameters

    • backup: Uint8Array

      The backup blob associated with a key bundle.

    • Default value options: RestoreKeyBackupOptions = {}

      The optional parameters.

    Returns Promise<KeyVaultKey>

updateKeyProperties

  • The updateKeyProperties method changes specified properties of an existing stored key. Properties that are not specified in the request are left unchanged. The value of a key itself cannot be changed. This operation requires the keys/set permission.

    Example usage:

    let keyName = "MyKey";
    let client = new KeyClient(url, credentials);
    let key = await client.getKey(keyName);
    let result = await client.updateKeyProperties(keyName, key.properties.version, { enabled: false });

    Updates the properties associated with a specified key in a given key vault.

    Parameters

    • name: string

      The name of the key.

    • keyVersion: string

      The version of the key.

    • Default value options: UpdateKeyPropertiesOptions = {}

      The optional parameters.

    Returns Promise<KeyVaultKey>

Generated using TypeDoc