Skip to main content

azure-keyvault-certificates-rust

Azure Key Vault Certificates SDK for Rust. Use for creating, importing, and managing certificates. Triggers: "keyvault certificates rust", "CertificateClient rust", "create certificate rust", "import certificate rust".

설치로 이동

소스 정보

저장소
LongLeo287/OmniClaw
최근 소스 활동
2026년 4월 11일 09:08
감지된 SKILL.md 언어
영어
스타
7
포크
0

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

파일 탐색기
5 개 파일

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
azure_keyvault_certificates_rust
description
Azure Key Vault Certificates SDK for Rust. Use for creating, importing, and managing certificates. Triggers: "keyvault certificates rust", "CertificateClient rust", "create certificate rust", "import certificate rust".
license
MIT
metadata
{"author":"Microsoft","version":"1.0.0","package":"azure_security_keyvault_certificates"}
# Azure Key Vault Certificates SDK for Rust Client library for Azure Key Vault Certificates — secure storage and management of certificates. ## Installation ```sh cargo add azure_security_keyvault_certificates azure_identity ``` ## Environment Variables ```bash AZURE_KEYVAULT_URL=https://<vault-name>.vault.azure.net/ ``` ## Authentication ```rust 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 ```rust 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 ```rust 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 ```rust 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 ```rust client.delete_certificate("certificate-name", None).await?; ``` ### List Certificates ```rust 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 ```rust let policy = client .get_certificate_policy("certificate-name", None) .await? .into_model()?; ``` ### Update Certificate Policy ```rust 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 certificates - `Key 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 |
GitHub에서 보기