azure-keyvault-certificates-rust – Coding skill for AI agents
Azure Key Vault Certificates SDK for Rust. Use for creating, importing, and managing certificates.
Install the azure-keyvault-certificates-rust skill with one command
Pick the tool you use, copy the command and paste it in your terminal. The skill lands in that tool's skills folder and is ready in your next session.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/azure-keyvault-certificates-rust-d8673.tgz | tar xz -C ~/.claude/skills
Call it in Claude Code: /azure-keyvault-certificates-rust – then describe the task you want done.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/azure-keyvault-certificates-rust-d8673.tgz | tar xz -C ~/.codex/skills
Call it in Codex: $azure-keyvault-certificates-rust – then describe the task you want done.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/azure-keyvault-certificates-rust-d8673.tgz | tar xz -C ~/.hermes/skills
Call it in Hermes Agent: /azure-keyvault-certificates-rust – then describe the task you want done.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/azure-keyvault-certificates-rust-d8673.tgz | tar xz -C ~/.deepcode/skills
Call it in DeepSeek: /azure-keyvault-certificates-rust – then describe the task you want done.
SKILL.md content
Azure Key Vault Certificates SDK for Rust
Client library for Azure Key Vault Certificates — secure storage and management of certificates.
Version and execution scope
Examples are API sketches: first inspect Cargo.lock and the matching SDK docs for signatures/features, async runtime and response models. Use a test vault and least privilege; importing a PFX/private key or changing/deleting certificate policy requires the corresponding authorized scope. Keep import passwords/private keys in a secret store, never source or logs. A delete response does not prove purge or removal of every related key/secret version; inspect the actual lifecycle state.
Installation
cargo add azure_security_keyvault_certificates azure_identityEnvironment Variables
AZURE_KEYVAULT_URL=https://<vault-name>.vault.azure.net/Authentication
use azure_identity::DeveloperToolsCredential;
use azure_security_keyvault_certificates::CertificateClient;
let credential = DeveloperToolsCredential::new(None)?;
let client = CertificateClient::new(
"https://<vault-name>.vault.azure.net/",
credential.clone(),
None,
)?;Core Operations
Get Certificate
use azure_core::base64;
let certificate = client
.get_certificate("certificate-name", None)
.await?
.into_model()?;
println!(
"Thumbprint: {:?}",
certificate.x509_thumbprint.map(base64::encode_url_safe)
);Create Certificate
use azure_security_keyvault_certificates::models::{
CreateCertificateParameters, CertificatePolicy,
IssuerParameters, X509CertificateProperties,
};
let policy = CertificatePolicy {
issuer_parameters: Some(IssuerParameters {
name: Some("Self".into()),
..Default::default()
}),
x509_certificate_properties: Some(X509CertificateProperties {
subject: Some("CN=example.com".into()),
..Default::default()
}),
..Default::default()
};
let params = CreateCertificateParameters {
certificate_policy: Some(policy),
..Default::default()
};
let operation = client
.create_certificate("cert-name", params.try_into()?, None)
.await?;Import Certificate
use azure_security_keyvault_certificates::models::ImportCertificateParameters;
let params = ImportCertificateParameters {
base64_encoded_certificate: Some(base64_cert_data),
password: Some("optional-password".into()),
..Default::default()
};
let certificate = client
.import_certificate("cert-name", params.try_into()?, None)
.await?
.into_model()?;Delete Certificate
client.delete_certificate("certificate-name", None).await?;List Certificates
use azure_security_keyvault_certificates::ResourceExt;
use futures::TryStreamExt;
let mut pager = client.list_certificate_properties(None)?.into_stream();
while let Some(cert) = pager.try_next().await? {
let name = cert.resource_id()?.name;
println!("Certificate: {}", name);
}Get Certificate Policy
let policy = client
.get_certificate_policy("certificate-name", None)
.await?
.into_model()?;Update Certificate Policy
use azure_security_keyvault_certificates::models::UpdateCertificatePolicyParameters;
let params = UpdateCertificatePolicyParameters {
// Update policy properties
..Default::default()
};
client
.update_certificate_policy("cert-name", params.try_into()?, None)
.await?;Certificate Lifecycle
1. Create — generates new certificate with policy
2. Import — import existing PFX/PEM certificate
3. Get — retrieve certificate (public key only)
4. Update — modify certificate properties
5. Delete — soft delete (recoverable)
6. Purge — permanent deletion
Best Practices
1. Use Entra ID auth — DeveloperToolsCredential for dev
2. Use managed certificates — auto-renewal with supported issuers
3. Set proper validity period — balance security and maintenance
4. Use certificate policies — define renewal and key properties
5. Monitor expiration — set up alerts for expiring certificates
6. Enable soft delete — required for production vaults
RBAC Permissions
Assign these Key Vault roles:
Key Vault Certificates Officer— full CRUD on certificatesKey Vault Reader— read certificate metadata
Reference Links
| Resource | Link |
|----------|------|
| API Reference | https://docs.rs/azure_security_keyvault_certificates |
| Source Code | https://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/keyvault/azure_security_keyvault_certificates |
| crates.io | https://crates.io/crates/azure_security_keyvault_certificates |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
Related skills
- azure-keyvault-keys-rust – Azure Key Vault Keys SDK for Rust. Use for creating, managing, and using cryptographic…
- azure-keyvault-secrets-rust – Azure Key Vault Secrets SDK for Rust. Use for storing and retrieving secrets, passwords…
- azure-messaging-webpubsub-java – Build real-time web applications with Azure Web PubSub SDK for Java. Use when…
- modern-javascript-patterns – Master ES6+ features including async/await, destructuring, spread operators, arrow…
- monorepo-management – Master monorepo management with Turborepo, Nx, and pnpm workspaces to build efficient…
- cto-advisor – Technical leadership guidance for engineering teams, architecture decisions, and…
- cto-review – /c-level-agents:cto-review [plan] — Architecture and scaling interrogation. Tech debt…
- imessage – Send and receive iMessages/SMS via the imsg CLI on macOS.