skills/azure-keyvault-keys-rust/SKILL.md
Azure Key Vault Keys SDK for Rust. Use for creating, managing, and using cryptographic keys. Triggers: "keyvault keys rust", "KeyClient rust", "create key rust", "encrypt rust", "sign rust".
npx skillsauth add globallayer/claude-code-skills azure-keyvault-keys-rustInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Client library for Azure Key Vault Keys — secure storage and management of cryptographic keys.
cargo add azure_security_keyvault_keys azure_identity
AZURE_KEYVAULT_URL=https://<vault-name>.vault.azure.net/
use azure_identity::DeveloperToolsCredential;
use azure_security_keyvault_keys::KeyClient;
let credential = DeveloperToolsCredential::new(None)?;
let client = KeyClient::new(
"https://<vault-name>.vault.azure.net/",
credential.clone(),
None,
)?;
| Type | Description | |------|-------------| | RSA | RSA keys (2048, 3072, 4096 bits) | | EC | Elliptic curve keys (P-256, P-384, P-521) | | RSA-HSM | HSM-protected RSA keys | | EC-HSM | HSM-protected EC keys |
let key = client
.get_key("key-name", None)
.await?
.into_model()?;
println!("Key ID: {:?}", key.key.as_ref().map(|k| &k.kid));
use azure_security_keyvault_keys::models::{CreateKeyParameters, KeyType};
let params = CreateKeyParameters {
kty: KeyType::Rsa,
key_size: Some(2048),
..Default::default()
};
let key = client
.create_key("key-name", params.try_into()?, None)
.await?
.into_model()?;
use azure_security_keyvault_keys::models::{CreateKeyParameters, KeyType, CurveName};
let params = CreateKeyParameters {
kty: KeyType::Ec,
curve: Some(CurveName::P256),
..Default::default()
};
let key = client
.create_key("ec-key", params.try_into()?, None)
.await?
.into_model()?;
client.delete_key("key-name", None).await?;
use azure_security_keyvault_keys::ResourceExt;
use futures::TryStreamExt;
let mut pager = client.list_key_properties(None)?.into_stream();
while let Some(key) = pager.try_next().await? {
let name = key.resource_id()?.name;
println!("Key: {}", name);
}
let backup = client.backup_key("key-name", None).await?;
// Store backup.value safely
use azure_security_keyvault_keys::models::RestoreKeyParameters;
let params = RestoreKeyParameters {
key_bundle_backup: backup_bytes,
};
client.restore_key(params.try_into()?, None).await?;
Key Vault can perform crypto operations without exposing the private key:
// For cryptographic operations, use the key's operations
// Available operations depend on key type and permissions:
// - encrypt/decrypt (RSA)
// - sign/verify (RSA, EC)
// - wrapKey/unwrapKey (RSA)
DeveloperToolsCredential for dev, ManagedIdentityCredential for productionAssign these Key Vault roles:
Key Vault Crypto User — use keys for crypto operationsKey Vault Crypto Officer — full CRUD on keys| Resource | Link | |----------|------| | API Reference | https://docs.rs/azure_security_keyvault_keys | | Source Code | https://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/keyvault/azure_security_keyvault_keys | | crates.io | https://crates.io/crates/azure_security_keyvault_keys |
This skill is applicable to execute the workflow or actions described in the overview.
development
Analyze cryptographic code to detect operations that leak secret data through execution timing variations.
tools
Automate Confluence page creation, content search, space management, labels, and hierarchy navigation via Rube MCP (Composio). Always search tools first for current schemas.
development
Interactive installer for Everything Claude Code — guides users through selecting and installing skills and rules to user-level or project-level directories, verifies paths, and optionally optimizes installed files.
testing
Validates Conductor project artifacts for completeness, consistency, and correctness. Use after setup, when diagnosing issues, or before implementation to verify project context.