{"id":"c2cd72c4-5d8a-4302-b482-ecd931760644","shortId":"cf4wXZ","kind":"skill","title":"azure-keyvault-certificates-rust","tagline":"Azure Key Vault Certificates SDK for Rust. Use for creating, importing, and managing certificates.","description":"# Azure Key Vault Certificates SDK for Rust\n\nClient library for Azure Key Vault Certificates — secure storage and management of certificates.\n\n## Installation\n\n```sh\ncargo add azure_security_keyvault_certificates azure_identity\n```\n\n## Environment Variables\n\n```bash\nAZURE_KEYVAULT_URL=https://<vault-name>.vault.azure.net/\n```\n\n## Authentication\n\n```rust\nuse azure_identity::DeveloperToolsCredential;\nuse azure_security_keyvault_certificates::CertificateClient;\n\nlet credential = DeveloperToolsCredential::new(None)?;\nlet client = CertificateClient::new(\n    \"https://<vault-name>.vault.azure.net/\",\n    credential.clone(),\n    None,\n)?;\n```\n\n## Core Operations\n\n### Get Certificate\n\n```rust\nuse azure_core::base64;\n\nlet certificate = client\n    .get_certificate(\"certificate-name\", None)\n    .await?\n    .into_model()?;\n\nprintln!(\n    \"Thumbprint: {:?}\",\n    certificate.x509_thumbprint.map(base64::encode_url_safe)\n);\n```\n\n### Create Certificate\n\n```rust\nuse azure_security_keyvault_certificates::models::{\n    CreateCertificateParameters, CertificatePolicy,\n    IssuerParameters, X509CertificateProperties,\n};\n\nlet policy = CertificatePolicy {\n    issuer_parameters: Some(IssuerParameters {\n        name: Some(\"Self\".into()),\n        ..Default::default()\n    }),\n    x509_certificate_properties: Some(X509CertificateProperties {\n        subject: Some(\"CN=example.com\".into()),\n        ..Default::default()\n    }),\n    ..Default::default()\n};\n\nlet params = CreateCertificateParameters {\n    certificate_policy: Some(policy),\n    ..Default::default()\n};\n\nlet operation = client\n    .create_certificate(\"cert-name\", params.try_into()?, None)\n    .await?;\n```\n\n### Import Certificate\n\n```rust\nuse azure_security_keyvault_certificates::models::ImportCertificateParameters;\n\nlet params = ImportCertificateParameters {\n    base64_encoded_certificate: Some(base64_cert_data),\n    password: Some(\"optional-password\".into()),\n    ..Default::default()\n};\n\nlet certificate = client\n    .import_certificate(\"cert-name\", params.try_into()?, None)\n    .await?\n    .into_model()?;\n```\n\n### Delete Certificate\n\n```rust\nclient.delete_certificate(\"certificate-name\", None).await?;\n```\n\n### List Certificates\n\n```rust\nuse azure_security_keyvault_certificates::ResourceExt;\nuse futures::TryStreamExt;\n\nlet mut pager = client.list_certificate_properties(None)?.into_stream();\nwhile let Some(cert) = pager.try_next().await? {\n    let name = cert.resource_id()?.name;\n    println!(\"Certificate: {}\", name);\n}\n```\n\n### Get Certificate Policy\n\n```rust\nlet policy = client\n    .get_certificate_policy(\"certificate-name\", None)\n    .await?\n    .into_model()?;\n```\n\n### Update Certificate Policy\n\n```rust\nuse azure_security_keyvault_certificates::models::UpdateCertificatePolicyParameters;\n\nlet params = UpdateCertificatePolicyParameters {\n    // Update policy properties\n    ..Default::default()\n};\n\nclient\n    .update_certificate_policy(\"cert-name\", params.try_into()?, None)\n    .await?;\n```\n\n## Certificate Lifecycle\n\n1. **Create** — generates new certificate with policy\n2. **Import** — import existing PFX/PEM certificate\n3. **Get** — retrieve certificate (public key only)\n4. **Update** — modify certificate properties\n5. **Delete** — soft delete (recoverable)\n6. **Purge** — permanent deletion\n\n## Best Practices\n\n1. **Use Entra ID auth** — `DeveloperToolsCredential` for dev\n2. **Use managed certificates** — auto-renewal with supported issuers\n3. **Set proper validity period** — balance security and maintenance\n4. **Use certificate policies** — define renewal and key properties\n5. **Monitor expiration** — set up alerts for expiring certificates\n6. **Enable soft delete** — required for production vaults\n\n## RBAC Permissions\n\nAssign these Key Vault roles:\n- `Key Vault Certificates Officer` — full CRUD on certificates\n- `Key Vault Reader` — read certificate metadata\n\n## Reference Links\n\n| Resource | Link |\n|----------|------|\n| API Reference | https://docs.rs/azure_security_keyvault_certificates |\n| Source Code | https://github.com/Azure/azure-sdk-for-rust/tree/main/sdk/keyvault/azure_security_keyvault_certificates |\n| crates.io | https://crates.io/crates/azure_security_keyvault_certificates |\n\n## When to Use\nThis skill is applicable to execute the workflow or actions described in the overview.\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.","tags":["azure","keyvault","certificates","rust","antigravity","awesome","skills","sickn33","agent-skills","agentic-skills","ai-agent-skills","ai-agents"],"capabilities":["skill","source-sickn33","skill-azure-keyvault-certificates-rust","topic-agent-skills","topic-agentic-skills","topic-ai-agent-skills","topic-ai-agents","topic-ai-coding","topic-ai-workflows","topic-antigravity","topic-antigravity-skills","topic-claude-code","topic-claude-code-skills","topic-codex-cli","topic-codex-skills"],"categories":["antigravity-awesome-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-keyvault-certificates-rust","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add sickn33/antigravity-awesome-skills","source_repo":"https://github.com/sickn33/antigravity-awesome-skills","install_from":"skills.sh"}},"qualityScore":"0.700","qualityRationale":"deterministic score 0.70 from registry signals: · indexed on github topic:agent-skills · 34928 github stars · SKILL.md body (4,612 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-04-24T18:50:31.077Z","embedding":null,"createdAt":"2026-04-18T21:32:33.465Z","updatedAt":"2026-04-24T18:50:31.077Z","lastSeenAt":"2026-04-24T18:50:31.077Z","tsv":"'/azure/azure-sdk-for-rust/tree/main/sdk/keyvault/azure_security_keyvault_certificates':430 '/azure_security_keyvault_certificates':425 '/crates/azure_security_keyvault_certificates':434 '1':307,343 '2':314,351 '3':320,361 '4':327,370 '5':332,379 '6':337,388 'action':447 'add':43 'alert':384 'api':421 'applic':441 'ask':485 'assign':398 'auth':347 'authent':57 'auto':356 'auto-renew':355 'await':99,169,209,221,249,272,304 'azur':2,6,20,30,44,48,53,60,64,87,113,174,226,280 'azure-keyvault-certificates-rust':1 'balanc':366 'base64':89,105,183,187 'bash':52 'best':341 'boundari':493 'cargo':42 'cert':164,188,204,246,299 'cert-nam':163,203,298 'cert.resource':252 'certif':4,9,19,23,33,39,47,67,84,91,94,96,110,116,136,152,162,171,177,185,199,202,213,216,218,223,229,238,256,259,266,269,276,283,296,305,311,319,323,330,354,372,387,405,410,415 'certificate-nam':95,217,268 'certificate.x509_thumbprint.map':104 'certificatecli':68,76 'certificatepolici':119,124 'clarif':487 'clear':460 'client':27,75,92,160,200,264,294 'client.delete':215 'client.list':237 'cn':142 'code':427 'core':81,88 'crates.io':431,433 'crates.io/crates/azure_security_keyvault_certificates':432 'creat':15,109,161,308 'createcertificateparamet':118,151 'credenti':70 'credential.clone':79 'criteria':496 'crud':408 'data':189 'default':133,134,145,146,147,148,156,157,196,197,292,293 'defin':374 'delet':212,333,335,340,391 'describ':448,464 'dev':350 'developertoolscredenti':62,71,348 'docs.rs':424 'docs.rs/azure_security_keyvault_certificates':423 'enabl':389 'encod':106,184 'entra':345 'environ':50,476 'environment-specif':475 'example.com':143 'execut':443 'exist':317 'expert':481 'expir':381,386 'full':407 'futur':232 'generat':309 'get':83,93,258,265,321 'github.com':429 'github.com/azure/azure-sdk-for-rust/tree/main/sdk/keyvault/azure_security_keyvault_certificates':428 'id':253,346 'ident':49,61 'import':16,170,201,315,316 'importcertificateparamet':179,182 'input':490 'instal':40 'issuer':125,360 'issuerparamet':120,128 'key':7,21,31,325,377,400,403,411 'keyvault':3,46,54,66,115,176,228,282 'let':69,74,90,122,149,158,180,198,234,244,250,262,286 'librari':28 'lifecycl':306 'limit':452 'link':418,420 'list':222 'mainten':369 'manag':18,37,353 'match':461 'metadata':416 'miss':498 'model':101,117,178,211,274,284 'modifi':329 'monitor':380 'mut':235 'name':97,129,165,205,219,251,254,257,270,300 'new':72,77,310 'next':248 'none':73,80,98,168,208,220,240,271,303 'offic':406 'oper':82,159 'option':193 'optional-password':192 'output':470 'overview':451 'pager':236 'pager.try':247 'param':150,181,287 'paramet':126 'params.try':166,206,301 'password':190,194 'period':365 'perman':339 'permiss':397,491 'pfx/pem':318 'polici':123,153,155,260,263,267,277,290,297,313,373 'practic':342 'println':102,255 'product':394 'proper':363 'properti':137,239,291,331,378 'public':324 'purg':338 'rbac':396 'read':414 'reader':413 'recover':336 'refer':417,422 'renew':357,375 'requir':392,489 'resourc':419 'resourceext':230 'retriev':322 'review':482 'role':402 'rust':5,12,26,58,85,111,172,214,224,261,278 'safe':108 'safeti':492 'scope':463 'sdk':10,24 'secur':34,45,65,114,175,227,281,367 'self':131 'set':362,382 'sh':41 'skill':439,455 'skill-azure-keyvault-certificates-rust' 'soft':334,390 'sourc':426 'source-sickn33' 'specif':477 'stop':483 'storag':35 'stream':242 'subject':140 'substitut':473 'success':495 'support':359 'task':459 'test':479 'thumbprint':103 'topic-agent-skills' 'topic-agentic-skills' 'topic-ai-agent-skills' 'topic-ai-agents' 'topic-ai-coding' 'topic-ai-workflows' 'topic-antigravity' 'topic-antigravity-skills' 'topic-claude-code' 'topic-claude-code-skills' 'topic-codex-cli' 'topic-codex-skills' 'treat':468 'trystreamext':233 'updat':275,289,295,328 'updatecertificatepolicyparamet':285,288 'url':55,107 'use':13,59,63,86,112,173,225,231,279,344,352,371,437,453 'valid':364,478 'variabl':51 'vault':8,22,32,395,401,404,412 'vault.azure.net':56,78 'workflow':445 'x509':135 'x509certificateproperties':121,139","prices":[{"id":"5ef1c460-08d8-4542-b11f-38823ef3dfec","listingId":"c2cd72c4-5d8a-4302-b482-ecd931760644","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"sickn33","category":"antigravity-awesome-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T21:32:33.465Z"}],"sources":[{"listingId":"c2cd72c4-5d8a-4302-b482-ecd931760644","source":"github","sourceId":"sickn33/antigravity-awesome-skills/azure-keyvault-certificates-rust","sourceUrl":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-keyvault-certificates-rust","isPrimary":false,"firstSeenAt":"2026-04-18T21:32:33.465Z","lastSeenAt":"2026-04-24T18:50:31.077Z"}],"details":{"listingId":"c2cd72c4-5d8a-4302-b482-ecd931760644","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"sickn33","slug":"azure-keyvault-certificates-rust","github":{"repo":"sickn33/antigravity-awesome-skills","stars":34928,"topics":["agent-skills","agentic-skills","ai-agent-skills","ai-agents","ai-coding","ai-workflows","antigravity","antigravity-skills","claude-code","claude-code-skills","codex-cli","codex-skills","cursor","cursor-skills","developer-tools","gemini-cli","gemini-skills","kiro","mcp","skill-library"],"license":"mit","html_url":"https://github.com/sickn33/antigravity-awesome-skills","pushed_at":"2026-04-24T06:41:17Z","description":"Installable GitHub library of 1,400+ agentic skills for Claude Code, Cursor, Codex CLI, Gemini CLI, Antigravity, and more. Includes installer CLI, bundles, workflows, and official/community skill collections.","skill_md_sha":"4c1595dcc7a0173ec7db55a62babf02503cdeabf","skill_md_path":"skills/azure-keyvault-certificates-rust/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/sickn33/antigravity-awesome-skills/tree/main/skills/azure-keyvault-certificates-rust"},"layout":"multi","source":"github","category":"antigravity-awesome-skills","frontmatter":{"name":"azure-keyvault-certificates-rust","description":"Azure Key Vault Certificates SDK for Rust. Use for creating, importing, and managing certificates."},"skills_sh_url":"https://skills.sh/sickn33/antigravity-awesome-skills/azure-keyvault-certificates-rust"},"updatedAt":"2026-04-24T18:50:31.077Z"}}