Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Key Vault Certificate content_type #17492

Closed
Jordan0928 opened this issue Mar 22, 2021 · 3 comments
Closed

Key Vault Certificate content_type #17492

Jordan0928 opened this issue Mar 22, 2021 · 3 comments
Assignees
Labels
Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. KeyVault question The issue doesn't require a change to the product in order to be resolved. Most issues start as that

Comments

@Jordan0928
Copy link

Hello,

I'm frustrated I couldn't determine certificate contentType (pkcs12 or pem) so I can use appropriate mechanisms to parse certificate content into certificate, private key and CA certificates in PEM format.

I am using Azure python SDK to read key vault certificate, private key, and CA in PEM format. The code that I use to decode the content depends on whether the certificate is imported to key vault in PEM or PKCS12 format.

I know "content_type" is used in certificate policy, and adding this to the certificate attributes can simplify my work. I can use "certificate.conten_type" from python to determine the certificate type (pem or pkcs12) similar to other attributes such as certificate.name.

I could use openssl to determine the format of the certificate but it requires extra code and latency. Certificate attribute can solve extra content parsing to determine just type.

@ghost ghost added needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. customer-reported Issues that are reported by GitHub users external to the Azure organization. question The issue doesn't require a change to the product in order to be resolved. Most issues start as that labels Mar 22, 2021
@mccoyp
Copy link
Member

mccoyp commented Mar 23, 2021

Thanks for opening this issue! As you've noted, a certificate's content type is part of its policy. That's reflected in the Key Vault Certificates library:

>>> cert = client.get_certificate(cert_name)
>>> cert.policy.content_type
<CertificateContentType.pkcs12: 'application/x-pkcs12'>

Is this what you're looking for?

@mccoyp mccoyp self-assigned this Mar 23, 2021
@mccoyp mccoyp added Client This issue points to a problem in the data-plane of the library. KeyVault needs-author-feedback Workflow: More information is needed from author to address the issue. and removed needs-triage Workflow: This is a new issue that needs to be triaged to the appropriate team. labels Mar 23, 2021
@Jordan0928
Copy link
Author

Jordan0928 commented Mar 23, 2021

Perfect!!!

I was getting ": AttributeError: 'CertificateProperties' object has no attribute 'policy'". Looks like I was trying to get the content_type from CertificateProperties.

cert_client = CertificateClient(vault_url="https://xxx.vault.azure.net/", credential=credential)
certs = cert_client.list_properties_of_certificates()
for cert in certs:
print(cert.name)
print(cert.policy.content_type)

Modified like you suggested:
cert_client = CertificateClient(vault_url="https://xxx.vault.azure.net/", credential=credential)
certs = cert_client.list_properties_of_certificates()
for cert in certs:
print(cert.name)
mycert = cert_client.get_certificate(cert.name)
print(mycert.policy.content_type)

output:
azureCert
CertificateContentType.pkcs12
azureCert2
CertificateContentType.pem

Thank you!

@ghost ghost added needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team and removed needs-author-feedback Workflow: More information is needed from author to address the issue. labels Mar 23, 2021
@mccoyp
Copy link
Member

mccoyp commented Mar 23, 2021

You're very welcome; I'm glad you were able to resolve it! I'll go ahead and close this issue.

@mccoyp mccoyp closed this as completed Mar 23, 2021
@mccoyp mccoyp removed the needs-team-attention Workflow: This issue needs attention from Azure service team or SDK team label Mar 23, 2021
openapi-sdkautomation bot pushed a commit to AzureSDKAutomation/azure-sdk-for-python that referenced this issue Feb 16, 2022
Microsoft.App version 2022-01-01-preview (Azure#17820)

* New Swagger Spec File

* New Swagger Example Spec File

* New Readme Config File

* New Azure AZ Readme Config File

* New Azure CLI Readme Config File

* New Go Language Readme Config File

* New Python Language Readme Config File

* New Typescript Language Readme Config File

* New C# Language Readme Config File

* Adding new API version 2022-01-01-preview for the new service Microsoft.App (Azure#17135)

* Adding swagger and examples

* Fix samples

* Fix linting errors

* fix errors

* fix more errors

* prettier fixes

* Fix the VNET properties

* fix the vnet props

* Attempt to remove x-ms-identifiers

* Add x-ms-identifiers back

* Revert "Add x-ms-identifiers back"

This reverts commit 44525ab5ace45d9cb1bc85bee2751f015dcaffc6.

* Addsourcecontrolapis (Azure#17287)

* add sourcecontrol apis

* remove space

* prettier fix

* typo

* avocado fix

* lint fix

* add replicas apis (Azure#17501)

* Remove Dapr components from ContainerApp spec. Not breaking because the version hasn't been released yet. (Azure#17479)

* Remove dapr components from the ContainerApp object

* Fix example

* add descriptions

* fix

* change the auto-rest parameters

* Support volume mounts for containerApp (Azure#17530)

* add volume mounts

* add identifier

* refine volume definition

* Fix samples (Azure#17534)

* Adding managed identity (Azure#17569)

* Adding managed identity

* prettier fix.

* Microsof.app 2022 01 01 preview/add custom domains (Azure#17385)

* add support for Custom domains and certificates

* add Certificates

* Ccertificate as child resource of Managed Env.

* Support default custom domain

* PUT/DELETE certificate are not long-running

* Add Custom Domain Verification Id

* domains for all revisions and adding examples

* missing examples

* one more missing example

* Examples+missing paths

* Adding missing envelope properties

* Addressing PR comments

* Removing AKV and Free cert related properties

* Prettier and semantic validation fixes

* Fixing semantic validations and examples

* More fixes

* Addressing more PR comments

* Updating examples

* fixing type

* fixing types

* Extra properties and responses

* misplaced response

* whitespace

* fix security section

* fixing ManageEnvironment securityDefinitions

* add 204 delete response

* Removing virtual IP and IP Based option

* change modelAsString

* Addressing ARM PR comments

* Removing 404 response from example

* renaming custom hostname analysis operation

* mark certificate as tracked resource

* fix sample

* Use Certificate Id instead of Certificate name

Co-authored-by: Ruslan Yakushev 🚴 <ruslany@microsoft.com>
Co-authored-by: vinisoto <vinisoto@hotmail.com>

* Add new properties for ContainerApp (Azure#17483)

* add ephemeral storage

* add outbound ip

* add listsecrets

* fix CI

* fix example

* fix

* add identifier

* fix

* add example

* mars as secret

* Add storages operation for managedEnvironment (Azure#17545)

* add storage

* fix

* fix typo

* Add EasyAuth configuration APIs for ContainerApp (Azure#17492)

* Add Easy Auth Config related APIs for ContainerApp

* Use common type ProxyResource

* Update description

* update per validation

* typo fix

* fix validation error

* Update sample and description

* Update because ARM prefer string than boolean

* Add static web identity provider

* Add container probes (Azure#17535)

* Add container probes

* minor fix

* Use execute instead of exec'd, add identifier

* remove exec from preview

* use integer instead of intorstring

* Add `internal` property under VnetConfiguration for internalOnly environments (Azure#17656)

* Add internal property under VnetConfiguration for internalOnly environments

* Update examples

* Add Dapr Components collection APIs (Azure#17552)

* Add daprComponents

* update readme

* Fix linting errors

* More lint fixes

* prettier fixes

* make dapr component a tracked resource

* fix the patch

* fix lint errors

* Revert "fix lint errors"

This reverts commit 045f1d94bddf3527eab98b7a376070ab30fdd760.

* Revert "fix the patch"

This reverts commit 14521103e848e09762185f832c0270c16ed16efd.

* Revert "make dapr component a tracked resource"

This reverts commit 239268eda070ff37f26e8a772adacdd26bbf0937.

* Fix linter issues

* fix wrong fix

* fix linter

* fix the operationids (Azure#17809)

* correct resource name (Azure#17846)

* Add custom open id providers support (Azure#17855)

* Add custom open id providers support

* Update description

Co-authored-by: Xingjian Wang <79332479+xwang971@users.noreply.github.com>
Co-authored-by: Zunli Hu <zuh@microsoft.com>
Co-authored-by: Vaclav Turecek <vturecek@microsoft.com>
Co-authored-by: Vini Soto <18271663+vinisoto@users.noreply.github.com>
Co-authored-by: vinisoto <vinisoto@hotmail.com>
Co-authored-by: erich-wang <eriwan@microsoft.com>
Co-authored-by: Mike Vu <mdhvu@uwaterloo.ca>
Co-authored-by: Sanchit Mehta <sanmeht@microsoft.com>
@github-actions github-actions bot locked and limited conversation to collaborators Apr 12, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Client This issue points to a problem in the data-plane of the library. customer-reported Issues that are reported by GitHub users external to the Azure organization. KeyVault question The issue doesn't require a change to the product in order to be resolved. Most issues start as that
Projects
None yet
Development

No branches or pull requests

2 participants